Step * 3 1 of Lemma alpha-avoid-equivalent


1. opr Type
2. term(opr)
3. 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()))
7. a1 {v:varname()| (v ∈ all-vars(t))} 
8. a2 {v:varname()| (v ∈ all-vars(t))} 
9. varname()
10. apply-alist(VarDeq;alpha-rename-alist(t;L);a1) (inl x) ∈ (varname()?)
11. x1 varname()
12. apply-alist(VarDeq;alpha-rename-alist(t;L);a2) (inl x1) ∈ (varname()?)
⊢ (x x1 ∈ varname())  (a1 a2 ∈ {v:varname()| (v ∈ all-vars(t))} )
BY
((FLemma `apply-alist-inl` [-3] THENA Auto) THEN (FLemma `apply-alist-inl` [-2] THENA Auto)) }

1
1. opr Type
2. term(opr)
3. 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()))
7. a1 {v:varname()| (v ∈ all-vars(t))} 
8. a2 {v:varname()| (v ∈ all-vars(t))} 
9. varname()
10. apply-alist(VarDeq;alpha-rename-alist(t;L);a1) (inl x) ∈ (varname()?)
11. x1 varname()
12. apply-alist(VarDeq;alpha-rename-alist(t;L);a2) (inl x1) ∈ (varname()?)
13. (<a1, x> ∈ alpha-rename-alist(t;L))
14. (<a2, x1> ∈ alpha-rename-alist(t;L))
⊢ (x x1 ∈ varname())  (a1 a2 ∈ {v:varname()| (v ∈ all-vars(t))} )


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.  \mforall{}x:\{v:varname()|  (v  \mmember{}  all-vars(t))\} 
          (((alist-map(VarDeq;alpha-rename-alist(t;L))  x)  =  nullvar())  {}\mRightarrow{}  (x  =  nullvar()))
7.  a1  :  \{v:varname()|  (v  \mmember{}  all-vars(t))\} 
8.  a2  :  \{v:varname()|  (v  \mmember{}  all-vars(t))\} 
9.  x  :  varname()
10.  apply-alist(VarDeq;alpha-rename-alist(t;L);a1)  =  (inl  x)
11.  x1  :  varname()
12.  apply-alist(VarDeq;alpha-rename-alist(t;L);a2)  =  (inl  x1)
\mvdash{}  (x  =  x1)  {}\mRightarrow{}  (a1  =  a2)


By


Latex:
((FLemma  `apply-alist-inl`  [-3]  THENA  Auto)  THEN  (FLemma  `apply-alist-inl`  [-2]  THENA  Auto))




Home Index