HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem seqlem1 4662
Description: We prove by induction that the first member of the ordered pair value of the internal sequence of seq equals its index.
Hypothesis
Ref Expression
seqlem1.1 |- G = (rec({<.x, y>. | y = (x + 1)}, 1) |` om)
Assertion
Ref Expression
seqlem1 |- (A e. NN -> (1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` A)) = A)
Distinct variable group(s):   x,y   z,w   w,B   x,C

Proof of Theorem seqlem1
StepHypRef Expression
1 fveq2 2832 . . . 4 |- (v = 1 -> ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` v) = ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` 1))
21fveq2d 2836 . . 3 |- (v = 1 -> (1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` v)) = (1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` 1)))
3 id 9 . . 3 |- (v = 1 -> v = 1)
42, 3cleq12d 1115 . 2 |- (v = 1 -> ((1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` v)) = v <-> (1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` 1)) = 1))
5 fveq2 2832 . . . 4 |- (v = u -> ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` v) = ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` u))
65fveq2d 2836 . . 3 |- (v = u -> (1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` v)) = (1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` u)))
7 id 9 . . 3 |- (v = u -> v = u)
86, 7cleq12d 1115 . 2 |- (v = u -> ((1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` v)) = v <-> (1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` u)) = u))
9 fveq2 2832 . . . 4 |- (v = (u + 1) -> ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` v) = ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` (u + 1)))
109fveq2d 2836 . . 3 |- (v = (u + 1) -> (1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` v)) = (1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` (u + 1))))
11 id 9 . . 3 |- (v = (u + 1) -> v = (u + 1))
1210, 11cleq12d 1115 . 2 |- (v = (u + 1) -> ((1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` v)) = v <-> (1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` (u + 1))) = (u + 1)))
13 fveq2 2832 . . . 4 |- (v = A -> ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` v) = ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` A))
1413fveq2d 2836 . . 3 |- (v = A -> (1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` v)) = (1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` A)))
15 id 9 . . 3 |- (v = A -> v = A)
1614, 15cleq12d 1115 . 2 |- (v = A -> ((1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` v)) = v <-> (1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` A)) = A))
17 opex 1893 . . . . 5 |- <.1, C>. e. V
18 1z 4584 . . . . . 6 |- 1 e. ZZ
19 seqlem1.1 . . . . . 6 |- G = (rec({<.x, y>. | y = (x + 1)}, 1) |` om)
2018, 19uzrdgini 4658 . . . . 5 |- (<.1, C>. e. V -> ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` 1) = <.1, C>.)
2117, 20ax-mp 6 . . . 4 |- ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` 1) = <.1, C>.
2221fveq2i 2835 . . 3 |- (1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` 1)) = (1st` <.1, C>.)
2318elisseti 1355 . . . 4 |- 1 e. V
2423op1st 3091 . . 3 |- (1st` <.1, C>.) = 1
2522, 24eqtr 1119 . 2 |- (1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` 1)) = 1
26 nnz 4582 . . . . . . . . 9 |- NN = {v e. ZZ | 1 <_ v}
2726eleq2i 1153 . . . . . . . 8 |- (u e. NN <-> u e. {v e. ZZ | 1 <_ v})
2818, 19uzrdgsuc 4659 . . . . . . . 8 |- (u e. {v e. ZZ | 1 <_ v} -> ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` (u + 1)) = ({<.z, w>. | w = <.((1st` z) + 1), B>.}` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` u)))
2927, 28sylbi 174 . . . . . . 7 |- (u e. NN -> ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` (u + 1)) = ({<.z, w>. | w = <.((1st` z) + 1), B>.}` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` u)))
30 ax-17 925 . . . . . . . . . 10 |- (w = <.((1st` z) + 1), B>. -> A.v w = <.((1st` z) + 1), B>.)
31 ax-17 925 . . . . . . . . . . . 12 |- (w e. ((1st` v) + 1) -> A.z w e. ((1st` v) + 1))
32 hbs1 986 . . . . . . . . . . . . 13 |- ([v / z]t e. B -> A.z[v / z]t e. B)
3332hbab 1096 . . . . . . . . . . . 12 |- (w e. {t | [v / z]t e. B} -> A.z w e. {t | [v / z]t e. B})
3431, 33hbop 1879 . . . . . . . . . . 11 |- (w e. <.((1st` v) + 1), {t | [v / z]t e. B}>. -> A.z w e. <.((1st` v) + 1), {t | [v / z]t e. B}>.)
3534hbeleq 1173 . . . . . . . . . 10 |- (w = <.((1st` v) + 1), {t | [v / z]t e. B}>. -> A.z w = <.((1st` v) + 1), {t | [v / z]t e. B}>.)
36 opeq12 1878 . . . . . . . . . . . 12 |- ((((1st`
z) + 1) = ((1st` v) + 1) /\ B = {t | [<