Step
*
of Lemma
alpha-avoid-binders-disjoint
No Annotations
∀[opr:Type]. ∀L:varname() List. ((¬(nullvar() ∈ L)) 
⇒ (∀t:term(opr). binders-disjoint(opr;L;alpha-avoid(L;t))))
BY
{ ((Intros THEN Unfold `alpha-avoid` 0) THEN BLemma `alpha-rename-binders-disjoint` THEN Auto) }
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()
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())
⊢ ¬(alist-map(VarDeq;alpha-rename-alist(t;L)) x ∈ L)
Latex:
Latex:
No  Annotations
\mforall{}[opr:Type]
    \mforall{}L:varname()  List
        ((\mneg{}(nullvar()  \mmember{}  L))  {}\mRightarrow{}  (\mforall{}t:term(opr).  binders-disjoint(opr;L;alpha-avoid(L;t))))
By
Latex:
((Intros  THEN  Unfold  `alpha-avoid`  0)  THEN  BLemma  `alpha-rename-binders-disjoint`  THEN  Auto)
Home
Index