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

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

Proof of Theorem seq1lem1
StepHypRef Expression
1 fveq2 3709 . . . 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 3713 . . 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 59 . . 3 |- (v = 1 -> v = 1)
42, 3eqeq12d 1481 . 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 3709 . . . 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 3713 . . 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 59 . . 3 |- (v = u -> v = u)
86, 7eqeq12d 1481 . 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 3709 . . . 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 3713 . . 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 59 . . 3 |- (v = (u + 1) -> v = (u + 1))
1210, 11eqeq12d 1481 . 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 3709 . . . 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 3713 . . 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 59 . . 3 |- (v = A -> v = A)
1614, 15eqeq12d 1481 . 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 2772 . . . . 5 |- <.1, C>. e. V
18 1z 6106 . . . . . 6 |- 1 e. ZZ
19 seq1lem1.1 . . . . . 6 |- G = (rec({<.x, y>. | y = (x + 1)}, 1) |` om)
2018, 19uzrdgini 6240 . . . . 5 |- (<.1, C>. e. V -> ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` 1) = <.1, C>.)
2117, 20ax-mp 7 . . . 4 |- ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` 1) = <.1, C>.
2221fveq2i 3712 . . 3 |- (1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` 1)) = (1st` <.1, C>.)
2318elisseti 1809 . . . 4 |- 1 e. V
2423op1st 4069 . . 3 |- (1st` <.1, C>.) = 1
2522, 24eqtr 1487 . 2 |- (1st` ((rec({<.z, w>. | w = <.((1st` z) + 1), B>.}, <.1, C>.) o. `'G)` 1)) = 1
26 nnzrab 6104 . . . . . . . . 9 |- NN = {v e. ZZ | 1 <_ v}
2726eleq2i 1530 . . . . . . . 8 |- (u e. NN <-> u e. {v e. ZZ | 1 <_ v})
2818, 19uzrdgsuc 6241 . . . . . . . 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 199 . . . . . . 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 968 . . . . . . . . . 10 |- (w = <.((1st` z) + 1), B>. -> A.v w = <.((1st` z) + 1), B>.)
31 ax-17 968 . . . . . . . . . . . 12 |- (w e. ((1st` v) + 1) -> A.z w e. ((1st` v) + 1))
32 hbs1 1327 . . . . . . . . . . . . 13 |- ([v / z]t e. B -> A.z[v / z]t e. B)
3332hbab 1460 . . . . . . . . . . . 12 |- (w e. {t | [v / z]t e. B} -> A.z w e. {t | [v / z]t e. B})
3431, 33hbop 2487 . . . . . . . . . . 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 1559 . . . . . . . . . 10 |- (w = <.((1st` v) + 1), {t | [v / z]t e. B}>. -> A.z w = <.((1st` v) + 1), {t | [