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

Definition df-seq1 6308
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 6317 and seq1p1 6318. 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 7099), then by eusn 2446 and unisn 2517 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 om2uz0 6295, originally proved by Raph Levien for use with df-exp 6569 and later generalized for arbitrary recursive sequences. The related definitions df-seq0 6534 and df-seqz 6533 build recursive sequences on NN0 and general upper integer sets respectively. Definition df-sum 6980 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 6307 . 2 class seq1
2 vh . . . . 5 set h
32cv 955 . . . 4 class h
4 vx . . . . . . . 8 set x
54cv 955 . . . . . . 7 class x
6 cn 5296 . . . . . . 7 class NN
75, 6wcel 958 . . . . . 6 wff x e. NN
8 vy . . . . . . . 8 set y
98cv 955 . . . . . . 7 class y
10 vw . . . . . . . . . . . . . 14 set w
1110cv 955 . . . . . . . . . . . . 13 class w
12 vz . . . . . . . . . . . . . . . . 17 set z
1312cv 955 . . . . . . . . . . . . . . . 16 class z
14 c1st 4077 . . . . . . . . . . . . . . . 16 class 1st
1513, 14cfv 3182 . . . . . . . . . . . . . . 15 class (1st`
z)
16 c1 5235 . . . . . . . . . . . . . . 15 class 1
17 caddc 5237 . . . . . . . . . . . . . . 15 class +
1815, 16, 17co 3963 . . . . . . . . . . . . . 14 class ((1st` z) + 1)
19 c2nd 4078 . . . . . . . . . . . . . . . 16 class 2nd
2013, 19cfv 3182 . . . . . . . . . . . . . . 15 class (2nd`
z)
21 vg . . . . . . . . . . . . . . . . 17 set g
2221cv 955 . . . . . . . . . . . . . . . 16 class g
2318, 22cfv 3182 . . . . . . . . . . . . . . 15 class (g` ((1st`
z) + 1))
24 vf . . . . . . . . . . . . . . . 16 set f
2524cv 955 . . . . . . . . . . . . . . 15 class f
2620, 23, 25co 3963 . . . . . . . . . . . . . 14 class ((2nd` z)f(g` ((1st` z) + 1)))
2718, 26cop 2411 . . . . . . . . . . . . 13 class <.((1st` z) + 1), ((2nd`
z)f(g` ((1st` z) + 1)))>.
2811, 27wceq 956 . . . . . . . . . . . 12 wff w = <.((1st`
z) + 1), ((2nd` z)f(g` ((1st`
z) + 1)))>.
2928, 12, 10copab 2666 . . . . . . . . . . 11 class {<.z, w>. | w = <.((1st` z) + 1), ((2nd` z)f(g` ((1st` z) + 1)))>.}
3016, 22cfv 3182 . . . . . . . . . . . 12 class (g` 1)
3116, 30cop 2411 . . . . . . . . . . 11 class <.1, (g` 1)>.
3229, 31crdg 3931 . . . . . . . . . 10 class rec({<.z, w>. | w = <.((1st` z) + 1), ((2nd` z)f(g` ((1st` z) + 1)))>.}, <.1, (g` 1)>.)
3313, 16, 17co 3963 . . . . . . . . . . . . . . 15 class (z + 1)
3411, 33wceq 956 . . . . . . . . . . . . . 14 wff w = (z + 1)
3534, 12, 10copab 2666 . . . . . . . . . . . . 13 class {<.z, w>. | w = (z + 1)}
3635, 16crdg 3931 . . . . . . . . . . . 12 class rec({<.z, w>. | w = (z + 1)}, 1)
37 com 3131 . . . . . . . . . . . 12 class om
3836, 37cres 3172 . . . . . . . . . . 11 class (rec({<.z, w>. | w = (z + 1)}, 1) |` om)
3938ccnv 3169 . . . . . . . . . 10 class `'(rec({<.z, w>. | w = (z + 1)}, 1) |` om)
4032, 39ccom 3174 . . . . . . . . 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 3182 . . . . . . . 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 3182 . . . . . . 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 956 . . . . . 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 223 . . . . 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 2666 . . . 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 956 . . 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 3964 . 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 956 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 6312
Copyright terms: Public domain