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

Theorem rnttrcl 9658
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 9644 . . . . 5 t++𝑅 = {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
21rneqi 5892 . . . 4 ran t++𝑅 = ran {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
3 rnopab 5909 . . . 4 ran {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} = {𝑦 ∣ ∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
42, 3eqtri 2764 . . 3 ran t++𝑅 = {𝑦 ∣ ∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
5 fveq2 6842 . . . . . . . . . . . 12 (𝑎 = 𝑛 → (𝑓𝑎) = (𝑓 𝑛))
6 suceq 6383 . . . . . . . . . . . . 13 (𝑎 = 𝑛 → suc 𝑎 = suc 𝑛)
76fveq2d 6846 . . . . . . . . . . . 12 (𝑎 = 𝑛 → (𝑓‘suc 𝑎) = (𝑓‘suc 𝑛))
85, 7breq12d 5118 . . . . . . . . . . 11 (𝑎 = 𝑛 → ((𝑓𝑎)𝑅(𝑓‘suc 𝑎) ↔ (𝑓 𝑛)𝑅(𝑓‘suc 𝑛)))
9 simpr3 1196 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))
10 df-1o 8412 . . . . . . . . . . . . . . . 16 1o = suc ∅
1110difeq2i 4079 . . . . . . . . . . . . . . 15 (ω ∖ 1o) = (ω ∖ suc ∅)
1211eleq2i 2829 . . . . . . . . . . . . . 14 (𝑛 ∈ (ω ∖ 1o) ↔ 𝑛 ∈ (ω ∖ suc ∅))
13 peano1 7825 . . . . . . . . . . . . . . 15 ∅ ∈ ω
14 eldifsucnn 8610 . . . . . . . . . . . . . . 15 (∅ ∈ ω → (𝑛 ∈ (ω ∖ suc ∅) ↔ ∃𝑥 ∈ (ω ∖ ∅)𝑛 = suc 𝑥))
1513, 14ax-mp 5 . . . . . . . . . . . . . 14 (𝑛 ∈ (ω ∖ suc ∅) ↔ ∃𝑥 ∈ (ω ∖ ∅)𝑛 = suc 𝑥)
16 dif0 4332 . . . . . . . . . . . . . . 15 (ω ∖ ∅) = ω
1716rexeqi 3312 . . . . . . . . . . . . . 14 (∃𝑥 ∈ (ω ∖ ∅)𝑛 = suc 𝑥 ↔ ∃𝑥 ∈ ω 𝑛 = suc 𝑥)
1812, 15, 173bitri 296 . . . . . . . . . . . . 13 (𝑛 ∈ (ω ∖ 1o) ↔ ∃𝑥 ∈ ω 𝑛 = suc 𝑥)
19 nnord 7810 . . . . . . . . . . . . . . . . 17 (𝑥 ∈ ω → Ord 𝑥)
20 ordunisuc 7767 . . . . . . . . . . . . . . . . 17 (Ord 𝑥 suc 𝑥 = 𝑥)
2119, 20syl 17 . . . . . . . . . . . . . . . 16 (𝑥 ∈ ω → suc 𝑥 = 𝑥)
22 vex 3449 . . . . . . . . . . . . . . . . 17 𝑥 ∈ V
2322sucid 6399 . . . . . . . . . . . . . . . 16 𝑥 ∈ suc 𝑥
2421, 23eqeltrdi 2846 . . . . . . . . . . . . . . 15 (𝑥 ∈ ω → suc 𝑥 ∈ suc 𝑥)
25 unieq 4876 . . . . . . . . . . . . . . . 16 (𝑛 = suc 𝑥 𝑛 = suc 𝑥)
26 id 22 . . . . . . . . . . . . . . . 16 (𝑛 = suc 𝑥𝑛 = suc 𝑥)
2725, 26eleq12d 2832 . . . . . . . . . . . . . . 15 (𝑛 = suc 𝑥 → ( 𝑛𝑛 suc 𝑥 ∈ suc 𝑥))
2824, 27syl5ibrcom 246 . . . . . . . . . . . . . 14 (𝑥 ∈ ω → (𝑛 = suc 𝑥 𝑛𝑛))
2928rexlimiv 3145 . . . . . . . . . . . . 13 (∃𝑥 ∈ ω 𝑛 = suc 𝑥 𝑛𝑛)
3018, 29sylbi 216 . . . . . . . . . . . 12 (𝑛 ∈ (ω ∖ 1o) → 𝑛𝑛)
3130adantr 481 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑛𝑛)
328, 9, 31rspcdva 3582 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓 𝑛)𝑅(𝑓‘suc 𝑛))
33 suceq 6383 . . . . . . . . . . . . . . . . 17 ( suc 𝑥 = 𝑥 → suc suc 𝑥 = suc 𝑥)
3421, 33syl 17 . . . . . . . . . . . . . . . 16 (𝑥 ∈ ω → suc suc 𝑥 = suc 𝑥)
35 suceq 6383 . . . . . . . . . . . . . . . . . 18 ( 𝑛 = suc 𝑥 → suc 𝑛 = suc suc 𝑥)
3625, 35syl 17 . . . . . . . . . . . . . . . . 17 (𝑛 = suc 𝑥 → suc 𝑛 = suc suc 𝑥)
3736, 26eqeq12d 2752 . . . . . . . . . . . . . . . 16 (𝑛 = suc 𝑥 → (suc 𝑛 = 𝑛 ↔ suc suc 𝑥 = suc 𝑥))
3834, 37syl5ibrcom 246 . . . . . . . . . . . . . . 15 (𝑥 ∈ ω → (𝑛 = suc 𝑥 → suc 𝑛 = 𝑛))
3938rexlimiv 3145 . . . . . . . . . . . . . 14 (∃𝑥 ∈ ω 𝑛 = suc 𝑥 → suc 𝑛 = 𝑛)
4018, 39sylbi 216 . . . . . . . . . . . . 13 (𝑛 ∈ (ω ∖ 1o) → suc 𝑛 = 𝑛)
4140fveq2d 6846 . . . . . . . . . . . 12 (𝑛 ∈ (ω ∖ 1o) → (𝑓‘suc 𝑛) = (𝑓𝑛))
4241adantr 481 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘suc 𝑛) = (𝑓𝑛))
43 simpr2r 1233 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓𝑛) = 𝑦)
4442, 43eqtrd 2776 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘suc 𝑛) = 𝑦)
4532, 44breqtrd 5131 . . . . . . . . 9 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓 𝑛)𝑅𝑦)
46 fvex 6855 . . . . . . . . . 10 (𝑓 𝑛) ∈ V
47 vex 3449 . . . . . . . . . 10 𝑦 ∈ V
4846, 47brelrn 5897 . . . . . . . . 9 ((𝑓 𝑛)𝑅𝑦𝑦 ∈ ran 𝑅)
4945, 48syl 17 . . . . . . . 8 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑦 ∈ ran 𝑅)
5049ex 413 . . . . . . 7 (𝑛 ∈ (ω ∖ 1o) → ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅))
5150exlimdv 1936 . . . . . 6 (𝑛 ∈ (ω ∖ 1o) → (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅))
5251rexlimiv 3145 . . . . 5 (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅)
5352exlimiv 1933 . . . 4 (∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅)
5453abssi 4027 . . 3 {𝑦 ∣ ∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} ⊆ ran 𝑅
554, 54eqsstri 3978 . 2 ran t++𝑅 ⊆ ran 𝑅
56 rnresv 6153 . . 3 ran (𝑅 ↾ V) = ran 𝑅
57 relres 5966 . . . . . 6 Rel (𝑅 ↾ V)
58 ssttrcl 9651 . . . . . 6 (Rel (𝑅 ↾ V) → (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V))
5957, 58ax-mp 5 . . . . 5 (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V)
60 ttrclresv 9653 . . . . 5 t++(𝑅 ↾ V) = t++𝑅
6159, 60sseqtri 3980 . . . 4 (𝑅 ↾ V) ⊆ t++𝑅
6261rnssi 5895 . . 3 ran (𝑅 ↾ V) ⊆ ran t++𝑅
6356, 62eqsstrri 3979 . 2 ran 𝑅 ⊆ ran t++𝑅
6455, 63eqssi 3960 1 ran t++𝑅 = ran 𝑅
Colors of variables: wff setvar class
Syntax hints:  wb 205  wa 396  w3a 1087   = wceq 1541  wex 1781  wcel 2106  {cab 2713  wral 3064  wrex 3073  Vcvv 3445  cdif 3907  wss 3910  c0 4282   cuni 4865   class class class wbr 5105  {copab 5167  ran crn 5634  cres 5635  Rel wrel 5638  Ord word 6316  suc csuc 6319   Fn wfn 6491  cfv 6496  ωcom 7802  1oc1o 8405  t++cttrcl 9643
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2707  ax-rep 5242  ax-sep 5256  ax-nul 5263  ax-pr 5384  ax-un 7672
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 846  df-3or 1088  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-nf 1786  df-sb 2068  df-mo 2538  df-eu 2567  df-clab 2714  df-cleq 2728  df-clel 2814  df-nfc 2889  df-ne 2944  df-ral 3065  df-rex 3074  df-reu 3354  df-rab 3408  df-v 3447  df-sbc 3740  df-csb 3856  df-dif 3913  df-un 3915  df-in 3917  df-ss 3927  df-pss 3929  df-nul 4283  df-if 4487  df-pw 4562  df-sn 4587  df-pr 4589  df-op 4593  df-uni 4866  df-int 4908  df-iun 4956  df-br 5106  df-opab 5168  df-mpt 5189  df-tr 5223  df-id 5531  df-eprel 5537  df-po 5545  df-so 5546  df-fr 5588  df-we 5590  df-xp 5639  df-rel 5640  df-cnv 5641  df-co 5642  df-dm 5643  df-rn 5644  df-res 5645  df-ima 5646  df-pred 6253  df-ord 6320  df-on 6321  df-lim 6322  df-suc 6323  df-iota 6448  df-fun 6498  df-fn 6499  df-f 6500  df-f1 6501  df-fo 6502  df-f1o 6503  df-fv 6504  df-ov 7360  df-oprab 7361  df-mpo 7362  df-om 7803  df-2nd 7922  df-frecs 8212  df-wrecs 8243  df-recs 8317  df-rdg 8356  df-1o 8412  df-oadd 8416  df-ttrcl 9644
This theorem is referenced by:  ttrclexg  9659
  Copyright terms: Public domain W3C validator