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

Theorem rnttrcl 9717
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 9703 . . . . 5 t++𝑅 = {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
21rneqi 5937 . . . 4 ran t++𝑅 = ran {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
3 rnopab 5954 . . . 4 ran {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} = {𝑦 ∣ ∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
42, 3eqtri 2761 . . 3 ran t++𝑅 = {𝑦 ∣ ∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
5 fveq2 6892 . . . . . . . . . . . 12 (𝑎 = 𝑛 → (𝑓𝑎) = (𝑓 𝑛))
6 suceq 6431 . . . . . . . . . . . . 13 (𝑎 = 𝑛 → suc 𝑎 = suc 𝑛)
76fveq2d 6896 . . . . . . . . . . . 12 (𝑎 = 𝑛 → (𝑓‘suc 𝑎) = (𝑓‘suc 𝑛))
85, 7breq12d 5162 . . . . . . . . . . 11 (𝑎 = 𝑛 → ((𝑓𝑎)𝑅(𝑓‘suc 𝑎) ↔ (𝑓 𝑛)𝑅(𝑓‘suc 𝑛)))
9 simpr3 1197 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))
10 df-1o 8466 . . . . . . . . . . . . . . . 16 1o = suc ∅
1110difeq2i 4120 . . . . . . . . . . . . . . 15 (ω ∖ 1o) = (ω ∖ suc ∅)
1211eleq2i 2826 . . . . . . . . . . . . . 14 (𝑛 ∈ (ω ∖ 1o) ↔ 𝑛 ∈ (ω ∖ suc ∅))
13 peano1 7879 . . . . . . . . . . . . . . 15 ∅ ∈ ω
14 eldifsucnn 8663 . . . . . . . . . . . . . . 15 (∅ ∈ ω → (𝑛 ∈ (ω ∖ suc ∅) ↔ ∃𝑥 ∈ (ω ∖ ∅)𝑛 = suc 𝑥))
1513, 14ax-mp 5 . . . . . . . . . . . . . 14 (𝑛 ∈ (ω ∖ suc ∅) ↔ ∃𝑥 ∈ (ω ∖ ∅)𝑛 = suc 𝑥)
16 dif0 4373 . . . . . . . . . . . . . . 15 (ω ∖ ∅) = ω
1716rexeqi 3325 . . . . . . . . . . . . . 14 (∃𝑥 ∈ (ω ∖ ∅)𝑛 = suc 𝑥 ↔ ∃𝑥 ∈ ω 𝑛 = suc 𝑥)
1812, 15, 173bitri 297 . . . . . . . . . . . . 13 (𝑛 ∈ (ω ∖ 1o) ↔ ∃𝑥 ∈ ω 𝑛 = suc 𝑥)
19 nnord 7863 . . . . . . . . . . . . . . . . 17 (𝑥 ∈ ω → Ord 𝑥)
20 ordunisuc 7820 . . . . . . . . . . . . . . . . 17 (Ord 𝑥 suc 𝑥 = 𝑥)
2119, 20syl 17 . . . . . . . . . . . . . . . 16 (𝑥 ∈ ω → suc 𝑥 = 𝑥)
22 vex 3479 . . . . . . . . . . . . . . . . 17 𝑥 ∈ V
2322sucid 6447 . . . . . . . . . . . . . . . 16 𝑥 ∈ suc 𝑥
2421, 23eqeltrdi 2842 . . . . . . . . . . . . . . 15 (𝑥 ∈ ω → suc 𝑥 ∈ suc 𝑥)
25 unieq 4920 . . . . . . . . . . . . . . . 16 (𝑛 = suc 𝑥 𝑛 = suc 𝑥)
26 id 22 . . . . . . . . . . . . . . . 16 (𝑛 = suc 𝑥𝑛 = suc 𝑥)
2725, 26eleq12d 2828 . . . . . . . . . . . . . . 15 (𝑛 = suc 𝑥 → ( 𝑛𝑛 suc 𝑥 ∈ suc 𝑥))
2824, 27syl5ibrcom 246 . . . . . . . . . . . . . 14 (𝑥 ∈ ω → (𝑛 = suc 𝑥 𝑛𝑛))
2928rexlimiv 3149 . . . . . . . . . . . . 13 (∃𝑥 ∈ ω 𝑛 = suc 𝑥 𝑛𝑛)
3018, 29sylbi 216 . . . . . . . . . . . 12 (𝑛 ∈ (ω ∖ 1o) → 𝑛𝑛)
3130adantr 482 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑛𝑛)
328, 9, 31rspcdva 3614 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓 𝑛)𝑅(𝑓‘suc 𝑛))
33 suceq 6431 . . . . . . . . . . . . . . . . 17 ( suc 𝑥 = 𝑥 → suc suc 𝑥 = suc 𝑥)
3421, 33syl 17 . . . . . . . . . . . . . . . 16 (𝑥 ∈ ω → suc suc 𝑥 = suc 𝑥)
35 suceq 6431 . . . . . . . . . . . . . . . . . 18 ( 𝑛 = suc 𝑥 → suc 𝑛 = suc suc 𝑥)
3625, 35syl 17 . . . . . . . . . . . . . . . . 17 (𝑛 = suc 𝑥 → suc 𝑛 = suc suc 𝑥)
3736, 26eqeq12d 2749 . . . . . . . . . . . . . . . 16 (𝑛 = suc 𝑥 → (suc 𝑛 = 𝑛 ↔ suc suc 𝑥 = suc 𝑥))
3834, 37syl5ibrcom 246 . . . . . . . . . . . . . . 15 (𝑥 ∈ ω → (𝑛 = suc 𝑥 → suc 𝑛 = 𝑛))
3938rexlimiv 3149 . . . . . . . . . . . . . 14 (∃𝑥 ∈ ω 𝑛 = suc 𝑥 → suc 𝑛 = 𝑛)
4018, 39sylbi 216 . . . . . . . . . . . . 13 (𝑛 ∈ (ω ∖ 1o) → suc 𝑛 = 𝑛)
4140fveq2d 6896 . . . . . . . . . . . 12 (𝑛 ∈ (ω ∖ 1o) → (𝑓‘suc 𝑛) = (𝑓𝑛))
4241adantr 482 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘suc 𝑛) = (𝑓𝑛))
43 simpr2r 1234 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓𝑛) = 𝑦)
4442, 43eqtrd 2773 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘suc 𝑛) = 𝑦)
4532, 44breqtrd 5175 . . . . . . . . 9 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓 𝑛)𝑅𝑦)
46 fvex 6905 . . . . . . . . . 10 (𝑓 𝑛) ∈ V
47 vex 3479 . . . . . . . . . 10 𝑦 ∈ V
4846, 47brelrn 5942 . . . . . . . . 9 ((𝑓 𝑛)𝑅𝑦𝑦 ∈ ran 𝑅)
4945, 48syl 17 . . . . . . . 8 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑦 ∈ ran 𝑅)
5049ex 414 . . . . . . 7 (𝑛 ∈ (ω ∖ 1o) → ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅))
5150exlimdv 1937 . . . . . 6 (𝑛 ∈ (ω ∖ 1o) → (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅))
5251rexlimiv 3149 . . . . 5 (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅)
5352exlimiv 1934 . . . 4 (∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅)
5453abssi 4068 . . 3 {𝑦 ∣ ∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} ⊆ ran 𝑅
554, 54eqsstri 4017 . 2 ran t++𝑅 ⊆ ran 𝑅
56 rnresv 6201 . . 3 ran (𝑅 ↾ V) = ran 𝑅
57 relres 6011 . . . . . 6 Rel (𝑅 ↾ V)
58 ssttrcl 9710 . . . . . 6 (Rel (𝑅 ↾ V) → (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V))
5957, 58ax-mp 5 . . . . 5 (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V)
60 ttrclresv 9712 . . . . 5 t++(𝑅 ↾ V) = t++𝑅
6159, 60sseqtri 4019 . . . 4 (𝑅 ↾ V) ⊆ t++𝑅
6261rnssi 5940 . . 3 ran (𝑅 ↾ V) ⊆ ran t++𝑅
6356, 62eqsstrri 4018 . 2 ran 𝑅 ⊆ ran t++𝑅
6455, 63eqssi 3999 1 ran t++𝑅 = ran 𝑅
Colors of variables: wff setvar class
Syntax hints:  wb 205  wa 397  w3a 1088   = wceq 1542  wex 1782  wcel 2107  {cab 2710  wral 3062  wrex 3071  Vcvv 3475  cdif 3946  wss 3949  c0 4323   cuni 4909   class class class wbr 5149  {copab 5211  ran crn 5678  cres 5679  Rel wrel 5682  Ord word 6364  suc csuc 6367   Fn wfn 6539  cfv 6544  ωcom 7855  1oc1o 8459  t++cttrcl 9702
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  ax-5 1914  ax-6 1972  ax-7 2012  ax-8 2109  ax-9 2117  ax-10 2138  ax-11 2155  ax-12 2172  ax-ext 2704  ax-rep 5286  ax-sep 5300  ax-nul 5307  ax-pr 5428  ax-un 7725
This theorem depends on definitions:  df-bi 206  df-an 398  df-or 847  df-3or 1089  df-3an 1090  df-tru 1545  df-fal 1555  df-ex 1783  df-nf 1787  df-sb 2069  df-mo 2535  df-eu 2564  df-clab 2711  df-cleq 2725  df-clel 2811  df-nfc 2886  df-ne 2942  df-ral 3063  df-rex 3072  df-reu 3378  df-rab 3434  df-v 3477  df-sbc 3779  df-csb 3895  df-dif 3952  df-un 3954  df-in 3956  df-ss 3966  df-pss 3968  df-nul 4324  df-if 4530  df-pw 4605  df-sn 4630  df-pr 4632  df-op 4636  df-uni 4910  df-int 4952  df-iun 5000  df-br 5150  df-opab 5212  df-mpt 5233  df-tr 5267  df-id 5575  df-eprel 5581  df-po 5589  df-so 5590  df-fr 5632  df-we 5634  df-xp 5683  df-rel 5684  df-cnv 5685  df-co 5686  df-dm 5687  df-rn 5688  df-res 5689  df-ima 5690  df-pred 6301  df-ord 6368  df-on 6369  df-lim 6370  df-suc 6371  df-iota 6496  df-fun 6546  df-fn 6547  df-f 6548  df-f1 6549  df-fo 6550  df-f1o 6551  df-fv 6552  df-ov 7412  df-oprab 7413  df-mpo 7414  df-om 7856  df-2nd 7976  df-frecs 8266  df-wrecs 8297  df-recs 8371  df-rdg 8410  df-1o 8466  df-oadd 8470  df-ttrcl 9703
This theorem is referenced by:  ttrclexg  9718
  Copyright terms: Public domain W3C validator