Step * 1 1 of Lemma alpha-rename-alist-property2


1. [opr] Type
2. term(opr)
3. varname()
4. varname()
5. varname() List
6. (x ∈ v)
 (∀Z:varname() List × ((varname() × varname()) List)
      ∃x':varname()
       (<x, x'> ∈ snd(accumulate (with value and list item x):
                       let vs,tab 
                       in eval x' maybe_new_var(x;vs) in
                          <[x' vs], [<x, x'> tab]>
                      over list:
                        v
                      with starting value:
                       Z))))
7. u ∈ varname()
8. varname() List × ((varname() × varname()) List)
⊢ ∃x':varname()
   (<x, x'> ∈ snd(accumulate (with value and list item x):
                   let vs,tab 
                   in eval x' maybe_new_var(x;vs) in
                      <[x' vs], [<x, x'> tab]>
                  over list:
                    v
                  with starting value:
                   let vs,tab 
                   in eval x' maybe_new_var(u;vs) in
                      <[x' vs], [<u, x'> tab]>)))
BY
((D -1 THEN Reduce 0) THEN (D With ⌜maybe_new_var(u;Z1)⌝  THENA Auto)) }

1
1. [opr] Type
2. term(opr)
3. varname()
4. varname()
5. varname() List
6. (x ∈ v)
 (∀Z:varname() List × ((varname() × varname()) List)
      ∃x':varname()
       (<x, x'> ∈ snd(accumulate (with value and list item x):
                       let vs,tab 
                       in eval x' maybe_new_var(x;vs) in
                          <[x' vs], [<x, x'> tab]>
                      over list:
                        v
                      with starting value:
                       Z))))
7. u ∈ varname()
8. Z1 varname() List
9. Z2 (varname() × varname()) List
⊢ (<x, maybe_new_var(u;Z1)> ∈ snd(accumulate (with value and list item x):
                                   let vs,tab 
                                   in eval x' maybe_new_var(x;vs) in
                                      <[x' vs], [<x, x'> tab]>
                                  over list:
                                    v
                                  with starting value:
                                   eval x' maybe_new_var(u;Z1) in
                                   <[x' Z1], [<u, x'> Z2]>)))

2
1. opr Type
2. term(opr)
3. varname()
4. varname()
5. varname() List
6. (x ∈ v)
 (∀Z:varname() List × ((varname() × varname()) List)
      ∃x':varname()
       (<x, x'> ∈ snd(accumulate (with value and list item x):
                       let vs,tab 
                       in eval x' maybe_new_var(x;vs) in
                          <[x' vs], [<x, x'> tab]>
                      over list:
                        v
                      with starting value:
                       Z))))
7. u ∈ varname()
8. Z1 varname() List
9. Z2 (varname() × varname()) List
10. x' varname()
⊢ snd(accumulate (with value and list item x):
       let vs,tab 
       in eval x' maybe_new_var(x;vs) in
          <[x' vs], [<x, x'> tab]>
      over list:
        v
      with starting value:
       eval x' maybe_new_var(u;Z1) in
       <[x' Z1], [<u, x'> Z2]>)) ∈ (varname() × varname()) List


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
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  -1  THEN  Reduce  0)  THEN  (D  0  With  \mkleeneopen{}maybe\_new\_var(u;Z1)\mkleeneclose{}    THENA  Auto))




Home Index