Step * 2 2 of Lemma nth-better-fibs


1. : ℕ
⊢ (fst(s-nth(n;mk-stream(λp.let a,b in eval in <b, c>;<fib(0), fib(0 1)>)))) fib(n) ∈ ℤ
BY
(Assert ⌜∀i:ℕ(s-nth(n;mk-stream(λp.let a,b in eval in <b, c>;<fib(i), fib(i 1)>)) = <fib(i n), fib\000C((i n) 1)> ∈ (ℤ × ℤ))⌝⋅
   THEN Try ((InstHyp [⌜0⌝(-1)⋅ THEN Auto THEN HypSubst' (-1) THEN Reduce THEN Auto))
   THEN NatInd (-1)
   THEN (RecUnfold `s-nth` THEN RecUnfold `mk-stream` 0)
   THEN RepUR ``s-hd s-tl`` 0
   THEN Auto
   THEN AutoSplit) }

1
1. : ℤ
2. n ≠ 0
3. 0 < n
4. ∀i:ℕ(s-nth(n 1;mk-stream(λp.let a,b in eval in <b, c>;<fib(i), fib(i 1)>)) = <fib(i (n 1)), f\000Cib((i (n 1)) 1)> ∈ (ℤ × ℤ))
5. : ℕ
⊢ eval in
  s-nth(m;let y ⟵ eval fib(i) fib(i 1) in
                   <fib(i 1), c>
          in mk-stream(λp.let a,b 
                          in eval in
                             <b, c>;y))
= <fib(i n), fib((i n) 1)>
∈ (ℤ × ℤ)


Latex:


Latex:

1.  n  :  \mBbbN{}
\mvdash{}  (fst(s-nth(n;mk-stream(\mlambda{}p.let  a,b  =  p  in  eval  c  =  a  +  b  in  <b,  c><fib(0),  fib(0  +  1)>))))  =  fib(n\000C)


By


Latex:
(Assert  \mkleeneopen{}\mforall{}i:\mBbbN{}.  (s-nth(n;mk-stream(\mlambda{}p.let  a,b  =  p  in  eval  c  =  a  +  b  in  <b,  c><fib(i),  fib(i  +  1)>))  \000C=  <fib(i  +  n),  fib((i  +  n)  +  1)>)\mkleeneclose{}\mcdot{}
  THEN  Try  ((InstHyp  [\mkleeneopen{}0\mkleeneclose{}]  (-1)\mcdot{}  THEN  Auto  THEN  HypSubst'  (-1)  0  THEN  Reduce  0  THEN  Auto))
  THEN  NatInd  (-1)
  THEN  (RecUnfold  `s-nth`  0  THEN  RecUnfold  `mk-stream`  0)
  THEN  RepUR  ``s-hd  s-tl``  0
  THEN  Auto
  THEN  AutoSplit)




Home Index