Step
*
of Lemma
alpha-avoid-equivalent
No Annotations
∀[opr:Type]. ∀t:term(opr). ∀L:varname() List.  alpha-eq-terms(opr;alpha-avoid(L;t);t) supposing ¬(nullvar() ∈ L)
BY
{ (Auto THEN Unfold `alpha-avoid` 0 THEN BLemma `alpha-rename-equivalent` THEN Auto) }
1
1. opr : Type
2. t : term(opr)
3. L : varname() List
4. ¬(nullvar() ∈ L)
5. x : {v:varname()| (v ∈ all-vars(t))} 
6. (alist-map(VarDeq;alpha-rename-alist(t;L)) x ∈ free-vars(t))
⊢ (alist-map(VarDeq;alpha-rename-alist(t;L)) x) = x ∈ varname()
2
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. (alist-map(VarDeq;alpha-rename-alist(t;L)) x) = nullvar() ∈ varname()
⊢ x = nullvar() ∈ varname()
3
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))} 
     (((alist-map(VarDeq;alpha-rename-alist(t;L)) x) = nullvar() ∈ varname()) 
⇒ (x = nullvar() ∈ varname()))
⊢ Inj({v:varname()| (v ∈ all-vars(t))} varname();alist-map(VarDeq;alpha-rename-alist(t;L)))
Latex:
Latex:
No  Annotations
\mforall{}[opr:Type]
    \mforall{}t:term(opr).  \mforall{}L:varname()  List.
        alpha-eq-terms(opr;alpha-avoid(L;t);t)  supposing  \mneg{}(nullvar()  \mmember{}  L)
By
Latex:
(Auto  THEN  Unfold  `alpha-avoid`  0  THEN  BLemma  `alpha-rename-equivalent`  THEN  Auto)
Home
Index