Step
*
2
of Lemma
alpha-avoid-binders-disjoint
1. opr : Type
2. L : varname() List
3. ¬(nullvar() ∈ L)
4. t : term(opr)
5. x : {v:varname()| (v ∈ all-vars(t))} 
6. ((alist-map(VarDeq;alpha-rename-alist(t;L)) x) = nullvar() ∈ varname()) 
⇒ (x = nullvar() ∈ varname())
⊢ ¬(alist-map(VarDeq;alpha-rename-alist(t;L)) x ∈ L)
BY
{ ((RepUR ``alist-map`` 0 THEN GenConclAtAddr [1;1;1]) THEN D -2 THEN Reduce 0) }
1
1. opr : Type
2. L : varname() List
3. ¬(nullvar() ∈ L)
4. t : term(opr)
5. x : {v:varname()| (v ∈ all-vars(t))} 
6. ((alist-map(VarDeq;alpha-rename-alist(t;L)) x) = nullvar() ∈ varname()) 
⇒ (x = nullvar() ∈ varname())
7. x1 : varname()
8. apply-alist(VarDeq;alpha-rename-alist(t;L);x) = (inl x1) ∈ (varname()?)
⊢ ¬(x1 ∈ L)
2
1. opr : Type
2. L : varname() List
3. ¬(nullvar() ∈ L)
4. t : term(opr)
5. x : {v:varname()| (v ∈ all-vars(t))} 
6. ((alist-map(VarDeq;alpha-rename-alist(t;L)) x) = nullvar() ∈ varname()) 
⇒ (x = nullvar() ∈ varname())
7. y : Unit
8. apply-alist(VarDeq;alpha-rename-alist(t;L);x) = (inr y ) ∈ (varname()?)
⊢ ¬(x ∈ L)
Latex:
Latex:
1.  opr  :  Type
2.  L  :  varname()  List
3.  \mneg{}(nullvar()  \mmember{}  L)
4.  t  :  term(opr)
5.  x  :  \{v:varname()|  (v  \mmember{}  all-vars(t))\} 
6.  ((alist-map(VarDeq;alpha-rename-alist(t;L))  x)  =  nullvar())  {}\mRightarrow{}  (x  =  nullvar())
\mvdash{}  \mneg{}(alist-map(VarDeq;alpha-rename-alist(t;L))  x  \mmember{}  L)
By
Latex:
((RepUR  ``alist-map``  0  THEN  GenConclAtAddr  [1;1;1])  THEN  D  -2  THEN  Reduce  0)
Home
Index