Step
*
of Lemma
mFOL-subst-abstract
∀[Dom:Type]. ∀[S:FOStruct(Dom)]. ∀[fmla:mFOL()]. ∀[x,y:ℤ]. ∀[a:FOAssignment(mFOL-freevars(fmla[x/y]),Dom)].
(Dom,S,a |= mFOL-abstract(fmla[x/y]) = Dom,S,a[y := a x] |= mFOL-abstract(fmla) ∈ ℙ)
BY
{ (Auto
THEN MoveToConcl (-1)
THEN Unfold `mFOL-subst` 0
THEN (GenConclTerm ⌜mFOL-rename-bound-to-avoid(fmla;[x])⌝⋅ THENA Auto)
THEN Thin (-1)
THEN D -1
THEN (D 0 THENA Auto)
THEN ExRepD
THEN (RWO "l_disjoint_singleton2" (-2) THENA Auto)
THEN Assert ⌜a[y := a x] = if y ∈b mFOL-freevars(v) then a[y := a x] else a fi ∈ FOAssignment(mFOL-freevars(v),Dom)⌝
⋅) }
1
.....assertion.....
1. Dom : Type
2. S : FOStruct(Dom)
3. fmla : mFOL()
4. x : ℤ
5. y : ℤ
6. v : mFOL()
7. mFOL-freevars(v) = mFOL-freevars(fmla) ∈ (ℤ List)
8. mFOL-abstract(v) = mFOL-abstract(fmla) ∈ AbstractFOFormula(mFOL-freevars(fmla))
9. ¬(x ∈ mFOL-boundvars(v))
10. a : FOAssignment(mFOL-freevars(mFOL-rename(v;y;x)),Dom)
⊢ a[y := a x] = if y ∈b mFOL-freevars(v) then a[y := a x] else a fi ∈ FOAssignment(mFOL-freevars(v),Dom)
2
1. Dom : Type
2. S : FOStruct(Dom)
3. fmla : mFOL()
4. x : ℤ
5. y : ℤ
6. v : mFOL()
7. mFOL-freevars(v) = mFOL-freevars(fmla) ∈ (ℤ List)
8. mFOL-abstract(v) = mFOL-abstract(fmla) ∈ AbstractFOFormula(mFOL-freevars(fmla))
9. ¬(x ∈ mFOL-boundvars(v))
10. a : FOAssignment(mFOL-freevars(mFOL-rename(v;y;x)),Dom)
11. a[y := a x] = if y ∈b mFOL-freevars(v) then a[y := a x] else a fi ∈ FOAssignment(mFOL-freevars(v),Dom)
⊢ Dom,S,a |= mFOL-abstract(mFOL-rename(v;y;x)) = Dom,S,a[y := a x] |= mFOL-abstract(fmla) ∈ ℙ
Latex:
Latex:
\mforall{}[Dom:Type]. \mforall{}[S:FOStruct(Dom)]. \mforall{}[fmla:mFOL()]. \mforall{}[x,y:\mBbbZ{}].
\mforall{}[a:FOAssignment(mFOL-freevars(fmla[x/y]),Dom)].
(Dom,S,a |= mFOL-abstract(fmla[x/y]) = Dom,S,a[y := a x] |= mFOL-abstract(fmla))
By
Latex:
(Auto
THEN MoveToConcl (-1)
THEN Unfold `mFOL-subst` 0
THEN (GenConclTerm \mkleeneopen{}mFOL-rename-bound-to-avoid(fmla;[x])\mkleeneclose{}\mcdot{} THENA Auto)
THEN Thin (-1)
THEN D -1
THEN (D 0 THENA Auto)
THEN ExRepD
THEN (RWO "l\_disjoint\_singleton2" (-2) THENA Auto)
THEN Assert \mkleeneopen{}a[y := a x] = if y \mmember{}\msubb{} mFOL-freevars(v) then a[y := a x] else a fi \mkleeneclose{}\mcdot{})
Home
Index