Substitution and Helper Lemmas #
The lemmas here are mostly from Sections 2.1 and 2.2.
Single-step replacing #
Replace atomic proposition x
by ψ
in a formula.
Equations
Instances For
Replace atomic proposition x
by ψ
in a program.
Equations
Instances For
theorem
repl_in_list_non_occ_eq
{x : ℕ}
{ρ : Formula}
(F : List Formula)
:
Sum.inl x ∉ Vocab.fromList (List.map Formula.voc F) → List.map (repl_in_F x ρ) F = F
Overwrite the valuation of x
with the current value of ψ
in a model.
Equations
Instances For
theorem
repl_in_model_rel_iff
(x : ℕ)
(ψ : Formula)
(α : Program)
{W : Type}
(M : KripkeModel W)
(w v : W)
:
theorem
repl_in_disMap
{α : Type u_1}
(x : ℕ)
(ρ : Formula)
(L : List α)
(p : α → Prop)
(f : α → Formula)
[DecidablePred p]
:
Cancellation of replacements #
Replacement of atoms in tautologies #
Simultaneous Substitutions #
Apply substitution σ
to formula φ
.
Equations
- subst_in_F σ Formula.bottom = ⊥
- subst_in_F σ (·c) = σ c
- subst_in_F σ (~φ) = (~subst_in_F σ φ)
- subst_in_F σ (φ1⋀φ2) = subst_in_F σ φ1⋀subst_in_F σ φ2
- subst_in_F σ (⌈α⌉φ) = ⌈subst_in_P σ α⌉subst_in_F σ φ
Instances For
Apply substitution σ
to program α
.
Equations
- subst_in_P σ (·c) = ·c
- subst_in_P σ (α;'β) = (subst_in_P σ α;'subst_in_P σ β)
- subst_in_P σ (α⋓β) = (subst_in_P σ α⋓subst_in_P σ β)
- subst_in_P σ (∗α) = (∗subst_in_P σ α)
- subst_in_P σ (?'φ) = (?'subst_in_F σ φ)
Instances For
Overwrite the valuation in M
with the substitution σ
.
Equations
Instances For
theorem
substitutionLemmaRel
(σ : Substitution)
(α : Program)
{W : Type}
(M : KripkeModel W)
(w v : W)
: