Step
*
2
1
1
of Lemma
alpha-avoid-equivalent
1. opr : Type
2. t : term(opr)
3. L : varname() List
4. ¬(nullvar() ∈ L)
5. ∀x:{v:varname()| (v ∈ all-vars(t))} 
     ((alist-map(VarDeq;alpha-rename-alist(t;L)) x ∈ free-vars(t))
     
⇒ ((alist-map(VarDeq;alpha-rename-alist(t;L)) x) = x ∈ varname()))
6. x : {v:varname()| (v ∈ all-vars(t))} 
7. x1 : varname()
8. apply-alist(VarDeq;alpha-rename-alist(t;L);x) = (inl x1) ∈ (varname()?)
9. x1 = nullvar() ∈ varname()
⊢ x = nullvar() ∈ varname()
BY
{ (FLemma `apply-alist-inl` [-2] THENA Auto) }
1
1. opr : Type
2. t : term(opr)
3. L : varname() List
4. ¬(nullvar() ∈ L)
5. ∀x:{v:varname()| (v ∈ all-vars(t))} 
     ((alist-map(VarDeq;alpha-rename-alist(t;L)) x ∈ free-vars(t))
     
⇒ ((alist-map(VarDeq;alpha-rename-alist(t;L)) x) = x ∈ varname()))
6. x : {v:varname()| (v ∈ all-vars(t))} 
7. x1 : varname()
8. apply-alist(VarDeq;alpha-rename-alist(t;L);x) = (inl x1) ∈ (varname()?)
9. x1 = nullvar() ∈ varname()
10. (<x, x1> ∈ alpha-rename-alist(t;L))
⊢ x = nullvar() ∈ varname()
Latex:
Latex:
1.  opr  :  Type
2.  t  :  term(opr)
3.  L  :  varname()  List
4.  \mneg{}(nullvar()  \mmember{}  L)
5.  \mforall{}x:\{v:varname()|  (v  \mmember{}  all-vars(t))\} 
          ((alist-map(VarDeq;alpha-rename-alist(t;L))  x  \mmember{}  free-vars(t))
          {}\mRightarrow{}  ((alist-map(VarDeq;alpha-rename-alist(t;L))  x)  =  x))
6.  x  :  \{v:varname()|  (v  \mmember{}  all-vars(t))\} 
7.  x1  :  varname()
8.  apply-alist(VarDeq;alpha-rename-alist(t;L);x)  =  (inl  x1)
9.  x1  =  nullvar()
\mvdash{}  x  =  nullvar()
By
Latex:
(FLemma  `apply-alist-inl`  [-2]  THENA  Auto)
Home
Index