Step
*
of Lemma
simple-cbva-seq-list-case2
∀[F,L1,L2,G,a:Top]. ∀[m1:ℕ+]. ∀[m2:ℕ].
  (simple-cbva-seq(λn.if (n) < (m1)
                         then L1 a n
                         else mk_lambdas(λout.if n - m1=m2
                                              then mk_lambdas(λo1.G[out;o1];m2 - 1)
                                              else (L2 a (n - m1));m1 - 1);F;(m1 + m2) + 1) 
  ~ simple-cbva-seq(λn.if (n) < (m1)
                          then L1 a n
                          else if (n) < (m1 + m2)
                                  then mk_lambdas(L2 a (n - m1);m1)
                                  else mk_lambdas(λout1.mk_lambdas(λout2.G[out1;out2];m2 - 1);m1 - 1);F;(m1 + m2) + 1))
BY
{ TACTIC:((UnivCD THENA Auto)
          THEN RepUR ``simple-cbva-seq cbva-seq`` 0
          THEN AutoSplit
          THEN Try (Complete (Auto'))
          THEN Thin (-1)) }
1
1. F : Top
2. L1 : Top
3. L2 : Top
4. G : Top
5. a : Top
6. m1 : ℕ+
7. m2 : ℕ
⊢ callbyvalueall-seq(λn.if (n) < (m1)
                           then L1 a n
                           else mk_lambdas(λout.if n - m1=m2
                                                then mk_lambdas(λo1.G[out;o1];m2 - 1)
                                                else (L2 a (n - m1));m1 - 1);λx.x;mk_lambdas(F;((m1 + m2) + 1) - 1);0
                     (m1 + m2) + 1) 
~ callbyvalueall-seq(λn.if (n) < (m1)
                           then L1 a n
                           else if (n) < (m1 + m2)
                                   then mk_lambdas(L2 a (n - m1);m1)
                                   else mk_lambdas(λout1.mk_lambdas(λout2.G[out1;out2];m2 - 1);m1 - 1);λx.x
                     mk_lambdas(F;((m1 + m2) + 1) - 1);0;(m1 + m2) + 1)
Latex:
Latex:
\mforall{}[F,L1,L2,G,a:Top].  \mforall{}[m1:\mBbbN{}\msupplus{}].  \mforall{}[m2:\mBbbN{}].
    (simple-cbva-seq(\mlambda{}n.if  (n)  <  (m1)
                                                  then  L1  a  n
                                                  else  mk\_lambdas(\mlambda{}out.if  n  -  m1=m2
                                                                                            then  mk\_lambdas(\mlambda{}o1.G[out;o1];m2  -  1)
                                                                                            else  (L2  a  (n  -  m1));m1  -  1);F;(m1  +  m2)  +  1) 
    \msim{}  simple-cbva-seq(\mlambda{}n.if  (n)  <  (m1)
                                                    then  L1  a  n
                                                    else  if  (n)  <  (m1  +  m2)
                                                                    then  mk\_lambdas(L2  a  (n  -  m1);m1)
                                                                    else  mk\_lambdas(\mlambda{}out1.mk\_lambdas(\mlambda{}out2.G[out1;out2];m2  -  1);m1 
                                                                              -  1);F;(m1  +  m2)  +  1))
By
Latex:
TACTIC:((UnivCD  THENA  Auto)
                THEN  RepUR  ``simple-cbva-seq  cbva-seq``  0
                THEN  AutoSplit
                THEN  Try  (Complete  (Auto'))
                THEN  Thin  (-1))
Home
Index