MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  rnttrcl Structured version   Visualization version   GIF version

Theorem rnttrcl 9631
Description: The range of a transitive closure is the same as the range of the original class. (Contributed by Scott Fenton, 26-Oct-2024.)
Assertion
Ref Expression
rnttrcl ran t++𝑅 = ran 𝑅

Proof of Theorem rnttrcl
Dummy variables 𝑥 𝑦 𝑓 𝑛 𝑎 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 df-ttrcl 9617 . . . . 5 t++𝑅 = {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
21rneqi 5886 . . . 4 ran t++𝑅 = ran {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
3 rnopab 5903 . . . 4 ran {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} = {𝑦 ∣ ∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
42, 3eqtri 2759 . . 3 ran t++𝑅 = {𝑦 ∣ ∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
5 fveq2 6834 . . . . . . . . . . . 12 (𝑎 = 𝑛 → (𝑓𝑎) = (𝑓 𝑛))
6 suceq 6385 . . . . . . . . . . . . 13 (𝑎 = 𝑛 → suc 𝑎 = suc 𝑛)
76fveq2d 6838 . . . . . . . . . . . 12 (𝑎 = 𝑛 → (𝑓‘suc 𝑎) = (𝑓‘suc 𝑛))
85, 7breq12d 5111 . . . . . . . . . . 11 (𝑎 = 𝑛 → ((𝑓𝑎)𝑅(𝑓‘suc 𝑎) ↔ (𝑓 𝑛)𝑅(𝑓‘suc 𝑛)))
9 simpr3 1197 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))
10 df-1o 8397 . . . . . . . . . . . . . . . 16 1o = suc ∅
1110difeq2i 4075 . . . . . . . . . . . . . . 15 (ω ∖ 1o) = (ω ∖ suc ∅)
1211eleq2i 2828 . . . . . . . . . . . . . 14 (𝑛 ∈ (ω ∖ 1o) ↔ 𝑛 ∈ (ω ∖ suc ∅))
13 peano1 7831 . . . . . . . . . . . . . . 15 ∅ ∈ ω
14 eldifsucnn 8592 . . . . . . . . . . . . . . 15 (∅ ∈ ω → (𝑛 ∈ (ω ∖ suc ∅) ↔ ∃𝑥 ∈ (ω ∖ ∅)𝑛 = suc 𝑥))
1513, 14ax-mp 5 . . . . . . . . . . . . . 14 (𝑛 ∈ (ω ∖ suc ∅) ↔ ∃𝑥 ∈ (ω ∖ ∅)𝑛 = suc 𝑥)
16 dif0 4330 . . . . . . . . . . . . . . 15 (ω ∖ ∅) = ω
1716rexeqi 3295 . . . . . . . . . . . . . 14 (∃𝑥 ∈ (ω ∖ ∅)𝑛 = suc 𝑥 ↔ ∃𝑥 ∈ ω 𝑛 = suc 𝑥)
1812, 15, 173bitri 297 . . . . . . . . . . . . 13 (𝑛 ∈ (ω ∖ 1o) ↔ ∃𝑥 ∈ ω 𝑛 = suc 𝑥)
19 nnord 7816 . . . . . . . . . . . . . . . . 17 (𝑥 ∈ ω → Ord 𝑥)
20 ordunisuc 7774 . . . . . . . . . . . . . . . . 17 (Ord 𝑥 suc 𝑥 = 𝑥)
2119, 20syl 17 . . . . . . . . . . . . . . . 16 (𝑥 ∈ ω → suc 𝑥 = 𝑥)
22 vex 3444 . . . . . . . . . . . . . . . . 17 𝑥 ∈ V
2322sucid 6401 . . . . . . . . . . . . . . . 16 𝑥 ∈ suc 𝑥
2421, 23eqeltrdi 2844 . . . . . . . . . . . . . . 15 (𝑥 ∈ ω → suc 𝑥 ∈ suc 𝑥)
25 unieq 4874 . . . . . . . . . . . . . . . 16 (𝑛 = suc 𝑥 𝑛 = suc 𝑥)
26 id 22 . . . . . . . . . . . . . . . 16 (𝑛 = suc 𝑥𝑛 = suc 𝑥)
2725, 26eleq12d 2830 . . . . . . . . . . . . . . 15 (𝑛 = suc 𝑥 → ( 𝑛𝑛 suc 𝑥 ∈ suc 𝑥))
2824, 27syl5ibrcom 247 . . . . . . . . . . . . . 14 (𝑥 ∈ ω → (𝑛 = suc 𝑥 𝑛𝑛))
2928rexlimiv 3130 . . . . . . . . . . . . 13 (∃𝑥 ∈ ω 𝑛 = suc 𝑥 𝑛𝑛)
3018, 29sylbi 217 . . . . . . . . . . . 12 (𝑛 ∈ (ω ∖ 1o) → 𝑛𝑛)
3130adantr 480 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑛𝑛)
328, 9, 31rspcdva 3577 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓 𝑛)𝑅(𝑓‘suc 𝑛))
33 suceq 6385 . . . . . . . . . . . . . . . . 17 ( suc 𝑥 = 𝑥 → suc suc 𝑥 = suc 𝑥)
3421, 33syl 17 . . . . . . . . . . . . . . . 16 (𝑥 ∈ ω → suc suc 𝑥 = suc 𝑥)
35 suceq 6385 . . . . . . . . . . . . . . . . . 18 ( 𝑛 = suc 𝑥 → suc 𝑛 = suc suc 𝑥)
3625, 35syl 17 . . . . . . . . . . . . . . . . 17 (𝑛 = suc 𝑥 → suc 𝑛 = suc suc 𝑥)
3736, 26eqeq12d 2752 . . . . . . . . . . . . . . . 16 (𝑛 = suc 𝑥 → (suc 𝑛 = 𝑛 ↔ suc suc 𝑥 = suc 𝑥))
3834, 37syl5ibrcom 247 . . . . . . . . . . . . . . 15 (𝑥 ∈ ω → (𝑛 = suc 𝑥 → suc 𝑛 = 𝑛))
3938rexlimiv 3130 . . . . . . . . . . . . . 14 (∃𝑥 ∈ ω 𝑛 = suc 𝑥 → suc 𝑛 = 𝑛)
4018, 39sylbi 217 . . . . . . . . . . . . 13 (𝑛 ∈ (ω ∖ 1o) → suc 𝑛 = 𝑛)
4140fveq2d 6838 . . . . . . . . . . . 12 (𝑛 ∈ (ω ∖ 1o) → (𝑓‘suc 𝑛) = (𝑓𝑛))
4241adantr 480 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘suc 𝑛) = (𝑓𝑛))
43 simpr2r 1234 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓𝑛) = 𝑦)
4442, 43eqtrd 2771 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘suc 𝑛) = 𝑦)
4532, 44breqtrd 5124 . . . . . . . . 9 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓 𝑛)𝑅𝑦)
46 fvex 6847 . . . . . . . . . 10 (𝑓 𝑛) ∈ V
47 vex 3444 . . . . . . . . . 10 𝑦 ∈ V
4846, 47brelrn 5891 . . . . . . . . 9 ((𝑓 𝑛)𝑅𝑦𝑦 ∈ ran 𝑅)
4945, 48syl 17 . . . . . . . 8 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑦 ∈ ran 𝑅)
5049ex 412 . . . . . . 7 (𝑛 ∈ (ω ∖ 1o) → ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅))
5150exlimdv 1934 . . . . . 6 (𝑛 ∈ (ω ∖ 1o) → (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅))
5251rexlimiv 3130 . . . . 5 (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅)
5352exlimiv 1931 . . . 4 (∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅)
5453abssi 4020 . . 3 {𝑦 ∣ ∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} ⊆ ran 𝑅
554, 54eqsstri 3980 . 2 ran t++𝑅 ⊆ ran 𝑅
56 rnresv 6159 . . 3 ran (𝑅 ↾ V) = ran 𝑅
57 relres 5964 . . . . . 6 Rel (𝑅 ↾ V)
58 ssttrcl 9624 . . . . . 6 (Rel (𝑅 ↾ V) → (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V))
5957, 58ax-mp 5 . . . . 5 (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V)
60 ttrclresv 9626 . . . . 5 t++(𝑅 ↾ V) = t++𝑅
6159, 60sseqtri 3982 . . . 4 (𝑅 ↾ V) ⊆ t++𝑅
6261rnssi 5889 . . 3 ran (𝑅 ↾ V) ⊆ ran t++𝑅
6356, 62eqsstrri 3981 . 2 ran 𝑅 ⊆ ran t++𝑅
6455, 63eqssi 3950 1 ran t++𝑅 = ran 𝑅
Colors of variables: wff setvar class
Syntax hints:  wb 206  wa 395  w3a 1086   = wceq 1541  wex 1780  wcel 2113  {cab 2714  wral 3051  wrex 3060  Vcvv 3440  cdif 3898  wss 3901  c0 4285   cuni 4863   class class class wbr 5098  {copab 5160  ran crn 5625  cres 5626  Rel wrel 5629  Ord word 6316  suc csuc 6319   Fn wfn 6487  cfv 6492  ωcom 7808  1oc1o 8390  t++cttrcl 9616
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1968  ax-7 2009  ax-8 2115  ax-9 2123  ax-10 2146  ax-11 2162  ax-12 2184  ax-ext 2708  ax-rep 5224  ax-sep 5241  ax-nul 5251  ax-pr 5377  ax-un 7680
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2068  df-mo 2539  df-eu 2569  df-clab 2715  df-cleq 2728  df-clel 2811  df-nfc 2885  df-ne 2933  df-ral 3052  df-rex 3061  df-reu 3351  df-rab 3400  df-v 3442  df-sbc 3741  df-csb 3850  df-dif 3904  df-un 3906  df-in 3908  df-ss 3918  df-pss 3921  df-nul 4286  df-if 4480  df-pw 4556  df-sn 4581  df-pr 4583  df-op 4587  df-uni 4864  df-int 4903  df-iun 4948  df-br 5099  df-opab 5161  df-mpt 5180  df-tr 5206  df-id 5519  df-eprel 5524  df-po 5532  df-so 5533  df-fr 5577  df-we 5579  df-xp 5630  df-rel 5631  df-cnv 5632  df-co 5633  df-dm 5634  df-rn 5635  df-res 5636  df-ima 5637  df-pred 6259  df-ord 6320  df-on 6321  df-lim 6322  df-suc 6323  df-iota 6448  df-fun 6494  df-fn 6495  df-f 6496  df-f1 6497  df-fo 6498  df-f1o 6499  df-fv 6500  df-ov 7361  df-oprab 7362  df-mpo 7363  df-om 7809  df-2nd 7934  df-frecs 8223  df-wrecs 8254  df-recs 8303  df-rdg 8341  df-1o 8397  df-oadd 8401  df-ttrcl 9617
This theorem is referenced by:  ttrclexg  9632
  Copyright terms: Public domain W3C validator