Definitions and theorems relating propositional formulas and functions to variables
Main definitions #
PropForm.vars - the set of syntactic variables of a formula
PropFun.semVars - the set of semantic variables of a function
PropFun.equivalentOver X - two functions are equivalent over a set X of variables
PropFun.hasUniqueExtension X Y - the assignments to a function extend uniquely from a set X to
a set Y of variables
NOTE: Semantic notions are not generally defined on PropForms.
They are expected to be used on PropForms by composing with ⟦-⟧.
NOTE: We try to delay talking about dependently-typed functions {x // x ∈ X} → Bool
for as long as possible by developing the theory in terms of total assignments ν → Bool.
Syntactic Variables #
Variables appearing in the formula. Sometimes called its "support set".
Equations
Instances For
Semantic Variables #
The semantic variables of φ are those it is sensitive to as a Boolean function.
Unlike vars, this set is stable under equivalence of formulas.
Instances For
Any two assignments with opposing evaluations on φ disagree on a semantic variable of φ.
Semantic variable set of a conjunction is contained in the union of each sub-prop's semantic variables.
Note that there aren't any obvious lower bounds on this set. Variables which are semantic in both sub-props may not be semantic:
φ₁ = a ∨ b(bis semantic)φ₂ = a ∨ ¬b(bis semantic)φ₁ ⊓ φ₂ = a(bis NOT semantic) And variables in just one sub-prop may not be semantic:φ₁ = a ∨ b(bis semantic)φ₂ = a(bis NOT semantic)φ₁ ⊓ φ₂ = a(bis NOT semantic)
TODO: prove equality holds if Disjoint φ₁.semVars φ₂.semVars
Semantic variable set of a conjunction is contained in the union of each sub-prop's semantic variables.
Note that there aren't any obvious lower bounds on this set. See [semVars_conj] for more details.
Equivalence Over Sets #
Two functions φ₁ and φ₂ are equivalent over X when for every assignment τ, models of φ₁ extending τ over X are in bijection with models of φ₂ extending τ over X.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Trestle.Model.PropFun.extendsOver X φ₁ φ₂ = ∀ (σ₁ : Trestle.Model.PropAssignment ν), σ₁ ⊨ φ₁ → ∃ (σ₂ : Trestle.Model.PropAssignment ν), Trestle.Model.PropAssignment.agreeOn X σ₂ σ₁ ∧ σ₂ ⊨ φ₂
Instances For
Extension Over Sets #
A function has the unique extension property from X to Y (both sets of variables) when any
satisfying assignment, if it exists, is uniquely determined on Y by its values on X. Formally,
any two satisfying assignments which agree on X must also agree on Y.
Equations
- One or more equations did not get rendered due to their size.