Step
*
1
of Lemma
callbyvalueall-seq-extend
.....basecase..... 
1. F : Top
2. G : Top
3. L : Top
4. i : ℤ
⊢ ∀K:Top. ∀n:ℤ.
    ((0 ≤ n)
    
⇒ 0 < n + 0
    
⇒ (callbyvalueall-seq(L;λf.mk_applies(f;K;n);mk_lambdas(λout.let x ⟵ F[out]
                                                                  in G[x];(n + 0) - 1);n;n + 0) 
       ~ callbyvalueall-seq(λn@0.if (n@0 =z n + 0) then mk_lambdas(F;(n + 0) - 1) else L n@0 fi λf.mk_applies(f;K;n)
                            mk_lambdas(G;n + 0);n;(n + 0) + 1)))
BY
{ (RepeatFor 2 ((D 0 THENA Auto))
   THEN (Subst ⌜n + 0 ~ n⌝ 0⋅ THENA Auto)
   THEN (UnivCD THENA Auto)
   THEN RecUnfold `callbyvalueall-seq` 0
   THEN AutoSplit
   THEN RecUnfold `callbyvalueall-seq` 0
   THEN AutoSplit
   THEN (RWO "mk_applies_lambdas1" 0 THENA Auto)
   THEN (Subst ⌜n - n - 1 ~ 1⌝ 0⋅ THENA Auto)
   THEN (Subst ⌜n - n ~ 0⌝ 0⋅ THENA Auto)
   THEN RepUR ``mk_applies`` 0
   THEN RepUR ``so_apply`` 0
   THEN Auto) }
Latex:
Latex:
.....basecase..... 
1.  F  :  Top
2.  G  :  Top
3.  L  :  Top
4.  i  :  \mBbbZ{}
\mvdash{}  \mforall{}K:Top.  \mforall{}n:\mBbbZ{}.
        ((0  \mleq{}  n)
        {}\mRightarrow{}  0  <  n  +  0
        {}\mRightarrow{}  (callbyvalueall-seq(L;\mlambda{}f.mk\_applies(f;K;n);mk\_lambdas(\mlambda{}out.let  x  \mleftarrow{}{}  F[out]
                                                                                                                                    in  G[x];(n  +  0)  -  1);n;n  +  0) 
              \msim{}  callbyvalueall-seq(\mlambda{}n@0.if  (n@0  =\msubz{}  n  +  0)  then  mk\_lambdas(F;(n  +  0)  -  1)  else  L  n@0  fi 
                                                        ;\mlambda{}f.mk\_applies(f;K;n);mk\_lambdas(G;n  +  0);n;(n  +  0)  +  1)))
By
Latex:
(RepeatFor  2  ((D  0  THENA  Auto))
  THEN  (Subst  \mkleeneopen{}n  +  0  \msim{}  n\mkleeneclose{}  0\mcdot{}  THENA  Auto)
  THEN  (UnivCD  THENA  Auto)
  THEN  RecUnfold  `callbyvalueall-seq`  0
  THEN  AutoSplit
  THEN  RecUnfold  `callbyvalueall-seq`  0
  THEN  AutoSplit
  THEN  (RWO  "mk\_applies\_lambdas1"  0  THENA  Auto)
  THEN  (Subst  \mkleeneopen{}n  -  n  -  1  \msim{}  1\mkleeneclose{}  0\mcdot{}  THENA  Auto)
  THEN  (Subst  \mkleeneopen{}n  -  n  \msim{}  0\mkleeneclose{}  0\mcdot{}  THENA  Auto)
  THEN  RepUR  ``mk\_applies``  0
  THEN  RepUR  ``so\_apply``  0
  THEN  Auto)
Home
Index