Step * 2 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. {v:varname()| (v ∈ all-vars(t))} 
7. (alist-map(VarDeq;alpha-rename-alist(t;L)) x) nullvar() ∈ varname()
⊢ nullvar() ∈ varname()
BY
((MoveToConcl (-1) THEN Unfold `alist-map` 0) THEN Reduce 0) }

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. {v:varname()| (v ∈ all-vars(t))} 
⊢ (case apply-alist(VarDeq;alpha-rename-alist(t;L);x) of inl(x') => x' inr(_) => nullvar() ∈ varname())
 (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.  (alist-map(VarDeq;alpha-rename-alist(t;L))  x)  =  nullvar()
\mvdash{}  x  =  nullvar()


By


Latex:
((MoveToConcl  (-1)  THEN  Unfold  `alist-map`  0)  THEN  Reduce  0)




Home Index