Step
*
of Lemma
callbyvalueall_seq-eta
∀[F,G,K:Top]. ∀[J:ℤ ⟶ ℤ]. ∀[n,m:ℕ].
  callbyvalueall_seq(λi.(K J[i]);G;F;n;m) ~ callbyvalueall_seq(K;G;F;n;m) supposing ∀i:{n..m + 1-}. (J[i] = i ∈ ℤ)
BY
{ ((UnivCD THENA Auto)
   THEN (Decide n ≤ m THENA Auto)
   THEN Try (Complete ((RecUnfold `callbyvalueall_seq` 0 THEN AutoSplit)))
   THEN (Assert ⌜∃k:ℕ. (m = (n + k) ∈ ℤ)⌝⋅ THENA (InstConcl [⌜m - n⌝]⋅ THEN Auto'))
   THEN D (-1)
   THEN MoveToConcl (-4)
   THEN HypSubst' (-1) 0
   THEN ThinVar `m'
   THEN MoveToConcl (-2)
   THEN MoveToConcl (-4)
   THEN NatInd (-1)
   THEN (UnivCD THENA Auto)
   THEN RecUnfold `callbyvalueall_seq` 0
   THEN AutoSplit
   THEN (InstHyp [⌜n⌝] (-1)⋅ THENA Auto)
   THEN (Assert ⌜J[n] ~ n⌝⋅ THENA Auto)
   THEN RWO "-1" 0
   THEN MemCD
   THEN Try (Complete (Auto))
   THEN (InstHyp [⌜λf.(G f v)⌝;⌜n + 1⌝] (-8)⋅ THENA Auto)
   THEN Subst ⌜(n + 1) + (k - 1) ~ n + k⌝ (-1)⋅
   THEN Auto) }
Latex:
Latex:
\mforall{}[F,G,K:Top].  \mforall{}[J:\mBbbZ{}  {}\mrightarrow{}  \mBbbZ{}].  \mforall{}[n,m:\mBbbN{}].
    callbyvalueall\_seq(\mlambda{}i.(K  J[i]);G;F;n;m)  \msim{}  callbyvalueall\_seq(K;G;F;n;m) 
    supposing  \mforall{}i:\{n..m  +  1\msupminus{}\}.  (J[i]  =  i)
By
Latex:
((UnivCD  THENA  Auto)
  THEN  (Decide  n  \mleq{}  m  THENA  Auto)
  THEN  Try  (Complete  ((RecUnfold  `callbyvalueall\_seq`  0  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  MoveToConcl  (-4)
  THEN  HypSubst'  (-1)  0
  THEN  ThinVar  `m'
  THEN  MoveToConcl  (-2)
  THEN  MoveToConcl  (-4)
  THEN  NatInd  (-1)
  THEN  (UnivCD  THENA  Auto)
  THEN  RecUnfold  `callbyvalueall\_seq`  0
  THEN  AutoSplit
  THEN  (InstHyp  [\mkleeneopen{}n\mkleeneclose{}]  (-1)\mcdot{}  THENA  Auto)
  THEN  (Assert  \mkleeneopen{}J[n]  \msim{}  n\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  RWO  "-1"  0
  THEN  MemCD
  THEN  Try  (Complete  (Auto))
  THEN  (InstHyp  [\mkleeneopen{}\mlambda{}f.(G  f  v)\mkleeneclose{};\mkleeneopen{}n  +  1\mkleeneclose{}]  (-8)\mcdot{}  THENA  Auto)
  THEN  Subst  \mkleeneopen{}(n  +  1)  +  (k  -  1)  \msim{}  n  +  k\mkleeneclose{}  (-1)\mcdot{}
  THEN  Auto)
Home
Index