Step
*
2
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)||)
 gammaFIM(mklist(x;f);g;h) = mklist(x;
n.gammaFIM(mklist(n + 1;f);g;h)[n])
BY
{ ((Assert 
n.gammaFIM(mklist(n + 1;f);g;h)[n] 
 
 
 
 BY
          (Auto THEN RWO "14<" 0 THEN Auto))
   THEN AbbreviateTerm 
mklist(x;
n.gammaFIM(mklist(n + 1;f);g;h)[n])
 `RHS'
   ) }
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])
 gammaFIM(mklist(x;f);g;h) = (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)||)
\mvdash{}  gammaFIM(mklist(x;f);g;h)  =  mklist(x;\mlambda{}n.gammaFIM(mklist(n  +  1;f);g;h)[n])
By
((Assert  \mlambda{}n.gammaFIM(mklist(n  +  1;f);g;h)[n]  \mmember{}  \mBbbN{}  {}\mrightarrow{}  \mBbbN{}  BY
                (Auto  THEN  RWO  "14<"  0  THEN  Auto))
  THEN  AbbreviateTerm  \mkleeneopen{}mklist(x;\mlambda{}n.gammaFIM(mklist(n  +  1;f);g;h)[n])\mkleeneclose{}  `RHS'\mcdot{}
  )
Home
Index