MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  df-rdg Structured version   Unicode version

Definition df-rdg 6660
Description: Define a recursive definition generator on  On (the class of ordinal numbers) with characteristic function  F and initial value  I. This combines functions  F in tfr1 6650 and  G in tz7.44-1 6656 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 daunting complexity of our  rec operation. But once we get past this hurdle, otherwise recursive definitions become relatively simple, as in for example oav 6747, from which we prove the recursive textbook definition as theorems oa0 6752, oasuc 6760, and oalim 6768 (with the help of theorems rdg0 6671, rdgsuc 6674, and rdglim2a 6683). We can also restrict the  rec operation to define otherwise recursive functions on the natural numbers  om; see fr0g 6685 and frsuc 6686. 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). Note that the  if operations (see df-if 3732) select cases based on whether the domain of  g is zero, a successor, or a limit ordinal.

An important use of this definition is in the recursive sequence generator df-seq 11316 on the natural numbers (as a subset of the complex numbers), allowing us to define, with direct definitions, recursive infinite sequences such as the factorial function df-fac 11559 and integer powers df-exp 11375.

Note: We introduce  rec with the philosophical goal of being able to eliminate all definitions with direct mechanical substitution and to verify easily the soundness of definitions. Metamath itself has no built-in technical limitation that prevents multiple-part recursive definitions in the traditional textbook style. (Contributed by NM, 9-Apr-1995.) (Revised by Mario Carneiro, 9-May-2015.)

Assertion
Ref Expression
df-rdg  |-  rec ( F ,  I )  = recs ( ( g  e. 
_V  |->  if ( g  =  (/) ,  I ,  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `  U. dom  g ) ) ) ) ) )
Distinct variable groups:    g, F    g, I

Detailed syntax breakdown of Definition df-rdg
StepHypRef Expression
1 cF . . 3  class  F
2 cI . . 3  class  I
31, 2crdg 6659 . 2  class  rec ( F ,  I )
4 vg . . . 4  set  g
5 cvv 2948 . . . 4  class  _V
64cv 1651 . . . . . 6  class  g
7 c0 3620 . . . . . 6  class  (/)
86, 7wceq 1652 . . . . 5  wff  g  =  (/)
96cdm 4870 . . . . . . 7  class  dom  g
109wlim 4574 . . . . . 6  wff  Lim  dom  g
116crn 4871 . . . . . . 7  class  ran  g
1211cuni 4007 . . . . . 6  class  U. ran  g
139cuni 4007 . . . . . . . 8  class  U. dom  g
1413, 6cfv 5446 . . . . . . 7  class  ( g `
 U. dom  g
)
1514, 1cfv 5446 . . . . . 6  class  ( F `
 ( g `  U. dom  g ) )
1610, 12, 15cif 3731 . . . . 5  class  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `
 U. dom  g
) ) )
178, 2, 16cif 3731 . . . 4  class  if ( g  =  (/) ,  I ,  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `  U. dom  g ) ) ) )
184, 5, 17cmpt 4258 . . 3  class  ( g  e.  _V  |->  if ( g  =  (/) ,  I ,  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `  U. dom  g ) ) ) ) )
1918crecs 6624 . 2  class recs ( ( g  e.  _V  |->  if ( g  =  (/) ,  I ,  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `
 U. dom  g
) ) ) ) ) )
203, 19wceq 1652 1  wff  rec ( F ,  I )  = recs ( ( g  e. 
_V  |->  if ( g  =  (/) ,  I ,  if ( Lim  dom  g ,  U. ran  g ,  ( F `  ( g `  U. dom  g ) ) ) ) ) )
Colors of variables: wff set class
This definition is referenced by:  rdgeq1  6661  rdgeq2  6662  nfrdg  6664  rdgfun  6666  rdgdmlim  6667  rdgfnon  6668  rdgvalg  6669  rdgval  6670  rdgseg  6672  dfrdg2  25415
  Copyright terms: Public domain W3C validator