NFE Home New Foundations Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  NFE Home  >  Th. List  >  dmfrec GIF version

Theorem dmfrec 6317
Description: The domain of the finite recursive function generator is the naturals. (Contributed by Scott Fenton, 31-Jul-2019.)
Hypotheses
Ref Expression
dmfrec.1 ⊢ F = FRec (G, I)
dmfrec.2 ⊢ (φ → G ∈ V)
dmfrec.3 ⊢ (φ → I ∈ dom G)
dmfrec.4 ⊢ (φ → ran G ⊆ dom G)
Assertion
Ref Expression
dmfrec ⊢ (φ → dom F = Nn )

Proof of Theorem dmfrec
Dummy variables w x y z t are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 dmfrec.2 . . . 4 ⊢ (φ → G ∈ V)
2 dmfrec.1 . . . . 5 ⊢ F = FRec (G, I)
32frecxpg 6316 . . . 4 ⊢ (G ∈ V → F ⊆ ( Nn × (ran G ∪ {I})))
4 dmss 4907 . . . 4 ⊢ (F ⊆ ( Nn × (ran G ∪ {I})) → dom F ⊆ dom ( Nn × (ran G ∪ {I})))
51, 3, 43syl 18 . . 3 ⊢ (φ → dom F ⊆ dom ( Nn × (ran G ∪ {I})))
6 dmxpss 5053 . . 3 ⊢ dom ( Nn × (ran G ∪ {I})) ⊆ Nn
75, 6syl6ss 3285 . 2 ⊢ (φ → dom F ⊆ Nn )
82frecexg 6313 . . . . 5 ⊢ (G ∈ V → F ∈ V)
91, 8syl 15 . . . 4 ⊢ (φ → F ∈ V)
10 dmexg 5106 . . . 4 ⊢ (F ∈ V → dom F ∈ V)
119, 10syl 15 . . 3 ⊢ (φ → dom F ∈ V)
12 dmfrec.3 . . . . . . . 8 ⊢ (φ → I ∈ dom G)
13 0cex 4393 . . . . . . . . 9 ⊢ 0c ∈ V
14 opexg 4588 . . . . . . . . 9 ⊢ ((0c ∈ V ∧ I ∈ dom G) → ⟨0c, I⟩ ∈ V)
1513, 14mpan 651 . . . . . . . 8 ⊢ (I ∈ dom G → ⟨0c, I⟩ ∈ V)
1612, 15syl 15 . . . . . . 7 ⊢ (φ → ⟨0c, I⟩ ∈ V)
17 snidg 3759 . . . . . . 7 ⊢ (⟨0c, I⟩ ∈ V → ⟨0c, I⟩ ∈ {⟨0c, I⟩})
1816, 17syl 15 . . . . . 6 ⊢ (φ → ⟨0c, I⟩ ∈ {⟨0c, I⟩})
1918orcd 381 . . . . 5 ⊢ (φ → (⟨0c, I⟩ ∈ {⟨0c, I⟩} ∨ ∃t ∈ F t PProd ((w ∈ V ↦ (w +c 1c)), G)⟨0c, I⟩))
20 snex 4112 . . . . . 6 ⊢ {⟨0c, I⟩} ∈ V
21 csucex 6260 . . . . . . . 8 ⊢ (w ∈ V ↦ (w +c 1c)) ∈ V
22 pprodexg 5838 . . . . . . . 8 ⊢ (((w ∈ V ↦ (w +c 1c)) ∈ V ∧ G ∈ V) → PProd ((w ∈ V ↦ (w +c 1c)), G) ∈ V)
2321, 22mpan 651 . . . . . . 7 ⊢ (G ∈ V → PProd ((w ∈ V ↦ (w +c 1c)), G) ∈ V)
241, 23syl 15 . . . . . 6 ⊢ (φ → PProd ((w ∈ V ↦ (w +c 1c)), G) ∈ V)
25 df-frec 6311 . . . . . . . 8 ⊢ FRec (G, I) = Clos1 ({⟨0c, I⟩}, PProd ((w ∈ V ↦ (w +c 1c)), G))
262, 25eqtri 2373 . . . . . . 7 ⊢ F = Clos1 ({⟨0c, I⟩}, PProd ((w ∈ V ↦ (w +c 1c)), G))
2726clos1basesucg 5885 . . . . . 6 ⊢ (({⟨0c, I⟩} ∈ V ∧ PProd ((w ∈ V ↦ (w +c 1c)), G) ∈ V) → (⟨0c, I⟩ ∈ F ↔ (⟨0c, I⟩ ∈ {⟨0c, I⟩} ∨ ∃t ∈ F t PProd ((w ∈ V ↦ (w +c 1c)), G)⟨0c, I⟩)))
2820, 24, 27sylancr 644 . . . . 5 ⊢ (φ → (⟨0c, I⟩ ∈ F ↔ (⟨0c, I⟩ ∈ {⟨0c, I⟩} ∨ ∃t ∈ F t PProd ((w ∈ V ↦ (w +c 1c)), G)⟨0c, I⟩)))
2919, 28mpbird 223 . . . 4 ⊢ (φ → ⟨0c, I⟩ ∈ F)
30 opeldm 4911 . . . 4 ⊢ (⟨0c, I⟩ ∈ F → 0c ∈ dom F)
3129, 30syl 15 . . 3 ⊢ (φ → 0c ∈ dom F)
32 eldm2 4900 . . . . 5 ⊢ (x ∈ dom F ↔ ∃y⟨x, y⟩ ∈ F)
3326clos1basesucg 5885 . . . . . . . . . 10 ⊢ (({⟨0c, I⟩} ∈ V ∧ PProd ((w ∈ V ↦ (w +c 1c)), G) ∈ V) → (⟨x, y⟩ ∈ F ↔ (⟨x, y⟩ ∈ {⟨0c, I⟩} ∨ ∃t ∈ F t PProd ((w ∈ V ↦ (w +c 1c)), G)⟨x, y⟩)))
3420, 24, 33sylancr 644 . . . . . . . . 9 ⊢ (φ → (⟨x, y⟩ ∈ F ↔ (⟨x, y⟩ ∈ {⟨0c, I⟩} ∨ ∃t ∈ F t PProd ((w ∈ V ↦ (w +c 1c)), G)⟨x, y⟩)))
35 vex 2863 . . . . . . . . . . . . . . 15 ⊢ x ∈ V
36 vex 2863 . . . . . . . . . . . . . . 15 ⊢ y ∈ V
3735, 36opex 4589 . . . . . . . . . . . . . 14 ⊢ ⟨x, y⟩ ∈ V
3837elsnc 3757 . . . . . . . . . . . . 13 ⊢ (⟨x, y⟩ ∈ {⟨0c, I⟩} ↔ ⟨x, y⟩ = ⟨0c, I⟩)
39 opth 4603 . . . . . . . . . . . . 13 ⊢ (⟨x, y⟩ = ⟨0c, I⟩ ↔ (x = 0c ∧ y = I))
4038, 39bitri 240 . . . . . . . . . . . 12 ⊢ (⟨x, y⟩ ∈ {⟨0c, I⟩} ↔ (x = 0c ∧ y = I))
4140simprbi 450 . . . . . . . . . . 11 ⊢ (⟨x, y⟩ ∈ {⟨0c, I⟩} → y = I)
42 eleq1 2413 . . . . . . . . . . . . 13 ⊢ (y = I → (y ∈ dom G ↔ I ∈ dom G))
4342biimprcd 216 . . . . . . . . . . . 12 ⊢ (I ∈ dom G → (y = I → y ∈ dom G))
4412, 43syl 15 . . . . . . . . . . 11 ⊢ (φ → (y = I → y ∈ dom G))
4541, 44syl5 28 . . . . . . . . . 10 ⊢ (φ → (⟨x, y⟩ ∈ {⟨0c, I⟩} → y ∈ dom G))
46 opeq 4620 . . . . . . . . . . . . . . . . 17 ⊢ t = ⟨ Proj1 t, Proj2 t⟩
4746breq1i 4647 . . . . . . . . . . . . . . . 16 ⊢ (t PProd ((w ∈ V ↦ (w +c 1c)), G)⟨x, y⟩ ↔ ⟨ Proj1 t, Proj2 t⟩ PProd ((w ∈ V ↦ (w +c 1c)), G)⟨x, y⟩)
48 qrpprod 5837 . . . . . . . . . . . . . . . 16 ⊢ (⟨ Proj1 t, Proj2 t⟩ PProd ((w ∈ V ↦ (w +c 1c)), G)⟨x, y⟩ ↔ ( Proj1 t(w ∈ V ↦ (w +c 1c))x ∧ Proj2 tGy))
4947, 48bitri 240 . . . . . . . . . . . . . . 15 ⊢ (t PProd ((w ∈ V ↦ (w +c 1c)), G)⟨x, y⟩ ↔ ( Proj1 t(w ∈ V ↦ (w +c 1c))x ∧ Proj2 tGy))
5049simprbi 450 . . . . . . . . . . . . . 14 ⊢ (t PProd ((w ∈ V ↦ (w +c 1c)), G)⟨x, y⟩ → Proj2 tGy)
51 brelrn 4961 . . . . . . . . . . . . . 14 ⊢ ( Proj2 tGy → y ∈ ran G)
5250, 51syl 15 . . . . . . . . . . . . 13 ⊢ (t PProd ((w ∈ V ↦ (w +c 1c)), G)⟨x, y⟩ → y ∈ ran G)
53 dmfrec.4 . . . . . . . . . . . . . 14 ⊢ (φ → ran G ⊆ dom G)
5453sseld 3273 . . . . . . . . . . . . 13 ⊢ (φ → (y ∈ ran G → y ∈ dom G))
5552, 54syl5 28 . . . . . . . . . . . 12 ⊢ (φ → (t PProd ((w ∈ V ↦ (w +c 1c)), G)⟨x, y⟩ → y ∈ dom G))
5655adantr 451 . . . . . . . . . . 11 ⊢ ((φ ∧ t ∈ F) → (t PProd ((w ∈ V ↦ (w +c 1c)), G)⟨x, y⟩ → y ∈ dom G))
5756rexlimdva 2739 . . . . . . . . . 10 ⊢ (φ → (∃t ∈ F t PProd ((w ∈ V ↦ (w +c 1c)), G)⟨x, y⟩ → y ∈ dom G))
5845, 57jaod 369 . . . . . . . . 9 ⊢ (φ → ((⟨x, y⟩ ∈ {⟨0c, I⟩} ∨ ∃t ∈ F t PProd ((w ∈ V ↦ (w +c 1c)), G)⟨x, y⟩) → y ∈ dom G))
5934, 58sylbid 206 . . . . . . . 8 ⊢ (φ → (⟨x, y⟩ ∈ F → y ∈ dom G))
6059ancld 536 . . . . . . 7 ⊢ (φ → (⟨x, y⟩ ∈ F → (⟨x, y⟩ ∈ F ∧ y ∈ dom G)))
6126clos1conn 5880 . . . . . . . . 9 ⊢ ((⟨x, y⟩ ∈ F ∧ ⟨x, y⟩ PProd ((w ∈ V ↦ (w +c 1c)), G)⟨(x +c 1c), z⟩) → ⟨(x +c 1c), z⟩ ∈ F)
6261eximi 1576 . . . . . . . 8 ⊢ (∃z(⟨x, y⟩ ∈ F ∧ ⟨x, y⟩ PProd ((w ∈ V ↦ (w +c 1c)), G)⟨(x +c 1c), z⟩) → ∃z⟨(x +c 1c), z⟩ ∈ F)
63 eldm 4899 . . . . . . . . . . 11 ⊢ (y ∈ dom G ↔ ∃z yGz)
64 eqid 2353 . . . . . . . . . . . . . 14 ⊢ (x +c 1c) = (x +c 1c)
65 1cex 4143 . . . . . . . . . . . . . . . 16 ⊢ 1c ∈ V
6635, 65addcex 4395 . . . . . . . . . . . . . . 15 ⊢ (x +c 1c) ∈ V
6735, 66brcsuc 6261 . . . . . . . . . . . . . 14 ⊢ (x(w ∈ V ↦ (w +c 1c))(x +c 1c) ↔ (x +c 1c) = (x +c 1c))
6864, 67mpbir 200 . . . . . . . . . . . . 13 ⊢ x(w ∈ V ↦ (w +c 1c))(x +c 1c)
69 qrpprod 5837 . . . . . . . . . . . . 13 ⊢ (⟨x, y⟩ PProd ((w ∈ V ↦ (w +c 1c)), G)⟨(x +c 1c), z⟩ ↔ (x(w ∈ V ↦ (w +c 1c))(x +c 1c) ∧ yGz))
7068, 69mpbiran 884 . . . . . . . . . . . 12 ⊢ (⟨x, y⟩ PProd ((w ∈ V ↦ (w +c 1c)), G)⟨(x +c 1c), z⟩ ↔ yGz)
7170exbii 1582 . . . . . . . . . . 11 ⊢ (∃z⟨x, y⟩ PProd ((w ∈ V ↦ (w +c 1c)), G)⟨(x +c 1c), z⟩ ↔ ∃z yGz)
7263, 71bitr4i 243 . . . . . . . . . 10 ⊢ (y ∈ dom G ↔ ∃z⟨x, y⟩ PProd ((w ∈ V ↦ (w +c 1c)), G)⟨(x +c 1c), z⟩)
7372anbi2i 675 . . . . . . . . 9 ⊢ ((⟨x, y⟩ ∈ F ∧ y ∈ dom G) ↔ (⟨x, y⟩ ∈ F ∧ ∃z⟨x, y⟩ PProd ((w ∈ V ↦ (w +c 1c)), G)⟨(x +c 1c), z⟩))
74 19.42v 1905 . . . . . . . . 9 ⊢ (∃z(⟨x, y⟩ ∈ F ∧ ⟨x, y⟩ PProd ((w ∈ V ↦ (w +c 1c)), G)⟨(x +c 1c), z⟩) ↔ (⟨x, y⟩ ∈ F ∧ ∃z⟨x, y⟩ PProd ((w ∈ V ↦ (w +c 1c)), G)⟨(x +c 1c), z⟩))
7573, 74bitr4i 243 . . . . . . . 8 ⊢ ((⟨x, y⟩ ∈ F ∧ y ∈ dom G) ↔ ∃z(⟨x, y⟩ ∈ F ∧ ⟨x, y⟩ PProd ((w ∈ V ↦ (w +c 1c)), G)⟨(x +c 1c), z⟩))
76 eldm2 4900 . . . . . . . 8 ⊢ ((x +c 1c) ∈ dom F ↔ ∃z⟨(x +c 1c), z⟩ ∈ F)
7762, 75, 763imtr4i 257 . . . . . . 7 ⊢ ((⟨x, y⟩ ∈ F ∧ y ∈ dom G) → (x +c 1c) ∈ dom F)
7860, 77syl6 29 . . . . . 6 ⊢ (φ → (⟨x, y⟩ ∈ F → (x +c 1c) ∈ dom F))
7978exlimdv 1636 . . . . 5 ⊢ (φ → (∃y⟨x, y⟩ ∈ F → (x +c 1c) ∈ dom F))
8032, 79syl5bi 208 . . . 4 ⊢ (φ → (x ∈ dom F → (x +c 1c) ∈ dom F))
8180ralrimivw 2699 . . 3 ⊢ (φ → ∀x ∈ Nn (x ∈ dom F → (x +c 1c) ∈ dom F))
82 peano5 4410 . . 3 ⊢ ((dom F ∈ V ∧ 0c ∈ dom F ∧ ∀x ∈ Nn (x ∈ dom F → (x +c 1c) ∈ dom F)) → Nn ⊆ dom F)
8311, 31, 81, 82syl3anc 1182 . 2 ⊢ (φ → Nn ⊆ dom F)
847, 83eqssd 3290 1 ⊢ (φ → dom F = Nn )
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 176   ∨ wo 357   ∧ wa 358  ∃wex 1541   = wceq 1642   ∈ wcel 1710  ∀wral 2615  ∃wrex 2616  Vcvv 2860   ∪ cun 3208   ⊆ wss 3258  {csn 3738  1cc1c 4135   Nn cnnc 4374  0cc0c 4375   +c cplc 4376  ⟨cop 4562   Proj1 cproj1 4564   Proj2 cproj2 4565   class class class wbr 4640   × cxp 4771  dom cdm 4773  ran crn 4774   ↦ cmpt 5652   PProd cpprod 5738   Clos1 cclos1 5873   FRec cfrec 6310
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1546  ax-5 1557  ax-17 1616  ax-9 1654  ax-8 1675  ax-13 1712  ax-14 1714  ax-6 1729  ax-7 1734  ax-11 1746  ax-12 1925  ax-ext 2334  ax-nin 4079  ax-xp 4080  ax-cnv 4081  ax-1c 4082  ax-sset 4083  ax-si 4084  ax-ins2 4085  ax-ins3 4086  ax-typlower 4087  ax-sn 4088
This proof depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-nan 1288  df-tru 1319  df-ex 1542  df-nf 1545  df-sb 1649  df-eu 2208  df-mo 2209  df-clab 2340  df-cleq 2346  df-clel 2349  df-nfc 2479  df-ne 2519  df-ral 2620  df-rex 2621  df-reu 2622  df-rmo 2623  df-rab 2624  df-v 2862  df-sbc 3048  df-csb 3138  df-nin 3212  df-compl 3213  df-in 3214  df-un 3215  df-dif 3216  df-symdif 3217  df-ss 3260  df-pss 3262  df-nul 3552  df-if 3664  df-pw 3725  df-sn 3742  df-pr 3743  df-uni 3893  df-int 3928  df-iun 3972  df-opk 4059  df-1c 4137  df-pw1 4138  df-uni1 4139  df-xpk 4186  df-cnvk 4187  df-ins2k 4188  df-ins3k 4189  df-imak 4190  df-cok 4191  df-p6 4192  df-sik 4193  df-ssetk 4194  df-imagek 4195  df-idk 4196  df-iota 4340  df-0c 4378  df-addc 4379  df-nnc 4380  df-fin 4381  df-lefin 4441  df-ltfin 4442  df-ncfin 4443  df-tfin 4444  df-evenfin 4445  df-oddfin 4446  df-sfin 4447  df-spfin 4448  df-phi 4566  df-op 4567  df-proj1 4568  df-proj2 4569  df-opab 4624  df-br 4641  df-1st 4724  df-swap 4725  df-sset 4726  df-co 4727  df-ima 4728  df-si 4729  df-id 4768  df-xp 4785  df-cnv 4786  df-rn 4787  df-dm 4788  df-res 4789  df-fun 4790  df-fn 4791  df-f 4792  df-fo 4794  df-fv 4796  df-2nd 4798  df-ov 5527  df-oprab 5529  df-mpt 5653  df-mpt2 5655  df-txp 5737  df-pprod 5739  df-fix 5741  df-cup 5743  df-disj 5745  df-addcfn 5747  df-ins2 5751  df-ins3 5753  df-image 5755  df-ins4 5757  df-si3 5759  df-clos1 5874  df-frec 6311
This theorem is used by:  fnfreclem3  6320  fnfrec  6321  frecsuc  6323
  Copyright terms: Public domain W3C validator