Step
*
of Lemma
mFOL-freevars-of-rename
No Annotations
∀fmla:mFOL(). ∀old,new:ℤ.
  ∀x:ℤ
    ((x ∈ mFOL-freevars(mFOL-rename(fmla;old;new)))
    
⇐⇒ ((¬(x = old ∈ ℤ)) ∧ (x ∈ mFOL-freevars(fmla))) ∨ ((x = new ∈ ℤ) ∧ (old ∈ mFOL-freevars(fmla)))) 
  supposing ¬(new ∈ mFOL-boundvars(fmla))
BY
{ ((BLemma `mFOL-induction` THENA Auto)
   THEN RepUR ``mFOL-freevars mFOL-boundvars mFOL-rename`` 0
   THEN Try (Fold `mFOL-rename` 0)
   THEN Try (Fold `mFOL-freevars` 0)
   THEN Try (Fold `mFOL-boundvars` 0)
   THEN (UnivCD THENA Auto)) }
1
1. name : Atom
2. vars : ℤ List
3. old : ℤ
4. new : ℤ
5. ¬(new ∈ [])
6. x : ℤ
⊢ (x ∈ remove-repeats(IntDeq;map(λv.if (v =z old) then new else v fi vars)))
⇐⇒ ((¬(x = old ∈ ℤ)) ∧ (x ∈ remove-repeats(IntDeq;vars))) ∨ ((x = new ∈ ℤ) ∧ (old ∈ remove-repeats(IntDeq;vars)))
2
1. knd : Atom
2. left : mFOL()
3. right : mFOL()
4. ∀old,new:ℤ.
     ∀x:ℤ
       ((x ∈ mFOL-freevars(mFOL-rename(left;old;new)))
       
⇐⇒ ((¬(x = old ∈ ℤ)) ∧ (x ∈ mFOL-freevars(left))) ∨ ((x = new ∈ ℤ) ∧ (old ∈ mFOL-freevars(left)))) 
     supposing ¬(new ∈ mFOL-boundvars(left))
5. ∀old,new:ℤ.
     ∀x:ℤ
       ((x ∈ mFOL-freevars(mFOL-rename(right;old;new)))
       
⇐⇒ ((¬(x = old ∈ ℤ)) ∧ (x ∈ mFOL-freevars(right))) ∨ ((x = new ∈ ℤ) ∧ (old ∈ mFOL-freevars(right)))) 
     supposing ¬(new ∈ mFOL-boundvars(right))
6. old : ℤ
7. new : ℤ
8. ¬(new ∈ mFOL-boundvars(left) ⋃ mFOL-boundvars(right))
9. x : ℤ
⊢ (x ∈ val-union(IntDeq;mFOL-freevars(mFOL-rename(left;old;new));mFOL-freevars(mFOL-rename(right;old;new))))
⇐⇒ ((¬(x = old ∈ ℤ)) ∧ (x ∈ val-union(IntDeq;mFOL-freevars(left);mFOL-freevars(right))))
    ∨ ((x = new ∈ ℤ) ∧ (old ∈ val-union(IntDeq;mFOL-freevars(left);mFOL-freevars(right))))
3
1. isall : 𝔹
2. var : ℤ
3. body : mFOL()
4. ∀old,new:ℤ.
     ∀x:ℤ
       ((x ∈ mFOL-freevars(mFOL-rename(body;old;new)))
       
⇐⇒ ((¬(x = old ∈ ℤ)) ∧ (x ∈ mFOL-freevars(body))) ∨ ((x = new ∈ ℤ) ∧ (old ∈ mFOL-freevars(body)))) 
     supposing ¬(new ∈ mFOL-boundvars(body))
5. old : ℤ
6. new : ℤ
7. ¬(new ∈ insert(var;mFOL-boundvars(body)))
8. x : ℤ
⊢ (x ∈ filter(λx.(¬b(x =z var));mFOL-freevars(if (var =z old) then body else mFOL-rename(body;old;new) fi )))
⇐⇒ ((¬(x = old ∈ ℤ)) ∧ (x ∈ filter(λx.(¬b(x =z var));mFOL-freevars(body))))
    ∨ ((x = new ∈ ℤ) ∧ (old ∈ filter(λx.(¬b(x =z var));mFOL-freevars(body))))
Latex:
Latex:
No  Annotations
\mforall{}fmla:mFOL().  \mforall{}old,new:\mBbbZ{}.
    \mforall{}x:\mBbbZ{}
        ((x  \mmember{}  mFOL-freevars(mFOL-rename(fmla;old;new)))
        \mLeftarrow{}{}\mRightarrow{}  ((\mneg{}(x  =  old))  \mwedge{}  (x  \mmember{}  mFOL-freevars(fmla)))  \mvee{}  ((x  =  new)  \mwedge{}  (old  \mmember{}  mFOL-freevars(fmla)))) 
    supposing  \mneg{}(new  \mmember{}  mFOL-boundvars(fmla))
By
Latex:
((BLemma  `mFOL-induction`  THENA  Auto)
  THEN  RepUR  ``mFOL-freevars  mFOL-boundvars  mFOL-rename``  0
  THEN  Try  (Fold  `mFOL-rename`  0)
  THEN  Try  (Fold  `mFOL-freevars`  0)
  THEN  Try  (Fold  `mFOL-boundvars`  0)
  THEN  (UnivCD  THENA  Auto))
Home
Index