Step * of Lemma alpha-rename-alist-nonnullvar

No Annotations
[opr:Type]
  ∀t:term(opr). ∀L:varname() List. ∀x,x':varname().
    ((<x, x'> ∈ alpha-rename-alist(t;L))  (x' nullvar() ∈ varname())  (nullvar() ∈ L))
BY
(RepeatFor (Intro)
   THEN Unfold `alpha-rename-alist` 0
   THEN ProveListAccumInvWithType ⌜varname() List × ((varname() × varname()) List)⌝⋅
   THEN Try (Complete (Auto))
   THEN Intro
   THEN -1
   THEN Reduce 0
   THEN Intro
   THEN (GenConclTerm ⌜maybe_new_var(x;a1)⌝⋅ THENA Auto)
   THEN (CallByValueReduce THENA Auto)
   THEN Reduce 0
   THEN Auto
   THEN GenListD (-2)
   THEN -2
   THEN Auto
   THEN (EqHD (-2) THENA Auto)
   THEN All Reduce
   THEN (Assert maybe_new_var(x;a1) nullvar() ∈ varname() BY
               Eq)) }

1
1. [opr] Type
2. term(opr)
3. varname() List
4. a1 varname() List
5. a2 (varname() × varname()) List
6. varname()
7. varname()
8. maybe_new_var(x;a1) v ∈ varname()
9. (x ∈ L)
10. ∀x,x':varname().  ((<x, x'> ∈ a2)  (x' nullvar() ∈ varname())  (nullvar() ∈ L))
11. x@0 varname()
12. x' varname()
13. x@0 x ∈ varname()
14. x' v ∈ varname()
15. x' nullvar() ∈ varname()
16. maybe_new_var(x;a1) nullvar() ∈ varname()
⊢ (nullvar() ∈ L)


Latex:


Latex:
No  Annotations
\mforall{}[opr:Type]
    \mforall{}t:term(opr).  \mforall{}L:varname()  List.  \mforall{}x,x':varname().
        ((<x,  x'>  \mmember{}  alpha-rename-alist(t;L))  {}\mRightarrow{}  (x'  =  nullvar())  {}\mRightarrow{}  (nullvar()  \mmember{}  L))


By


Latex:
(RepeatFor  3  (Intro)
  THEN  Unfold  `alpha-rename-alist`  0
  THEN  ProveListAccumInvWithType  \mkleeneopen{}varname()  List  \mtimes{}  ((varname()  \mtimes{}  varname())  List)\mkleeneclose{}\mcdot{}
  THEN  Try  (Complete  (Auto))
  THEN  Intro
  THEN  D  -1
  THEN  Reduce  0
  THEN  Intro
  THEN  (GenConclTerm  \mkleeneopen{}maybe\_new\_var(x;a1)\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  (CallByValueReduce  0  THENA  Auto)
  THEN  Reduce  0
  THEN  Auto
  THEN  GenListD  (-2)
  THEN  D  -2
  THEN  Auto
  THEN  (EqHD  (-2)  THENA  Auto)
  THEN  All  Reduce
  THEN  (Assert  maybe\_new\_var(x;a1)  =  nullvar()  BY
                          Eq))




Home Index