Step * of Lemma callbyvalueall_seq-shift-init

[L,F,K:Top]. ∀[m,n,p,q:ℕ].
  (callbyvalueall_seq(L;λf.mk_applies(f;K;p q);F;n;m) 
  callbyvalueall_seq(λi.mk_applies(L i;K;p);λf.mk_applies(f;λi.(K (p i));q);λg.(F f.(g mk_applies(f;K;p))));n;m))
BY
((UnivCD THENA Auto)
   THEN (Decide n ≤ THENA Auto)
   THEN Try (Complete ((RecUnfold `callbyvalueall_seq` 0
                        THEN AutoSplit
                        THEN RepeatFor ((MemCD THEN Try (Complete (Auto))))
                        THEN RWO "mk_applies_split" 0
                        THEN Auto)))
   THEN (Assert ⌜∃k:ℕ(m (n k) ∈ ℤ)⌝⋅ THENA (InstConcl [⌜n⌝]⋅ THEN Auto'))
   THEN (-1)
   THEN HypSubst' (-1) 0
   THEN ThinVar `m'
   THEN RepeatFor (MoveToConcl (-2))
   THEN NatInd (-1)
   THEN (UnivCD THENA Auto)
   THEN RecUnfold `callbyvalueall_seq` 0
   THEN AutoSplit
   THEN RWO "mk_applies_split<0
   THEN Try (Complete (Auto))
   THEN MemCD
   THEN Try (Complete (Auto))) }

1
1. Top
2. Top
3. : ℤ
4. 0 < k
5. ∀K:Top. ∀n,p,q:ℕ.
     (callbyvalueall_seq(L;λf.mk_applies(f;K;p q);F;n;n (k 1)) 
     callbyvalueall_seq(λi.mk_applies(L i;K;p);λf.mk_applies(f;λi.(K (p i));q);λg.(F f.(g mk_applies(f;K;p))));n;n
                         (k 1)))
6. Top
7. : ℕ
8. ¬((n k) ≤ n)
9. : ℕ
10. : ℕ
11. Base
⊢ callbyvalueall_seq(L;λf.(mk_applies(f;K;p q) v);F;n 1;n k) 
callbyvalueall_seq(λi.mk_applies(L i;K;p);λf.(mk_applies(f;λi.(K (p i));q) v);λg.(F f.(g mk_applies(f;K;p))));n
                    1;n k)


Latex:


Latex:
\mforall{}[L,F,K:Top].  \mforall{}[m,n,p,q:\mBbbN{}].
    (callbyvalueall\_seq(L;\mlambda{}f.mk\_applies(f;K;p  +  q);F;n;m) 
    \msim{}  callbyvalueall\_seq(\mlambda{}i.mk\_applies(L  i;K;p);\mlambda{}f.mk\_applies(f;\mlambda{}i.(K  (p  +  i));q)
                                            ;\mlambda{}g.(F  (\mlambda{}f.(g  mk\_applies(f;K;p))));n;m))


By


Latex:
((UnivCD  THENA  Auto)
  THEN  (Decide  n  \mleq{}  m  THENA  Auto)
  THEN  Try  (Complete  ((RecUnfold  `callbyvalueall\_seq`  0
                                            THEN  AutoSplit
                                            THEN  RepeatFor  2  ((MemCD  THEN  Try  (Complete  (Auto))))
                                            THEN  RWO  "mk\_applies\_split"  0
                                            THEN  Auto)))
  THEN  (Assert  \mkleeneopen{}\mexists{}k:\mBbbN{}.  (m  =  (n  +  k))\mkleeneclose{}\mcdot{}  THENA  (InstConcl  [\mkleeneopen{}m  -  n\mkleeneclose{}]\mcdot{}  THEN  Auto'))
  THEN  D  (-1)
  THEN  HypSubst'  (-1)  0
  THEN  ThinVar  `m'
  THEN  RepeatFor  4  (MoveToConcl  (-2))
  THEN  NatInd  (-1)
  THEN  (UnivCD  THENA  Auto)
  THEN  RecUnfold  `callbyvalueall\_seq`  0
  THEN  AutoSplit
  THEN  RWO  "mk\_applies\_split<"  0
  THEN  Try  (Complete  (Auto))
  THEN  MemCD
  THEN  Try  (Complete  (Auto)))




Home Index