Step * 1 1 of Lemma hdf-compose1-transformation1


1. : ℕ@i
2. ∀n1:ℕn. ∀f,L:Base. ∀m:ℕ+.
     (fix((λmk-hdf,s0. case s0 of inl(y) => inl a.let X',bs in let out ←─ map(f;bs) in <mk-hdf X', out>inr(y\000C) => inr Ax )) 
      fix((λmk-hdf.(inl a.simple-cbva-seq(L a;λout.<mk-hdf, out>;m))))) 
     ~n1 fix((λmk-hdf.(inl a.simple-cbva-seq(λn.if n=m
                                                     then mk_lambdas(λout.map(f;out);m 1)
                                                     else (L n);λout.<mk-hdf, out>;m 1))))))@i
3. Base@i
4. Base@i
5. : ℕ+@i
6. 0 < n
7. 0 < 1
8. Base
⊢ simple-cbva-seq(λn.if n=m
                        then mk_lambdas(λout.map(f;out);m 1)
                        else (L n);λout.<fix((λmk-hdf,s0. case s0
                                                            of inl(y) =>
                                                            inl a.let X',bs 
                                                                    in let out ←─ map(f;bs)
                                                                       in <mk-hdf X', out>)
                                                            inr(y) =>
                                                            inr Ax )) 
                                           fix((λmk-hdf.(inl a.simple-cbva-seq(L a;λout.<mk-hdf, out>;m)))))
                                          out
                                          >;m 1) ~n 
simple-cbva-seq(λn.if n=m
                          then mk_lambdas(λout.map(f;out);m 1)
                          else (L 
                                n);λout.<fix((λmk-hdf.(inl a.simple-cbva-seq(λn.if n=m
                                                                                     then mk_lambdas(λout.map(f;out);m 
                                                                                          1)
                                                                                     else (L n);λout.<mk-hdf, out>;m
                                                               1)))))
                                        out
                                        >;m 1)
BY
(BLemma `simple-cbva-seq-sqequal-n` THEN Try (Complete (Auto))) }

1
1. : ℕ@i
2. ∀n1:ℕn. ∀f,L:Base. ∀m:ℕ+.
     (fix((λmk-hdf,s0. case s0 of inl(y) => inl a.let X',bs in let out ←─ map(f;bs) in <mk-hdf X', out>inr(y\000C) => inr Ax )) 
      fix((λmk-hdf.(inl a.simple-cbva-seq(L a;λout.<mk-hdf, out>;m))))) 
     ~n1 fix((λmk-hdf.(inl a.simple-cbva-seq(λn.if n=m
                                                     then mk_lambdas(λout.map(f;out);m 1)
                                                     else (L n);λout.<mk-hdf, out>;m 1))))))@i
3. Base@i
4. Base@i
5. : ℕ+@i
6. 0 < n
7. 0 < 1
8. Base
⊢ ((m 1) ≤ ((n 1) 2))
 out.<fix((λmk-hdf,s0. case s0 of inl(y) => inl a.let X',bs in let out ←─ map(f;bs) in <mk-hdf X', out>i\000Cnr(y) => inr Ax )) 
          fix((λmk-hdf.(inl a.simple-cbva-seq(L a;λout.<mk-hdf, out>;m)))))
         out
         > ~(n 1) 2 λout.<fix((λmk-hdf.(inl a.simple-cbva-seq(λn.if n=m
                                                                                      then mk_lambdas(λout.map(f;out);m 
                                                                                           1)
                                                                                      else (L n);λout.<mk-hdf, out>;m
                                                                1)))))
                                         out
                                         >)


Latex:



1.  n  :  \mBbbN{}@i
2.  \mforall{}n1:\mBbbN{}n.  \mforall{}f,L:Base.  \mforall{}m:\mBbbN{}\msupplus{}.
          (fix((\mlambda{}mk-hdf,s0.  case  s0
                                              of  inl(y)  =>
                                              inl  (\mlambda{}a.let  X',bs  =  y  a 
                                                              in  let  out  \mleftarrow{}{}  map(f;bs)
                                                                    in  <mk-hdf  X',  out>)
                                              |  inr(y)  =>
                                              inr  Ax  )) 
            fix((\mlambda{}mk-hdf.(inl  (\mlambda{}a.simple-cbva-seq(L  a;\mlambda{}out.<mk-hdf,  out>m))))) 
          \msim{}n1  fix((\mlambda{}mk-hdf.(inl  (\mlambda{}a.simple-cbva-seq(\mlambda{}n.if  n=m
                                                                                                          then  mk\_lambdas(\mlambda{}out.map(f;out);m  -  1)
                                                                                                          else  (L  a  n);\mlambda{}out.<mk-hdf,  out>m  +  1))))))@i
3.  f  :  Base@i
4.  L  :  Base@i
5.  m  :  \mBbbN{}\msupplus{}@i
6.  0  <  n
7.  0  <  n  -  1
8.  a  :  Base
\mvdash{}  simple-cbva-seq(\mlambda{}n.if  n=m
                                                then  mk\_lambdas(\mlambda{}out.map(f;out);m  -  1)
                                                else  (L  a  n);\mlambda{}out.<fix((\mlambda{}mk-hdf,s0.  case  s0
                                                                                                                        of  inl(y)  =>
                                                                                                                        inl  (\mlambda{}a.let  X',bs  =  y  a 
                                                                                                                                        in  let  out  \mleftarrow{}{}  map(f;bs)
                                                                                                                                              in  <mk-hdf  X',  out>)
                                                                                                                        |  inr(y)  =>
                                                                                                                        inr  Ax  )) 
                                                                                      fix((\mlambda{}mk-hdf.(inl  (\mlambda{}a.simple-cbva-seq(L  a;\mlambda{}out.<mk-hdf
                                                                                                                                                                                    ,  out
                                                                                                                                                                                    >m)))))
                                                                                    ,  out
                                                                                    >m  +  1)  \msim{}n  -  1 
-  1  simple-cbva-seq(\mlambda{}n.if  n=m
                                                    then  mk\_lambdas(\mlambda{}out.map(f;out);m  -  1)
                                                    else  (L  a 
                                                                n);\mlambda{}out.<fix((\mlambda{}mk-hdf.(inl  (\mlambda{}a.simple-cbva-seq(\mlambda{}n.if  n=m
                                                                                                                                                                          then  ...
                                                                                                                                                                          else  (L  a 
                                                                                                                                                                                      n);...;m
                                                                                                                              +  1)))))
                                                                                ,  out
                                                                                >m  +  1)


By

(BLemma  `simple-cbva-seq-sqequal-n`  THEN  Try  (Complete  (Auto)))




Home Index