Step
*
1
of Lemma
gammaFIM_unfold
1. gammaUnfold : Base
2. gammaUnfold ~ 
h,g,a. if (||a|| =
 0) then []
                        if (g (gammaFIM(firstn(||a|| - 1;a);g;h) @ [last(a)]) =
 0)
                          then gammaFIM(firstn(||a|| - 1;a);g;h) @ [last(a)]
                        else gammaFIM(firstn(||a|| - 1;a);g;h) @ [h gammaFIM(firstn(||a|| - 1;a);g;h)]
                        fi 
 
g,h:
 List 
 
. 
a:
 List.  (gammaFIM(a;g;h) ~ gammaUnfold h g a)
BY
{ (Auto THEN Unfold `gammaFIM` 0 THEN (RWO "list_ind_reverse_unfold1" 0 THENA Auto))
 }
1
1. gammaUnfold : Base
2. gammaUnfold ~ 
h,g,a. if (||a|| =
 0) then []
                        if (g (gammaFIM(firstn(||a|| - 1;a);g;h) @ [last(a)]) =
 0)
                          then gammaFIM(firstn(||a|| - 1;a);g;h) @ [last(a)]
                        else gammaFIM(firstn(||a|| - 1;a);g;h) @ [h gammaFIM(firstn(||a|| - 1;a);g;h)]
                        fi 
3. g : 
 List 
 
@i
4. h : 
 List 
 
@i
5. a : 
 List@i
 if (||a|| =
 0)
then []
else (
r,f,l. if (g (r @ [l]) =
 0) then r @ [l] else r @ [h r] fi ) 
     list_ind_reverse(firstn(||a|| - 1;a);[];
r,f,l. if (g (r @ [l]) =
 0) then r @ [l] else r @ [h r] fi ) 
     firstn(||a|| - 1;a) 
     last(a)
fi 
= (gammaUnfold h g a)
1.  gammaUnfold  :  Base
2.  gammaUnfold  \msim{}  \mlambda{}h,g,a.  if  (||a||  =\msubz{}  0)  then  []
                                                if  (g  (gammaFIM(firstn(||a||  -  1;a);g;h)  @  [last(a)])  =\msubz{}  0)
                                                    then  gammaFIM(firstn(||a||  -  1;a);g;h)  @  [last(a)]
                                                else  gammaFIM(firstn(||a||  -  1;a);g;h)
                                                          @  [h  gammaFIM(firstn(||a||  -  1;a);g;h)]
                                                fi 
\mvdash{}  \mforall{}g,h:\mBbbN{}  List  {}\mrightarrow{}  \mBbbN{}.  \mforall{}a:\mBbbN{}  List.    (gammaFIM(a;g;h)  \msim{}  gammaUnfold  h  g  a)
By
(Auto  THEN  Unfold  `gammaFIM`  0  THEN  (RWO  "list\_ind\_reverse\_unfold1"  0  THENA  Auto))\mcdot{}
Home
Index