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

Definition df-seq1 6673
Description: Define a general-purpose operation that builds an recursive sequence (i.e. a function on the natural numbers NN) whose value at an index is a function of its previous value and the value of an input sequence at that index. This definition is complicated, but fortunately it is not intended to be used directly. Instead, the only purpose of this definition is to provide us with an object that has the properties expressed by seq11 6682 and seq1p1 6683. Typically, those are the main theorems that would be used in practice.

The first operand is the operation that is applied to the previous value and the value of the input sequence (second operand). For example, for the operation +, an input sequence F with values 1, 1/2, 1/4, 1/8,... would be transformed into the output sequence ( + seq1 F) with values 1, 3/2, 7/4, 15/8,.., so that (( + seq1 F)` 1) = 1, (( + seq1 F)` 2) = 3/2, etc. In other words, ( + seq1 F) transforms a sequence F into an infinite series. ( + seq1 F) ~~> 2 means "the sum of F(n) from n = 1 to infinity is 2." Since limits are unique (climuni 7302), then by eusn 2507 and unisn 2583 the "sum of F(n) from n = 1 to infinity" can be expressed as U.{x | ( + seq1 F) ~~> x} (provided the sequence converges) and evaluates to 2 in this example.

Internally, we define a recursive function whose values are ordered pairs starting at <.1, (g` 1)>.. The first member of the ordered pair is a counter used to select the appropriate value of the input sequence g. The first rec constructs this function on om, and the converse of the second rec maps NN to om.

This definition has its roots in a series of theorems starting at om2uz0i 6658, originally proved by Raph Levien for use with df-exp 6764 and later generalized for arbitrary recursive sequences. The related definitions df-seq0 6729 and df-seqz 6728 build recursive sequences on NN0 and general upper integer sets respectively. Definition df-sum 7183 extracts the summation values from partial (finite) and complete (infinite) series.

Assertion
Ref Expression
df-seq1 |- seq1 = {<.<.f, g>., h>. | h = {<.x, y>. | (x e. NN /\ y = (2nd`
((rec({<.z, w>. | w = <.((1st` z) + 1), ((2nd`
z)f(g` ((1st` z) + 1)))>.}, <.1, (g` 1)>.) o. `'(rec({<.z, w>. | w = (z + 1)}, 1) |` om))` x)))}}
Distinct variable group:   x,y,z,w,f,g,h

Detailed syntax breakdown of Definition df-seq1
StepHypRef Expression
1 cseq1 6672 . 2 class seq1
2 vh . . . . 5 set h
32cv 991 . . . 4 class h
4 vx . . . . . . . 8 set x
54cv 991 . . . . . . 7 class x
6 cn 5450 . . . . . . 7 class NN
75, 6wcel 994 . . . . . 6 wff x e. NN
8 vy . . . . . . . 8 set y
98cv 991 . . . . . . 7 class y
10 vw . . . . . . . . . . . . . 14 set w
1110cv 991 . . . . . . . . . . . . 13 class w
12 vz . . . . . . . . . . . . . . . . 17 set z
1312cv 991 . . . . . . . . . . . . . . . 16 class z
14 c1st 4138 . . . . . . . . . . . . . . . 16 class 1st
1513, 14cfv 3263 . . . . . . . . . . . . . . 15 class (1st`
z)
16 c1 5389 . . . . . . . . . . . . . . 15 class 1
17 caddc 5391 . . . . . . . . . . . . . . 15 class +
1815, 16, 17co 4021 . . . . . . . . . . . . . 14 class ((1st` z) + 1)
19 c2nd 4139 . . . . . . . . . . . . . . . 16 class 2nd
2013, 19cfv 3263 . . . . . . . . . . . . . . 15 class (2nd`
z)
21 vg . . . . . . . . . . . . . . . . 17 set g
2221cv 991 . . . . . . . . . . . . . . . 16 class g
2318, 22cfv 3263 . . . . . . . . . . . . . . 15 class (g` ((1st`
z) + 1))
24 vf . . . . . . . . . . . . . . . 16 set f
2524cv 991 . . . . . . . . . . . . . . 15 class f
2620, 23, 25co 4021 . . . . . . . . . . . . . 14 class ((2nd` z)f(g` ((1st` z) + 1)))
2718, 26cop 2469 . . . . . . . . . . . . 13 class <.((1st` z) + 1), ((2nd`
z)f(g` ((1st` z) + 1)))>.
2811, 27wceq 992 . . . . . . . . . . . 12 wff w = <.((1st`
z) + 1), ((2nd` z)f(g` ((1st`
z) + 1)))>.
2928, 12, 10copab 2740 . . . . . . . . . . 11 class {<.z, w>. | w = <.((1st` z) + 1), ((2nd` z)f(g` ((1st` z) + 1)))>.}
3016, 22cfv 3263 . . . . . . . . . . . 12 class (g` 1)
3116, 30cop 2469 . . . . . . . . . . 11 class <.1, (g` 1)>.
3229, 31crdg 4232 . . . . . . . . . 10 class rec({<.z, w>. | w = <.((1st` z) + 1), ((2nd` z)f(g` ((1st` z) + 1)))>.}, <.1, (g` 1)>.)
3313, 16, 17co 4021 . . . . . . . . . . . . . . 15 class (z + 1)
3411, 33wceq 992 . . . . . . . . . . . . . 14 wff w = (z + 1)
3534, 12, 10copab 2740 . . . . . . . . . . . . 13 class {<.z, w>. | w = (z + 1)}
3635, 16crdg 4232 . . . . . . . . . . . 12 class rec({<.z, w>. | w = (z + 1)}, 1)
37 com 3218 . . . . . . . . . . . 12 class om
3836, 37cres 3253 . . . . . . . . . . 11 class (rec({<.z, w>. | w = (z + 1)}, 1) |` om)
3938ccnv 3250 . . . . . . . . . 10 class `'(rec({<.z, w>. | w = (z + 1)}, 1) |` om)
4032, 39ccom 3255 . . . . . . . . 9 class (rec({<.z, w>. | w = <.((1st` z) + 1), ((2nd`
z)f(g` ((1st` z) + 1)))>.}, <.1, (g` 1)>.) o. `'(rec({<.z, w>. | w = (z + 1)}, 1) |` om))
415, 40cfv 3263 . . . . . . . 8 class ((rec({<.z, w>. | w = <.((1st` z) + 1), ((2nd` z)f(g` ((1st` z) + 1)))>.}, <.1, (g` 1)>.) o. `'(rec({<.z, w>. | w = (z + 1)}, 1) |` om))` x)
4241, 19cfv 3263 . . . . . . 7 class (2nd`
((rec({<.z, w>. | w = <.((1st` z) + 1), ((2nd`
z)f(g` ((1st` z) + 1)))>.}, <.1, (g` 1)>.) o. `'(rec({<.z, w>. | w = (z + 1)}, 1) |` om))` x))
439, 42wceq 992 . . . . . 6 wff y = (2nd` ((rec({<.z, w>. | w = <.((1st` z) + 1), ((2nd` z)f(g` ((1st` z) + 1)))>.}, <.1, (g` 1)>.) o. `'(rec({<.z, w>. | w = (z + 1)}, 1) |` om))` x))
447, 43wa 221 . . . . 5 wff (x e. NN /\ y = (2nd`
((rec({<.z, w>. | w = <.((1st` z) + 1), ((2nd`
z)f(g` ((1st` z) + 1)))>.}, <.1, (g` 1)>.) o. `'(rec({<.z, w>. | w = (z + 1)}, 1) |` om))` x)))
4544, 4, 8copab 2740 . . . 4 class {<.x, y>. | (x e. NN /\ y = (2nd` ((rec({<.z, w>. | w = <.((1st` z) + 1), ((2nd` z)f(g` ((1st` z) + 1)))>.}, <.1, (g` 1)>.) o. `'(rec({<.z, w>. | w = (z + 1)}, 1) |` om))` x)))}
463, 45wceq 992 . . 3 wff h = {<.x, y>. | (x e. NN /\ y = (2nd`
((rec({<.z, w>. | w = <.((1st` z) + 1), ((2nd`
z)f(g` ((1st` z) + 1)))>.}, <.1, (g` 1)>.) o. `'(rec({<.z, w>. | w = (z + 1)}, 1) |` om))` x)))}
4746, 24, 21, 2copab2 4022 . 2 class {<.<.f, g>., h>. | h = {<.x, y>. | (x e. NN /\ y = (2nd` ((rec({<.z, w>. | w = <.((1st` z) + 1), ((2nd` z)f(g` ((1st` z) + 1)))>.}, <.1, (g` 1)>.) o. `'(rec({<.z, w>. | w = (z + 1)}, 1) |` om))` x)))}}
481, 47wceq 992 1 wff seq1 = {<.<.f, g>., h>. | h = {<.x, y>. | (x e. NN /\ y = (2nd`
((rec({<.z, w>. | w = <.((1st` z) + 1), ((2nd`
z)f(g` ((1st` z) + 1)))>.}, <.1, (g` 1)>.) o. `'(rec({<.z, w>. | w = (z + 1)}, 1) |` om))` x)))}}
Colors of variables: wff set class
This definition is referenced by:  seq1val 6677
Copyright terms: Public domain