Step * 1 of Lemma alpha-aux-mkterm


1. [opr] Type
2. opr
3. opr
4. u2 varname() List
5. u3 term(opr)
6. bound-term(opr) List
7. ∀bs:bound-term(opr) List. ∀vs,ws:varname() List.
     (alpha-aux(opr;vs;ws;mkterm(a;v);mkterm(b;bs))
     ⇐⇒ (a b ∈ opr)
         ∧ (||v|| ||bs|| ∈ ℤ)
         ∧ (∀i:ℕ||v||
              (alpha-aux(opr;rev(fst(v[i])) vs;rev(fst(bs[i])) ws;snd(v[i]);snd(bs[i]))
              ∧ (||fst(v[i])|| ||fst(bs[i])|| ∈ ℤ))))
8. u4 varname() List
9. u5 term(opr)
10. v1 bound-term(opr) List
11. ∀vs,ws:varname() List.
      (alpha-aux(opr;vs;ws;mkterm(a;[<u2, u3> v]);mkterm(b;v1))
      ⇐⇒ (a b ∈ opr)
          ∧ ((||v|| 1) ||v1|| ∈ ℤ)
          ∧ (∀i:ℕ||v|| 1
               (alpha-aux(opr;rev(fst([<u2, u3> v][i])) vs;rev(fst(v1[i])) ws;snd([<u2, u3> v][i]);snd(v1[i]))
               ∧ (||fst([<u2, u3> v][i])|| ||fst(v1[i])|| ∈ ℤ))))
12. vs varname() List
13. ws varname() List
14. b ∈ opr
15. (||v|| 1) (||v1|| 1) ∈ ℤ
16. : ℕ||v||
17. alpha-aux(opr;rev(fst(v[(i 1) 1])) vs;rev(fst(v1[(i 1) 1])) ws;snd(v[(i 1) 1]);snd(v1[(i 1) 1]))
18. ||fst(v[(i 1) 1])|| ||fst(v1[(i 1) 1])|| ∈ ℤ
⊢ alpha-aux(opr;rev(fst(v[i])) vs;rev(fst(v1[i])) ws;snd(v[i]);snd(v1[i]))
BY
(Subst' (i 1) -2 THEN Auto) }


Latex:


Latex:

1.  [opr]  :  Type
2.  a  :  opr
3.  b  :  opr
4.  u2  :  varname()  List
5.  u3  :  term(opr)
6.  v  :  bound-term(opr)  List
7.  \mforall{}bs:bound-term(opr)  List.  \mforall{}vs,ws:varname()  List.
          (alpha-aux(opr;vs;ws;mkterm(a;v);mkterm(b;bs))
          \mLeftarrow{}{}\mRightarrow{}  (a  =  b)
                  \mwedge{}  (||v||  =  ||bs||)
                  \mwedge{}  (\mforall{}i:\mBbbN{}||v||
                            (alpha-aux(opr;rev(fst(v[i]))  +  vs;rev(fst(bs[i]))  +  ws;snd(v[i]);snd(bs[i]))
                            \mwedge{}  (||fst(v[i])||  =  ||fst(bs[i])||))))
8.  u4  :  varname()  List
9.  u5  :  term(opr)
10.  v1  :  bound-term(opr)  List
11.  \mforall{}vs,ws:varname()  List.
            (alpha-aux(opr;vs;ws;mkterm(a;[<u2,  u3>  /  v]);mkterm(b;v1))
            \mLeftarrow{}{}\mRightarrow{}  (a  =  b)
                    \mwedge{}  ((||v||  +  1)  =  ||v1||)
                    \mwedge{}  (\mforall{}i:\mBbbN{}||v||  +  1
                              (alpha-aux(opr;rev(fst([<u2,  u3>  / 
                                                                              v][i]))  +  vs;rev(fst(v1[i]))  +  ws;snd([<u2,  u3>  / 
                                                                                                                                                            v][i]);snd(v1[i]))
                              \mwedge{}  (||fst([<u2,  u3>  /  v][i])||  =  ||fst(v1[i])||))))
12.  vs  :  varname()  List
13.  ws  :  varname()  List
14.  a  =  b
15.  (||v||  +  1)  =  (||v1||  +  1)
16.  i  :  \mBbbN{}||v||
17.  alpha-aux(opr;rev(fst(v[(i  +  1)  -  1]))  +  vs;rev(fst(v1[(i  +  1)  -  1]))  +  ws;snd(v[(i  +  1) 
-  1]);snd(v1[(i  +  1)  -  1]))
18.  ||fst(v[(i  +  1)  -  1])||  =  ||fst(v1[(i  +  1)  -  1])||
\mvdash{}  alpha-aux(opr;rev(fst(v[i]))  +  vs;rev(fst(v1[i]))  +  ws;snd(v[i]);snd(v1[i]))


By


Latex:
(Subst'  (i  +  1)  -  1  \msim{}  i  -2  THEN  Auto)




Home Index