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

Definition df-rdg 2970
Description: Define a recursive definition generator on On (the class of ordinal numbers) with characteristic function F and initial value A. This combines functions F in tfr1 2962 and G in tz7.44-1 2966 into one definition. This rather amazing operation allows us to define, with compact direct definitions, functions that are usually defined in textbooks only with indirect self-referencing recursive definitions. A recursive definition requires advanced metalogic to justify - in particular, eliminating a recursive definition is very difficult and often not even shown in textbooks. On the other hand, the elimination of a direct definition is a matter of simple mechanical substitution. The price paid is the mind-boggling complexity of our rec operation. But once we get past this hurdle, otherwise recursive definitions become relatively simple, as in, for example, df-aleph 3624. From the direct definition we can prove textbook recursive definitions as theorems using rdgzer 2979, rdgsuc 2980, and rdglim 2981. We can also restrict the rec operation to define otherwise recursive functions on the natural numbers ω; see frzer 2990 and frsuc 2991. Our rec operation apparently does not appear in published literature, although closely related is Definition 25.2 of [Quine] p. 177, which he uses to "turn...a recursion into a genuine or direct definition" (p. 174).
Assertion
Ref Expression
df-rdg rec(F, A) = {f∣∃x ∈ On (f Fn x ∧ ∀yx (fy) = ({⟨g, z⟩∣((g = ∅ ∧ z = A) ∨ (¬ (g = ∅ ∨ Lim dom g) ∧ z = (F ‘(gdom g))) ∨ (Lim dom gz = ran g))} ‘(fy)))}
Distinct variable group(s):   x,y,z,f,g,F   x,A,y,z,f,g

Detailed syntax breakdown of Definition df-rdg
StepHypRef Expression
1 cF . . 3 class F
2 cA . . 3 class A
31, 2crdg 2969 . 2 class rec(F, A)
4 vf . . . . . . . 8 set f
54cv 1089 . . . . . . 7 class f
6 vx . . . . . . . 8 set x
76cv 1089 . . . . . . 7 class x
85, 7wfn 2417 . . . . . 6 wff f Fn x
9 vy . . . . . . . . . 10 set y
109cv 1089 . . . . . . . . 9 class y
1110, 5cfv 2422 . . . . . . . 8 class (fy)
125, 10cres 2412 . . . . . . . . 9 class (fy)
13 vg . . . . . . . . . . . . . 14 set g
1413cv 1089 . . . . . . . . . . . . 13 class g
15 c0 1707 . . . . . . . . . . . . 13 class
1614, 15wceq 1091 . . . . . . . . . . . 12 wff g = ∅
17 vz . . . . . . . . . . . . . 14 set z
1817cv 1089 . . . . . . . . . . . . 13 class z
1918, 2wceq 1091 . . . . . . . . . . . 12 wff z = A
2016, 19wa 196 . . . . . . . . . . 11 wff (g = ∅ ∧ z = A)
2114cdm 2410 . . . . . . . . . . . . . . 15 class dom g
2221wlim 2200 . . . . . . . . . . . . . 14 wff Lim dom g
2316, 22wo 195 . . . . . . . . . . . . 13 wff (g = ∅ ∨ Lim dom g)
2423wn 1 . . . . . . . . . . . 12 wff ¬ (g = ∅ ∨ Lim dom g)
2521cuni 1919 . . . . . . . . . . . . . . 15 class dom g
2625, 14cfv 2422 . . . . . . . . . . . . . 14 class (gdom g)
2726, 1cfv 2422 . . . . . . . . . . . . 13 class (F ‘(gdom g))
2818, 27wceq 1091 . . . . . . . . . . . 12 wff z = (F ‘(gdom g))
2924, 28wa 196 . . . . . . . . . . 11 wff (¬ (g = ∅ ∨ Lim dom g) ∧ z = (F ‘(gdom g)))
3014crn 2411 . . . . . . . . . . . . . 14 class ran g
3130cuni 1919 . . . . . . . . . . . . 13 class ran g
3218, 31wceq 1091 . . . . . . . . . . . 12 wff z = ran g
3322, 32wa 196 . . . . . . . . . . 11 wff (Lim dom gz = ran g)
3420, 29, 33w3o 580 . . . . . . . . . 10 wff ((g = ∅ ∧ z = A) ∨ (¬ (g = ∅ ∨ Lim dom g) ∧ z = (F ‘(gdom g))) ∨ (Lim dom gz = ran g))
3534, 13, 17copab 2055 . . . . . . . . 9 class {⟨g, z⟩∣((g = ∅ ∧ z = A) ∨ (¬ (g = ∅ ∨ Lim dom g) ∧ z = (F ‘(gdom g))) ∨ (Lim dom gz = ran g))}
3612, 35cfv 2422 . . . . . . . 8 class ({⟨g, z⟩∣((g = ∅ ∧ z = A) ∨ (¬ (g = ∅ ∨ Lim dom g) ∧ z = (F ‘(gdom g))) ∨ (Lim dom gz = ran g))} ‘(fy))
3711, 36wceq 1091 . . . . . . 7 wff (fy) = ({⟨g, z⟩∣((g = ∅ ∧ z = A) ∨ (¬ (g = ∅ ∨ Lim dom g) ∧ z = (F ‘(gdom g))) ∨ (Lim dom gz = ran g))} ‘(fy))
3837, 9, 7wral 1201 . . . . . 6 wff yx (fy) = ({⟨g, z⟩∣((g = ∅ ∧ z = A) ∨ (¬ (g = ∅ ∨ Lim dom g) ∧ z = (F ‘(gdom g))) ∨ (Lim dom gz = ran g))} ‘(fy))
398, 38wa 196 . . . . 5 wff (f Fn x ∧ ∀yx (fy) = ({⟨g, z⟩∣((g = ∅ ∧ z = A) ∨ (¬ (g = ∅ ∨ Lim dom g) ∧ z = (F ‘(gdom g))) ∨ (Lim dom gz = ran g))} ‘(fy)))
40 con0 2199 . . . . 5 class On
4139, 6, 40wrex 1202 . . . 4 wff x ∈ On (f Fn x ∧ ∀yx (fy) = ({⟨g, z⟩∣((g = ∅ ∧ z = A) ∨ (¬ (g = ∅ ∨ Lim dom g) ∧ z = (F ‘(gdom g))) ∨ (Lim dom gz = ran g))} ‘(fy)))
4241, 4cab 1090 . . 3 class {f∣∃x ∈ On (f Fn x ∧ ∀yx (fy) = ({⟨g, z⟩∣((g = ∅ ∧ z = A) ∨ (¬ (g = ∅ ∨ Lim dom g) ∧ z = (F ‘(gdom g))) ∨ (Lim dom gz = ran g))} ‘(fy)))}
4342cuni 1919 . 2 class {f∣∃x ∈ On (f Fn x ∧ ∀yx (fy) = ({⟨g, z⟩∣((g = ∅ ∧ z = A) ∨ (¬ (g = ∅ ∨ Lim dom g) ∧ z = (F ‘(gdom g))) ∨ (Lim dom gz = ran g))} ‘(fy)))}
443, 43wceq 1091 1 wff rec(F, A) = {f∣∃x ∈ On (f Fn x ∧ ∀yx (fy) = ({⟨g, z⟩∣((g = ∅ ∧ z = A) ∨ (¬ (g = ∅ ∨ Lim dom g) ∧ z = (F ‘(gdom g))) ∨ (Lim dom gz = ran g))} ‘(fy)))}
Colors of variables: wff set class
This definition is referenced by:  rdgeq1 2972  rdgeq2 2973  hbrdg 2974  rdgfnon 2977  rdgval 2978
metamath.org