Step
*
1
of Lemma
alpha-rename-alist-property2
1. [opr] : Type
2. t : term(opr)
3. x : varname()
4. u : varname()
5. v : varname() List
6. (x ∈ v)
⇒ (∀Z:varname() List × ((varname() × varname()) List)
      ∃x':varname()
       (<x, x'> ∈ snd(accumulate (with value p and list item x):
                       let vs,tab = p 
                       in eval x' = maybe_new_var(x;vs) in
                          <[x' / vs], [<x, x'> / tab]>
                      over list:
                        v
                      with starting value:
                       Z))))
7. (x = u ∈ varname()) ∨ (x ∈ v)
8. Z : varname() List × ((varname() × varname()) List)
⊢ ∃x':varname()
   (<x, x'> ∈ snd(accumulate (with value p and list item x):
                   let vs,tab = p 
                   in eval x' = maybe_new_var(x;vs) in
                      <[x' / vs], [<x, x'> / tab]>
                  over list:
                    v
                  with starting value:
                   let vs,tab = Z 
                   in eval x' = maybe_new_var(u;vs) in
                      <[x' / vs], [<u, x'> / tab]>)))
BY
{ (D -2 THEN ThinTrivial THEN Auto) }
1
1. [opr] : Type
2. t : term(opr)
3. x : varname()
4. u : varname()
5. v : varname() List
6. (x ∈ v)
⇒ (∀Z:varname() List × ((varname() × varname()) List)
      ∃x':varname()
       (<x, x'> ∈ snd(accumulate (with value p and list item x):
                       let vs,tab = p 
                       in eval x' = maybe_new_var(x;vs) in
                          <[x' / vs], [<x, x'> / tab]>
                      over list:
                        v
                      with starting value:
                       Z))))
7. x = u ∈ varname()
8. Z : varname() List × ((varname() × varname()) List)
⊢ ∃x':varname()
   (<x, x'> ∈ snd(accumulate (with value p and list item x):
                   let vs,tab = p 
                   in eval x' = maybe_new_var(x;vs) in
                      <[x' / vs], [<x, x'> / tab]>
                  over list:
                    v
                  with starting value:
                   let vs,tab = Z 
                   in eval x' = maybe_new_var(u;vs) in
                      <[x' / vs], [<u, x'> / tab]>)))
Latex:
Latex:
1.  [opr]  :  Type
2.  t  :  term(opr)
3.  x  :  varname()
4.  u  :  varname()
5.  v  :  varname()  List
6.  (x  \mmember{}  v)
{}\mRightarrow{}  (\mforall{}Z:varname()  List  \mtimes{}  ((varname()  \mtimes{}  varname())  List)
            \mexists{}x':varname()
              (<x,  x'>  \mmember{}  snd(accumulate  (with  value  p  and  list  item  x):
                                              let  vs,tab  =  p 
                                              in  eval  x'  =  maybe\_new\_var(x;vs)  in
                                                    <[x'  /  vs],  [<x,  x'>  /  tab]>
                                            over  list:
                                                v
                                            with  starting  value:
                                              Z))))
7.  (x  =  u)  \mvee{}  (x  \mmember{}  v)
8.  Z  :  varname()  List  \mtimes{}  ((varname()  \mtimes{}  varname())  List)
\mvdash{}  \mexists{}x':varname()
      (<x,  x'>  \mmember{}  snd(accumulate  (with  value  p  and  list  item  x):
                                      let  vs,tab  =  p 
                                      in  eval  x'  =  maybe\_new\_var(x;vs)  in
                                            <[x'  /  vs],  [<x,  x'>  /  tab]>
                                    over  list:
                                        v
                                    with  starting  value:
                                      let  vs,tab  =  Z 
                                      in  eval  x'  =  maybe\_new\_var(u;vs)  in
                                            <[x'  /  vs],  [<u,  x'>  /  tab]>)))
By
Latex:
(D  -2  THEN  ThinTrivial  THEN  Auto)
Home
Index