Step
*
1
of Lemma
mFOL-subst-abstract
.....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)
BY
{ (Unfold `FOAssignment` 0 THEN FunExt) }
1
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. x1 : {z:ℤ| (z ∈ mFOL-freevars(v))} 
⊢ (a[y := a x] x1) = (if y ∈b mFOL-freevars(v) then a[y := a x] else a fi  x1) ∈ Dom
2
.....wf..... 
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)
⊢ {z:ℤ| (z ∈ mFOL-freevars(v))}  ∈ Type
Latex:
Latex:
.....assertion..... 
1.  Dom  :  Type
2.  S  :  FOStruct(Dom)
3.  fmla  :  mFOL()
4.  x  :  \mBbbZ{}
5.  y  :  \mBbbZ{}
6.  v  :  mFOL()
7.  mFOL-freevars(v)  =  mFOL-freevars(fmla)
8.  mFOL-abstract(v)  =  mFOL-abstract(fmla)
9.  \mneg{}(x  \mmember{}  mFOL-boundvars(v))
10.  a  :  FOAssignment(mFOL-freevars(mFOL-rename(v;y;x)),Dom)
\mvdash{}  a[y  :=  a  x]  =  if  y  \mmember{}\msubb{}  mFOL-freevars(v)  then  a[y  :=  a  x]  else  a  fi 
By
Latex:
(Unfold  `FOAssignment`  0  THEN  FunExt)
Home
Index