Step * of Lemma FOL-subst-abstract

[Dom:Type]. ∀[S:FOStruct+{i:l}(Dom)]. ∀[fmla:mFOL()]. ∀[x,y:ℤ]. ∀[a:FOAssignment(mFOL-freevars(fmla[x/y]),Dom)].
  (Dom,S,a +|= FOL-abstract(fmla[x/y]) Dom,S,a[y := x] +|= FOL-abstract(fmla) ∈ ℙ)
BY
(Auto
   THEN MoveToConcl (-1)
   THEN Unfold `FOL-subst` 0
   THEN (GenConclTerm ⌜FOL-rename-bound-to-avoid(fmla;[x])⌝⋅ THENA Auto)
   THEN Thin (-1)
   THEN -1
   THEN (D THENA Auto)
   THEN ExRepD
   THEN (RWO "l_disjoint_singleton2" (-2) THENA Auto)
   THEN Assert ⌜a[y := x] if y ∈b mFOL-freevars(v) then a[y := x] else fi  ∈ FOAssignment(mFOL-freevars(v),Dom)⌝
   ⋅}

1
.....assertion..... 
1. Dom Type
2. FOStruct+{i:l}(Dom)
3. fmla mFOL()
4. : ℤ
5. : ℤ
6. mFOL()
7. mFOL-freevars(v) mFOL-freevars(fmla) ∈ (ℤ List)
8. FOL-abstract(v) FOL-abstract(fmla) ∈ AbstractFOFormula+(mFOL-freevars(fmla))
9. ¬(x ∈ mFOL-boundvars(v))
10. FOAssignment(mFOL-freevars(mFOL-rename(v;y;x)),Dom)
⊢ a[y := x] if y ∈b mFOL-freevars(v) then a[y := x] else fi  ∈ FOAssignment(mFOL-freevars(v),Dom)

2
1. Dom Type
2. FOStruct+{i:l}(Dom)
3. fmla mFOL()
4. : ℤ
5. : ℤ
6. mFOL()
7. mFOL-freevars(v) mFOL-freevars(fmla) ∈ (ℤ List)
8. FOL-abstract(v) FOL-abstract(fmla) ∈ AbstractFOFormula+(mFOL-freevars(fmla))
9. ¬(x ∈ mFOL-boundvars(v))
10. FOAssignment(mFOL-freevars(mFOL-rename(v;y;x)),Dom)
11. a[y := x] if y ∈b mFOL-freevars(v) then a[y := x] else fi  ∈ FOAssignment(mFOL-freevars(v),Dom)
⊢ Dom,S,a +|= FOL-abstract(mFOL-rename(v;y;x)) Dom,S,a[y := x] +|= FOL-abstract(fmla) ∈ ℙ


Latex:


Latex:
\mforall{}[Dom:Type].  \mforall{}[S:FOStruct+\{i:l\}(Dom)].  \mforall{}[fmla:mFOL()].  \mforall{}[x,y:\mBbbZ{}].
\mforall{}[a:FOAssignment(mFOL-freevars(fmla[x/y]),Dom)].
    (Dom,S,a  +|=  FOL-abstract(fmla[x/y])  =  Dom,S,a[y  :=  a  x]  +|=  FOL-abstract(fmla))


By


Latex:
(Auto
  THEN  MoveToConcl  (-1)
  THEN  Unfold  `FOL-subst`  0
  THEN  (GenConclTerm  \mkleeneopen{}FOL-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