Metamath Proof Explorer


Theorem fibp1

Description: Value of the Fibonacci sequence at higher indices. (Contributed by Thierry Arnoux, 25-Apr-2019)

Ref Expression
Assertion fibp1 ( 𝑁 ∈ ℕ → ( Fibci ‘ ( 𝑁 + 1 ) ) = ( ( Fibci ‘ ( 𝑁 − 1 ) ) + ( Fibci ‘ 𝑁 ) ) )

Proof

Step Hyp Ref Expression
1 df-fib Fibci = ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) )
2 1 fveq1i ( Fibci ‘ ( 𝑁 + 1 ) ) = ( ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) ‘ ( 𝑁 + 1 ) )
3 2 a1i ( 𝑁 ∈ ℕ → ( Fibci ‘ ( 𝑁 + 1 ) ) = ( ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) ‘ ( 𝑁 + 1 ) ) )
4 nn0ex 0 ∈ V
5 4 a1i ( 𝑁 ∈ ℕ → ℕ0 ∈ V )
6 0nn0 0 ∈ ℕ0
7 6 a1i ( 𝑁 ∈ ℕ → 0 ∈ ℕ0 )
8 1nn0 1 ∈ ℕ0
9 8 a1i ( 𝑁 ∈ ℕ → 1 ∈ ℕ0 )
10 7 9 s2cld ( 𝑁 ∈ ℕ → ⟨“ 0 1 ”⟩ ∈ Word ℕ0 )
11 eqid ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ ( ♯ ‘ ⟨“ 0 1 ”⟩ ) ) ) ) = ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ ( ♯ ‘ ⟨“ 0 1 ”⟩ ) ) ) )
12 fiblem ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) : ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ ( ♯ ‘ ⟨“ 0 1 ”⟩ ) ) ) ) ⟶ ℕ0
13 12 a1i ( 𝑁 ∈ ℕ → ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) : ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ ( ♯ ‘ ⟨“ 0 1 ”⟩ ) ) ) ) ⟶ ℕ0 )
14 eluzp1p1 ( 𝑁 ∈ ( ℤ ‘ 1 ) → ( 𝑁 + 1 ) ∈ ( ℤ ‘ ( 1 + 1 ) ) )
15 nnuz ℕ = ( ℤ ‘ 1 )
16 14 15 eleq2s ( 𝑁 ∈ ℕ → ( 𝑁 + 1 ) ∈ ( ℤ ‘ ( 1 + 1 ) ) )
17 s2len ( ♯ ‘ ⟨“ 0 1 ”⟩ ) = 2
18 1p1e2 ( 1 + 1 ) = 2
19 17 18 eqtr4i ( ♯ ‘ ⟨“ 0 1 ”⟩ ) = ( 1 + 1 )
20 19 fveq2i ( ℤ ‘ ( ♯ ‘ ⟨“ 0 1 ”⟩ ) ) = ( ℤ ‘ ( 1 + 1 ) )
21 16 20 eleqtrrdi ( 𝑁 ∈ ℕ → ( 𝑁 + 1 ) ∈ ( ℤ ‘ ( ♯ ‘ ⟨“ 0 1 ”⟩ ) ) )
22 5 10 11 13 21 sseqp1 ( 𝑁 ∈ ℕ → ( ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) ‘ ( 𝑁 + 1 ) ) = ( ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ‘ ( ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) )
23 id ( 𝑤 = 𝑡𝑤 = 𝑡 )
24 fveq2 ( 𝑤 = 𝑡 → ( ♯ ‘ 𝑤 ) = ( ♯ ‘ 𝑡 ) )
25 24 oveq1d ( 𝑤 = 𝑡 → ( ( ♯ ‘ 𝑤 ) − 2 ) = ( ( ♯ ‘ 𝑡 ) − 2 ) )
26 23 25 fveq12d ( 𝑤 = 𝑡 → ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) = ( 𝑡 ‘ ( ( ♯ ‘ 𝑡 ) − 2 ) ) )
27 24 oveq1d ( 𝑤 = 𝑡 → ( ( ♯ ‘ 𝑤 ) − 1 ) = ( ( ♯ ‘ 𝑡 ) − 1 ) )
28 23 27 fveq12d ( 𝑤 = 𝑡 → ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) = ( 𝑡 ‘ ( ( ♯ ‘ 𝑡 ) − 1 ) ) )
29 26 28 oveq12d ( 𝑤 = 𝑡 → ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) = ( ( 𝑡 ‘ ( ( ♯ ‘ 𝑡 ) − 2 ) ) + ( 𝑡 ‘ ( ( ♯ ‘ 𝑡 ) − 1 ) ) ) )
30 29 cbvmptv ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) = ( 𝑡 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑡 ‘ ( ( ♯ ‘ 𝑡 ) − 2 ) ) + ( 𝑡 ‘ ( ( ♯ ‘ 𝑡 ) − 1 ) ) ) )
31 30 a1i ( 𝑁 ∈ ℕ → ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) = ( 𝑡 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑡 ‘ ( ( ♯ ‘ 𝑡 ) − 2 ) ) + ( 𝑡 ‘ ( ( ♯ ‘ 𝑡 ) − 1 ) ) ) ) )
32 simpr ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → 𝑡 = ( ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) )
33 1 a1i ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → Fibci = ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) )
34 33 reseq1d ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) = ( ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) )
35 32 34 eqtr4d ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) )
36 simpr ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) )
37 36 fveq2d ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( ♯ ‘ 𝑡 ) = ( ♯ ‘ ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) )
38 5 10 11 13 sseqf ( 𝑁 ∈ ℕ → ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) : ℕ0 ⟶ ℕ0 )
39 1 a1i ( 𝑁 ∈ ℕ → Fibci = ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) )
40 39 feq1d ( 𝑁 ∈ ℕ → ( Fibci : ℕ0 ⟶ ℕ0 ↔ ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) : ℕ0 ⟶ ℕ0 ) )
41 38 40 mpbird ( 𝑁 ∈ ℕ → Fibci : ℕ0 ⟶ ℕ0 )
42 nnnn0 ( 𝑁 ∈ ℕ → 𝑁 ∈ ℕ0 )
43 42 9 nn0addcld ( 𝑁 ∈ ℕ → ( 𝑁 + 1 ) ∈ ℕ0 )
44 5 41 43 subiwrdlen ( 𝑁 ∈ ℕ → ( ♯ ‘ ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) = ( 𝑁 + 1 ) )
45 44 adantr ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( ♯ ‘ ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) = ( 𝑁 + 1 ) )
46 37 45 eqtrd ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( ♯ ‘ 𝑡 ) = ( 𝑁 + 1 ) )
47 46 oveq1d ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( ( ♯ ‘ 𝑡 ) − 2 ) = ( ( 𝑁 + 1 ) − 2 ) )
48 nncn ( 𝑁 ∈ ℕ → 𝑁 ∈ ℂ )
49 1cnd ( 𝑁 ∈ ℕ → 1 ∈ ℂ )
50 2cnd ( 𝑁 ∈ ℕ → 2 ∈ ℂ )
51 48 49 50 addsubassd ( 𝑁 ∈ ℕ → ( ( 𝑁 + 1 ) − 2 ) = ( 𝑁 + ( 1 − 2 ) ) )
52 48 50 49 subsub2d ( 𝑁 ∈ ℕ → ( 𝑁 − ( 2 − 1 ) ) = ( 𝑁 + ( 1 − 2 ) ) )
53 2m1e1 ( 2 − 1 ) = 1
54 53 oveq2i ( 𝑁 − ( 2 − 1 ) ) = ( 𝑁 − 1 )
55 54 a1i ( 𝑁 ∈ ℕ → ( 𝑁 − ( 2 − 1 ) ) = ( 𝑁 − 1 ) )
56 51 52 55 3eqtr2d ( 𝑁 ∈ ℕ → ( ( 𝑁 + 1 ) − 2 ) = ( 𝑁 − 1 ) )
57 56 adantr ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( ( 𝑁 + 1 ) − 2 ) = ( 𝑁 − 1 ) )
58 47 57 eqtrd ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( ( ♯ ‘ 𝑡 ) − 2 ) = ( 𝑁 − 1 ) )
59 58 fveq2d ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( 𝑡 ‘ ( ( ♯ ‘ 𝑡 ) − 2 ) ) = ( 𝑡 ‘ ( 𝑁 − 1 ) ) )
60 36 fveq1d ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( 𝑡 ‘ ( 𝑁 − 1 ) ) = ( ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ‘ ( 𝑁 − 1 ) ) )
61 nnm1nn0 ( 𝑁 ∈ ℕ → ( 𝑁 − 1 ) ∈ ℕ0 )
62 peano2nn ( 𝑁 ∈ ℕ → ( 𝑁 + 1 ) ∈ ℕ )
63 nnre ( 𝑁 ∈ ℕ → 𝑁 ∈ ℝ )
64 2re 2 ∈ ℝ
65 64 a1i ( 𝑁 ∈ ℕ → 2 ∈ ℝ )
66 63 65 readdcld ( 𝑁 ∈ ℕ → ( 𝑁 + 2 ) ∈ ℝ )
67 1red ( 𝑁 ∈ ℕ → 1 ∈ ℝ )
68 2rp 2 ∈ ℝ+
69 68 a1i ( 𝑁 ∈ ℕ → 2 ∈ ℝ+ )
70 63 69 ltaddrpd ( 𝑁 ∈ ℕ → 𝑁 < ( 𝑁 + 2 ) )
71 63 66 67 70 ltsub1dd ( 𝑁 ∈ ℕ → ( 𝑁 − 1 ) < ( ( 𝑁 + 2 ) − 1 ) )
72 48 50 49 addsubassd ( 𝑁 ∈ ℕ → ( ( 𝑁 + 2 ) − 1 ) = ( 𝑁 + ( 2 − 1 ) ) )
73 53 oveq2i ( 𝑁 + ( 2 − 1 ) ) = ( 𝑁 + 1 )
74 72 73 eqtrdi ( 𝑁 ∈ ℕ → ( ( 𝑁 + 2 ) − 1 ) = ( 𝑁 + 1 ) )
75 71 74 breqtrd ( 𝑁 ∈ ℕ → ( 𝑁 − 1 ) < ( 𝑁 + 1 ) )
76 elfzo0 ( ( 𝑁 − 1 ) ∈ ( 0 ..^ ( 𝑁 + 1 ) ) ↔ ( ( 𝑁 − 1 ) ∈ ℕ0 ∧ ( 𝑁 + 1 ) ∈ ℕ ∧ ( 𝑁 − 1 ) < ( 𝑁 + 1 ) ) )
77 61 62 75 76 syl3anbrc ( 𝑁 ∈ ℕ → ( 𝑁 − 1 ) ∈ ( 0 ..^ ( 𝑁 + 1 ) ) )
78 77 adantr ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( 𝑁 − 1 ) ∈ ( 0 ..^ ( 𝑁 + 1 ) ) )
79 fvres ( ( 𝑁 − 1 ) ∈ ( 0 ..^ ( 𝑁 + 1 ) ) → ( ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ‘ ( 𝑁 − 1 ) ) = ( Fibci ‘ ( 𝑁 − 1 ) ) )
80 78 79 syl ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ‘ ( 𝑁 − 1 ) ) = ( Fibci ‘ ( 𝑁 − 1 ) ) )
81 59 60 80 3eqtrd ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( 𝑡 ‘ ( ( ♯ ‘ 𝑡 ) − 2 ) ) = ( Fibci ‘ ( 𝑁 − 1 ) ) )
82 46 oveq1d ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( ( ♯ ‘ 𝑡 ) − 1 ) = ( ( 𝑁 + 1 ) − 1 ) )
83 simpl ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → 𝑁 ∈ ℕ )
84 83 nncnd ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → 𝑁 ∈ ℂ )
85 1cnd ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → 1 ∈ ℂ )
86 84 85 pncand ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( ( 𝑁 + 1 ) − 1 ) = 𝑁 )
87 82 86 eqtrd ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( ( ♯ ‘ 𝑡 ) − 1 ) = 𝑁 )
88 87 fveq2d ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( 𝑡 ‘ ( ( ♯ ‘ 𝑡 ) − 1 ) ) = ( 𝑡𝑁 ) )
89 36 fveq1d ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( 𝑡𝑁 ) = ( ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ‘ 𝑁 ) )
90 nn0fz0 ( 𝑁 ∈ ℕ0𝑁 ∈ ( 0 ... 𝑁 ) )
91 42 90 sylib ( 𝑁 ∈ ℕ → 𝑁 ∈ ( 0 ... 𝑁 ) )
92 nnz ( 𝑁 ∈ ℕ → 𝑁 ∈ ℤ )
93 fzval3 ( 𝑁 ∈ ℤ → ( 0 ... 𝑁 ) = ( 0 ..^ ( 𝑁 + 1 ) ) )
94 92 93 syl ( 𝑁 ∈ ℕ → ( 0 ... 𝑁 ) = ( 0 ..^ ( 𝑁 + 1 ) ) )
95 91 94 eleqtrd ( 𝑁 ∈ ℕ → 𝑁 ∈ ( 0 ..^ ( 𝑁 + 1 ) ) )
96 95 adantr ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → 𝑁 ∈ ( 0 ..^ ( 𝑁 + 1 ) ) )
97 fvres ( 𝑁 ∈ ( 0 ..^ ( 𝑁 + 1 ) ) → ( ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ‘ 𝑁 ) = ( Fibci ‘ 𝑁 ) )
98 96 97 syl ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ‘ 𝑁 ) = ( Fibci ‘ 𝑁 ) )
99 88 89 98 3eqtrd ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( 𝑡 ‘ ( ( ♯ ‘ 𝑡 ) − 1 ) ) = ( Fibci ‘ 𝑁 ) )
100 81 99 oveq12d ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( ( 𝑡 ‘ ( ( ♯ ‘ 𝑡 ) − 2 ) ) + ( 𝑡 ‘ ( ( ♯ ‘ 𝑡 ) − 1 ) ) ) = ( ( Fibci ‘ ( 𝑁 − 1 ) ) + ( Fibci ‘ 𝑁 ) ) )
101 35 100 syldan ( ( 𝑁 ∈ ℕ ∧ 𝑡 = ( ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) → ( ( 𝑡 ‘ ( ( ♯ ‘ 𝑡 ) − 2 ) ) + ( 𝑡 ‘ ( ( ♯ ‘ 𝑡 ) − 1 ) ) ) = ( ( Fibci ‘ ( 𝑁 − 1 ) ) + ( Fibci ‘ 𝑁 ) ) )
102 39 reseq1d ( 𝑁 ∈ ℕ → ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) = ( ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) )
103 5 41 43 subiwrd ( 𝑁 ∈ ℕ → ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ∈ Word ℕ0 )
104 ovex ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) ∈ V
105 1 104 eqeltri Fibci ∈ V
106 105 resex ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ∈ V
107 106 a1i ( 𝑁 ∈ ℕ → ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ∈ V )
108 18 fveq2i ( ℤ ‘ ( 1 + 1 ) ) = ( ℤ ‘ 2 )
109 16 108 eleqtrdi ( 𝑁 ∈ ℕ → ( 𝑁 + 1 ) ∈ ( ℤ ‘ 2 ) )
110 44 109 eqeltrd ( 𝑁 ∈ ℕ → ( ♯ ‘ ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) ∈ ( ℤ ‘ 2 ) )
111 hashf ♯ : V ⟶ ( ℕ0 ∪ { +∞ } )
112 ffn ( ♯ : V ⟶ ( ℕ0 ∪ { +∞ } ) → ♯ Fn V )
113 elpreima ( ♯ Fn V → ( ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ∈ ( ♯ “ ( ℤ ‘ 2 ) ) ↔ ( ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ∈ V ∧ ( ♯ ‘ ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) ∈ ( ℤ ‘ 2 ) ) ) )
114 111 112 113 mp2b ( ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ∈ ( ♯ “ ( ℤ ‘ 2 ) ) ↔ ( ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ∈ V ∧ ( ♯ ‘ ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) ∈ ( ℤ ‘ 2 ) ) )
115 107 110 114 sylanbrc ( 𝑁 ∈ ℕ → ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ∈ ( ♯ “ ( ℤ ‘ 2 ) ) )
116 103 115 elind ( 𝑁 ∈ ℕ → ( Fibci ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) )
117 102 116 eqeltrrd ( 𝑁 ∈ ℕ → ( ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) )
118 ovex ( ( Fibci ‘ ( 𝑁 − 1 ) ) + ( Fibci ‘ 𝑁 ) ) ∈ V
119 118 a1i ( 𝑁 ∈ ℕ → ( ( Fibci ‘ ( 𝑁 − 1 ) ) + ( Fibci ‘ 𝑁 ) ) ∈ V )
120 31 101 117 119 fvmptd ( 𝑁 ∈ ℕ → ( ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ‘ ( ( ⟨“ 0 1 ”⟩ seqstr ( 𝑤 ∈ ( Word ℕ0 ∩ ( ♯ “ ( ℤ ‘ 2 ) ) ) ↦ ( ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 2 ) ) + ( 𝑤 ‘ ( ( ♯ ‘ 𝑤 ) − 1 ) ) ) ) ) ↾ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) = ( ( Fibci ‘ ( 𝑁 − 1 ) ) + ( Fibci ‘ 𝑁 ) ) )
121 3 22 120 3eqtrd ( 𝑁 ∈ ℕ → ( Fibci ‘ ( 𝑁 + 1 ) ) = ( ( Fibci ‘ ( 𝑁 − 1 ) ) + ( Fibci ‘ 𝑁 ) ) )