Step * of Lemma callbyvalueall_seq-fun3

[L,K,G,F,J,P,Q:Top]. ∀[n,m:ℕ]. ∀[p,q:ℤ].
  (callbyvalueall_seq(λi.K[if (i) < (p q)  then J[i;if q=p  then P[i]  else Q[i]]  else L[i]];G;F;n;m) 
  callbyvalueall_seq(λi.K[if (i) < (p q)  then J[i;Q[i]]  else L[i]];G;F;n;m))
BY
((UnivCD THENA Auto)
   THEN (Decide n ≤ THENA Auto)
   THEN Try (Complete ((RecUnfold `callbyvalueall_seq` 0⋅ THEN AutoSplit)))
   THEN (Assert ⌜∃k:ℕ(m (n k) ∈ ℤ)⌝⋅ THENA (InstConcl [⌜n⌝]⋅ THEN Auto'))
   THEN (-1)
   THEN HypSubst' (-1) 0
   THEN ThinVar `m'
   THEN MoveToConcl (-4)
   THEN MoveToConcl (-8)
   THEN NatInd (-1)
   THEN (UnivCD THENA Auto)
   THEN RecUnfold `callbyvalueall_seq` 0
   THEN AutoSplit
   THEN (RW (AddrC [1;1;2;2;3;3] (LemmaC `int_eq_as_ite`)) THENA Auto)
   THEN (RW (AddrC [1;1;2;2] (LemmaC `less_as_ite`)) THENA Auto)
   THEN (RW (AddrC [2;1;2;2] (LemmaC `less_as_ite`)) THENA Auto)
   THEN RepeatFor (Try (AutoSplit))
   THEN Try (Complete (Auto'))
   THEN MemCD
   THEN Try (Complete (Auto))
   THEN Try ((InstHyp [⌜λf.(G v)⌝;⌜1⌝(-6)⋅ THENA Auto))
   THEN Try ((InstHyp [⌜λf.(G v)⌝;⌜1⌝(-7)⋅ THENA Auto))
   THEN Subst ⌜(n 1) (k 1) k⌝ (-1)⋅
   THEN Auto) }


Latex:


Latex:
\mforall{}[L,K,G,F,J,P,Q:Top].  \mforall{}[n,m:\mBbbN{}].  \mforall{}[p,q:\mBbbZ{}].
    (callbyvalueall\_seq(\mlambda{}i.K[if  (i)  <  (p  +  q)    then  J[i;if  i  -  q=p    then  P[i]    else  Q[i]]    else  L[i]]
                                          ;G;F;n;m) 
    \msim{}  callbyvalueall\_seq(\mlambda{}i.K[if  (i)  <  (p  +  q)    then  J[i;Q[i]]    else  L[i]];G;F;n;m))


By


Latex:
((UnivCD  THENA  Auto)
  THEN  (Decide  n  \mleq{}  m  THENA  Auto)
  THEN  Try  (Complete  ((RecUnfold  `callbyvalueall\_seq`  0\mcdot{}  THEN  AutoSplit)))
  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  MoveToConcl  (-4)
  THEN  MoveToConcl  (-8)
  THEN  NatInd  (-1)
  THEN  (UnivCD  THENA  Auto)
  THEN  RecUnfold  `callbyvalueall\_seq`  0
  THEN  AutoSplit
  THEN  (RW  (AddrC  [1;1;2;2;3;3]  (LemmaC  `int\_eq\_as\_ite`))  0  THENA  Auto)
  THEN  (RW  (AddrC  [1;1;2;2]  (LemmaC  `less\_as\_ite`))  0  THENA  Auto)
  THEN  (RW  (AddrC  [2;1;2;2]  (LemmaC  `less\_as\_ite`))  0  THENA  Auto)
  THEN  RepeatFor  2  (Try  (AutoSplit))
  THEN  Try  (Complete  (Auto'))
  THEN  MemCD
  THEN  Try  (Complete  (Auto))
  THEN  Try  ((InstHyp  [\mkleeneopen{}\mlambda{}f.(G  f  v)\mkleeneclose{};\mkleeneopen{}n  +  1\mkleeneclose{}]  (-6)\mcdot{}  THENA  Auto))
  THEN  Try  ((InstHyp  [\mkleeneopen{}\mlambda{}f.(G  f  v)\mkleeneclose{};\mkleeneopen{}n  +  1\mkleeneclose{}]  (-7)\mcdot{}  THENA  Auto))
  THEN  Subst  \mkleeneopen{}(n  +  1)  +  (k  -  1)  \msim{}  n  +  k\mkleeneclose{}  (-1)\mcdot{}
  THEN  Auto)




Home Index