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

Theorem seqzval2t 6485
Description: Value of the arbitrary-based recursive sequence builder operation.
Hypotheses
Ref Expression
seq0val.1 |- S e. V
seq0val.2 |- F e. V
Assertion
Ref Expression
seqzval2t |- ((M e. ZZ /\ N e. ZZ /\ M <_ N) -> ((<.M, S>. seq F)` N) = (((S seq0 (F shift -uM)) shift M)` N))

Proof of Theorem seqzval2t
StepHypRef Expression
1 zcnt 6087 . . . . 5 |- (N e. ZZ -> N e. CC)
2 oprex 3968 . . . . . 6 |- (M - 1) e. V
3 oprex 3968 . . . . . . 7 |- (S seq1 (F shift (1 - M))) e. V
43shftvalt 6283 . . . . . 6 |- (((M - 1) e. V /\ N e. CC) -> (((S seq1 (F shift (1 - M))) shift (M - 1))` N) = ((S seq1 (F shift (1 - M)))` (N - (M - 1))))
52, 4mpan 693 . . . . 5 |- (N e. CC -> (((S seq1 (F shift (1 - M))) shift (M - 1))` N) = ((S seq1 (F shift (1 - M)))` (N - (M - 1))))
61, 5syl 10 . . . 4 |- (N e. ZZ -> (((S seq1 (F shift (1 - M))) shift (M - 1))` N) = ((S seq1 (F shift (1 - M)))` (N - (M - 1))))
763ad2ant2 799 . . 3 |- ((M e. ZZ /\ N e. ZZ /\ M <_ N) -> (((S seq1 (F shift (1 - M))) shift (M - 1))` N) = ((S seq1 (F shift (1 - M)))` (N - (M - 1))))
8 zcnt 6087 . . . . . . . 8 |- (M e. ZZ -> M e. CC)
9 negclt 5340 . . . . . . . . . 10 |- (M e. CC -> -uM e. CC)
10 ax1cn 5241 . . . . . . . . . . 11 |- 1 e. CC
11 seq0val.2 . . . . . . . . . . . 12 |- F e. V
12112shft 6289 . . . . . . . . . . 11 |- ((-uM e. CC /\ 1 e. CC) -> ((F shift -uM) shift 1) = (F shift (-uM + 1)))
1310, 12mpan2 694 . . . . . . . . . 10 |- (-uM e. CC -> ((F shift -uM) shift 1) = (F shift (-uM + 1)))
149, 13syl 10 . . . . . . . . 9 |- (M e. CC -> ((F shift -uM) shift 1) = (F shift (-uM + 1)))
15 axaddcom 5247 . . . . . . . . . . . . 13 |- ((-uM e. CC /\ 1 e. CC) -> (-uM + 1) = (1 + -uM))
1610, 15mpan2 694 . . . . . . . . . . . 12 |- (-uM e. CC -> (-uM + 1) = (1 + -uM))
179, 16syl 10 . . . . . . . . . . 11 |- (M e. CC -> (-uM + 1) = (1 + -uM))
18 negsubt 5354 . . . . . . . . . . . 12 |- ((1 e. CC /\ M e. CC) -> (1 + -uM) = (1 - M))
1910, 18mpan 693 . . . . . . . . . . 11 |- (M e. CC -> (1 + -uM) = (1 - M))
2017, 19eqtrd 1499 . . . . . . . . . 10 |- (M e. CC -> (-uM + 1) = (1 - M))
2120opreq2d 3961 . . . . . . . . 9 |- (M e. CC -> (F shift (-uM + 1)) = (F shift (1 - M)))
2214, 21eqtrd 1499 . . . . . . . 8 |- (M e. CC -> ((F shift -uM) shift 1) = (F shift (1 - M)))
238, 22syl 10 . . . . . . 7 |- (M e. ZZ -> ((F shift -uM) shift 1) = (F shift (1 - M)))
2423opreq2d 3961 . . . . . 6 |- (M e. ZZ -> (S seq1 ((F shift -uM) shift 1)) = (S seq1 (F shift (1 - M))))
2524fveq1d 3711 . . . . 5 |- (M e. ZZ -> ((S seq1 ((F shift -uM) shift 1))` (N - (M - 1))) = ((S seq1 (F shift (1 - M)))` (N - (M - 1))))
26253ad2ant1 798 . . . 4 |- ((M e. ZZ /\ N e. ZZ /\ M <_ N) -> ((S seq1 ((F shift -uM) shift 1))` (N - (M - 1))) = ((S seq1 (F shift (1 - M)))` (N - (M - 1))))
27 subsubt 5434 . . . . . . . . . 10 |- ((N e. CC /\ M e. CC /\ 1 e. CC) -> (N - (M - 1)) = ((N - M) + 1))
2810, 27mp3an3 902 . . . . . . . . 9 |- ((N e. CC /\ M e. CC) -> (N - (M - 1)) = ((N - M) + 1))
2928, 1, 8syl2an 454 . . . . . . . 8 |- ((N e. ZZ /\ M e. ZZ) -> (N - (M - 1)) = ((N - M) + 1))
3029ancoms 436 . . . . . . 7 |- ((M e. ZZ /\ N e. ZZ) -> (N - (M - 1)) = ((N - M) + 1))
31303adant3 797 . . . . . 6 |- ((M e. ZZ /\ N e. ZZ /\ M <_ N) -> (N - (M - 1)) = ((N - M) + 1))
32 znn0sub2t 6126 . . . . . . 7 |- ((M e. ZZ /\ N e. ZZ /\ M <_ N) -> (N - M) e. NN0)
33 nn0p1nnt 6122 . . . . . . 7 |- ((N - M) e. NN0 -> ((N - M) + 1) e. NN)
3432, 33syl 10 . . . . . 6 |- ((M e. ZZ /\ N e. ZZ /\ M <_ N) -> ((N - M) + 1) e. NN)
3531, 34eqeltrd 1540 . . . . 5 |- ((M e. ZZ /\ N e. ZZ /\ M <_ N) -> (N - (M - 1)) e. NN)
36 seq0val.1 . . . . . 6 |- S e. V
37 oprex 3968 . . . . . 6 |- (F shift -uM) e. V
3836, 37seq1seq02t 6475 . . . . 5 |- ((N - (M - 1)) e. NN -> ((S seq1 ((F shift -uM) shift 1))` (N - (M - 1))) = (((S seq0 (F shift -uM)) shift 1)` (N - (M - 1))))
3935, 38syl 10 . . . 4 |- ((M e. ZZ /\ N e. ZZ /\ M <_ N) -> ((S seq1 ((F shift -uM) shift 1))` (N - (M - 1))) = (((S seq0 (F shift -uM)) shift 1)` (N - (M - 1))))
4026, 39eqtr3d 1501 . . 3 |- ((M e. ZZ /\ N e. ZZ /\ M <_ N) -> ((S seq1 (F shift (1 - M)))` (N - (M - 1))) = (((S seq0 (F shift -uM)) shift 1)` (N - (M - 1))))
41 subclt 5339 . . . . . . . . 9 |- ((N e. CC /\ (M - 1) e. CC) -> (N - (M - 1)) e. CC)
42 subclt 5339 . . . . . . . . . 10 |- ((M e. CC /\ 1 e. CC) -> (M - 1) e. CC)
4310, 42mpan2 694 . . . . . . . . 9 |- (M e. CC -> (M - 1) e. CC)
4441, 43sylan2 451 . . . . . . . 8 |- ((N e. CC /\ M e. CC) -> (N - (M - 1)) e. CC)
45 oprex 3968 . . . . . . . . . 10 |- (S seq0 (F shift -uM)) e. V
4645shftvalt 6283 . . . . . . . . 9 |- ((1 e. CC /\ (N - (M - 1)) e. CC) -> (((S seq0 (F shift -uM)) shift 1)` (N - (M - 1))) = ((S seq0 (F shift -uM))` ((N - (M - 1)) - 1)))
4710, 46mpan 693 . . . . . . . 8 |- ((N - (M - 1)) e. CC -> (((S seq0 (F shift -uM)) shift 1)` (N - (M - 1))) = ((S seq0 (F shift -uM))` ((N - (M - 1)) - 1)))
4844, 47syl 10 . . . . . . 7 |- ((N e. CC /\ M e. CC) -> (((S seq0 (F shift -uM)) shift 1)` (N - (M - 1))) = ((S seq0 (F shift -uM))` ((N - (M - 1)) - 1)))
49 nnncant 5438 . . . . . . . . 9 |- ((N e. CC /\ M e. CC /\ 1 e. CC) -> ((N - (M - 1)) - 1) = (N - M))
5010, 49mp3an3 902 . . . . . . . 8 |- ((N e. CC /\ M e. CC) -> ((N - (M - 1)) - 1) = (N - M))
5150fveq2d 3713 . . . . . . 7 |- ((N e. CC /\ M e. CC) -> ((S seq0 (F shift -uM))` ((N - (M - 1)) - 1)) = ((S seq0 (F shift -uM))` (N - M)))
5248, 51eqtrd 1499 . . . . . 6 |- ((N e. CC /\ M e. CC) -> (((S seq0 (F shift -uM)) shift 1)` (N - (M - 1))) = ((S seq0 (F shift -uM))` (N - M)))
5352ancoms 436 . . . . 5 |- ((M e. CC /\ N e. CC) -> (((S seq0 (F shift -uM)) shift 1)` (N - (M - 1))) = ((S seq0 (F shift -uM))` (N - M)))
5453, 8, 1syl2an 454 . . . 4 |- ((M e. ZZ /\ N e. ZZ) -> (((S seq0 (F shift -uM)) shift 1)` (N - (M - 1))) = ((S seq0 (F shift -uM))` (N - M)))
55543adant3 797 . . 3 |- ((M e. ZZ /\ N e. ZZ /\ M <_ N) -> (((S seq0 (F shift -uM)) shift 1)` (N - (M - 1))) = ((S seq0 (F shift -uM))` (N - M)))
567, 40, 553eqtrd 1503 . 2 |- ((M e. ZZ /\ N e. ZZ /\ M <_ N) -> (((S seq1 (F shift (1 - M))) shift (