Step * 2 1 1 1 of Lemma gammaFIM_fun


1. g :  List  @i
2. h :  List  @i
3. spr(g)@i
4. a: List. (((g a) = 0)  ((g (a @ [h a])) = 0))@i
5. (g []) = 0@i
6. f :   @i
7. x : 
8. 0 < x
9. gammaFIM(mklist(x - 1;f);g;h) = mklist(x - 1;n.gammaFIM(mklist(n + 1;f);g;h)[n])
10. l: List. (((g l) = 0)  (l = gammaFIM(l;g;h)))
11. L: List. ((g gammaFIM(L;g;h)) = 0)
12. L: List. (||L|| = ||gammaFIM(L;g;h)||)
13. f:  . x:.  (x ~ ||gammaFIM(mklist(x;f);g;h)||)
14. x:. (x ~ ||gammaFIM(mklist(x;f);g;h)||)
15. n.gammaFIM(mklist(n + 1;f);g;h)[n]    
16. RHS : Base
17. RHS ~ h,g,f,x. mklist(x;n.gammaFIM(mklist(n + 1;f);g;h)[n])
18. RHS h g f x   List
 if (||mklist(x;f)|| = 0) then []
if (g (gammaFIM(firstn(||mklist(x;f)|| - 1;mklist(x;f));g;h) @ [last(mklist(x;f))]) = 0)
  then gammaFIM(firstn(||mklist(x;f)|| - 1;mklist(x;f));g;h) @ [last(mklist(x;f))]
else gammaFIM(firstn(||mklist(x;f)|| - 1;mklist(x;f));g;h) @ [h gammaFIM(firstn(||mklist(x;f)|| - 1;mklist(x;f));g;h)]
fi 
= (RHS h g f x)
BY
{ (RWO "mklist_length" 0 THENA Auto) }

1
1. g :  List  @i
2. h :  List  @i
3. spr(g)@i
4. a: List. (((g a) = 0)  ((g (a @ [h a])) = 0))@i
5. (g []) = 0@i
6. f :   @i
7. x : 
8. 0 < x
9. gammaFIM(mklist(x - 1;f);g;h) = mklist(x - 1;n.gammaFIM(mklist(n + 1;f);g;h)[n])
10. l: List. (((g l) = 0)  (l = gammaFIM(l;g;h)))
11. L: List. ((g gammaFIM(L;g;h)) = 0)
12. L: List. (||L|| = ||gammaFIM(L;g;h)||)
13. f:  . x:.  (x ~ ||gammaFIM(mklist(x;f);g;h)||)
14. x:. (x ~ ||gammaFIM(mklist(x;f);g;h)||)
15. n.gammaFIM(mklist(n + 1;f);g;h)[n]    
16. RHS : Base
17. RHS ~ h,g,f,x. mklist(x;n.gammaFIM(mklist(n + 1;f);g;h)[n])
18. RHS h g f x   List
 if (x = 0) then []
if (g (gammaFIM(firstn(x - 1;mklist(x;f));g;h) @ [last(mklist(x;f))]) = 0)
  then gammaFIM(firstn(x - 1;mklist(x;f));g;h) @ [last(mklist(x;f))]
else gammaFIM(firstn(x - 1;mklist(x;f));g;h) @ [h gammaFIM(firstn(x - 1;mklist(x;f));g;h)]
fi 
= (RHS h g f x)



1.  g  :  \mBbbN{}  List  {}\mrightarrow{}  \mBbbN{}@i
2.  h  :  \mBbbN{}  List  {}\mrightarrow{}  \mBbbN{}@i
3.  spr(g)@i
4.  \mforall{}a:\mBbbN{}  List.  (((g  a)  =  0)  {}\mRightarrow{}  ((g  (a  @  [h  a]))  =  0))@i
5.  (g  [])  =  0@i
6.  f  :  \mBbbN{}  {}\mrightarrow{}  \mBbbN{}@i
7.  x  :  \mBbbZ{}
8.  0  <  x
9.  gammaFIM(mklist(x  -  1;f);g;h)  =  mklist(x  -  1;\mlambda{}n.gammaFIM(mklist(n  +  1;f);g;h)[n])
10.  \mforall{}l:\mBbbN{}  List.  (((g  l)  =  0)  {}\mRightarrow{}  (l  =  gammaFIM(l;g;h)))
11.  \mforall{}L:\mBbbN{}  List.  ((g  gammaFIM(L;g;h))  =  0)
12.  \mforall{}L:\mBbbN{}  List.  (||L||  =  ||gammaFIM(L;g;h)||)
13.  \mforall{}f:\mBbbN{}  {}\mrightarrow{}  \mBbbN{}.  \mforall{}x:\mBbbN{}.    (x  \msim{}  ||gammaFIM(mklist(x;f);g;h)||)
14.  \mforall{}x:\mBbbN{}.  (x  \msim{}  ||gammaFIM(mklist(x;f);g;h)||)
15.  \mlambda{}n.gammaFIM(mklist(n  +  1;f);g;h)[n]  \mmember{}  \mBbbN{}  {}\mrightarrow{}  \mBbbN{}
16.  RHS  :  Base
17.  RHS  \msim{}  \mlambda{}h,g,f,x.  mklist(x;\mlambda{}n.gammaFIM(mklist(n  +  1;f);g;h)[n])
18.  RHS  h  g  f  x  \mmember{}  \mBbbN{}  List
\mvdash{}  if  (||mklist(x;f)||  =\msubz{}  0)  then  []
if  (g  (gammaFIM(firstn(||mklist(x;f)||  -  1;mklist(x;f));g;h)  @  [last(mklist(x;f))])  =\msubz{}  0)
    then  gammaFIM(firstn(||mklist(x;f)||  -  1;mklist(x;f));g;h)  @  [last(mklist(x;f))]
else  gammaFIM(firstn(||mklist(x;f)||  -  1;mklist(x;f));g;h)
          @  [h  gammaFIM(firstn(||mklist(x;f)||  -  1;mklist(x;f));g;h)]
fi 
=  (RHS  h  g  f  x)


By

(RWO  "mklist\_length"  0  THENA  Auto)



Home Index