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

Theorem rnttrcl 9692
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 9678 . . . . 5 t++𝑅 = {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
21rneqi 5929 . . . 4 ran t++𝑅 = ran {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
3 rnopab 5946 . . . 4 ran {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} = {𝑦 ∣ ∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
42, 3eqtri 2786 . . 3 ran t++𝑅 = {𝑦 ∣ ∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
5 fveq2 6883 . . . . . . . . . . . 12 (𝑎 = 𝑛 → (𝑓𝑎) = (𝑓 𝑛))
6 suceq 6431 . . . . . . . . . . . . 13 (𝑎 = 𝑛 → suc 𝑎 = suc 𝑛)
76fveq2d 6887 . . . . . . . . . . . 12 (𝑎 = 𝑛 → (𝑓‘suc 𝑎) = (𝑓‘suc 𝑛))
85, 7breq12d 5123 . . . . . . . . . . 11 (𝑎 = 𝑛 → ((𝑓𝑎)𝑅(𝑓‘suc 𝑎) ↔ (𝑓 𝑛)𝑅(𝑓‘suc 𝑛)))
9 simpr3 1215 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))
10 df-1o 8454 . . . . . . . . . . . . . . . 16 1o = suc ∅
1110difeq2i 4079 . . . . . . . . . . . . . . 15 (ω ∖ 1o) = (ω ∖ suc ∅)
1211eleq2i 2855 . . . . . . . . . . . . . 14 (𝑛 ∈ (ω ∖ 1o) ↔ 𝑛 ∈ (ω ∖ suc ∅))
13 peano1 7886 . . . . . . . . . . . . . . 15 ∅ ∈ ω
14 eldifsucnn 8651 . . . . . . . . . . . . . . 15 (∅ ∈ ω → (𝑛 ∈ (ω ∖ suc ∅) ↔ ∃𝑥 ∈ (ω ∖ ∅)𝑛 = suc 𝑥))
1513, 14ax-mp 5 . . . . . . . . . . . . . 14 (𝑛 ∈ (ω ∖ suc ∅) ↔ ∃𝑥 ∈ (ω ∖ ∅)𝑛 = suc 𝑥)
16 dif0 4335 . . . . . . . . . . . . . . 15 (ω ∖ ∅) = ω
1716rexeqi 3322 . . . . . . . . . . . . . 14 (∃𝑥 ∈ (ω ∖ ∅)𝑛 = suc 𝑥 ↔ ∃𝑥 ∈ ω 𝑛 = suc 𝑥)
1812, 15, 173bitri 300 . . . . . . . . . . . . 13 (𝑛 ∈ (ω ∖ 1o) ↔ ∃𝑥 ∈ ω 𝑛 = suc 𝑥)
19 nnord 7871 . . . . . . . . . . . . . . . . 17 (𝑥 ∈ ω → Ord 𝑥)
20 ordunisuc 7829 . . . . . . . . . . . . . . . . 17 (Ord 𝑥 suc 𝑥 = 𝑥)
2119, 20syl 18 . . . . . . . . . . . . . . . 16 (𝑥 ∈ ω → suc 𝑥 = 𝑥)
22 vex 3459 . . . . . . . . . . . . . . . . 17 𝑥 ∈ V
2322sucid 6447 . . . . . . . . . . . . . . . 16 𝑥 ∈ suc 𝑥
2421, 23eqeltrdi 2871 . . . . . . . . . . . . . . 15 (𝑥 ∈ ω → suc 𝑥 ∈ suc 𝑥)
25 unieq 4884 . . . . . . . . . . . . . . . 16 (𝑛 = suc 𝑥 𝑛 = suc 𝑥)
26 id 23 . . . . . . . . . . . . . . . 16 (𝑛 = suc 𝑥𝑛 = suc 𝑥)
2725, 26eleq12d 2857 . . . . . . . . . . . . . . 15 (𝑛 = suc 𝑥 → ( 𝑛𝑛 suc 𝑥 ∈ suc 𝑥))
2824, 27syl5ibrcom 250 . . . . . . . . . . . . . 14 (𝑥 ∈ ω → (𝑛 = suc 𝑥 𝑛𝑛))
2928rexlimiv 3159 . . . . . . . . . . . . 13 (∃𝑥 ∈ ω 𝑛 = suc 𝑥 𝑛𝑛)
3018, 29sylbi 220 . . . . . . . . . . . 12 (𝑛 ∈ (ω ∖ 1o) → 𝑛𝑛)
3130adantr 485 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑛𝑛)
328, 9, 31rspcdva 3583 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓 𝑛)𝑅(𝑓‘suc 𝑛))
33 suceq 6431 . . . . . . . . . . . . . . . . 17 ( suc 𝑥 = 𝑥 → suc suc 𝑥 = suc 𝑥)
3421, 33syl 18 . . . . . . . . . . . . . . . 16 (𝑥 ∈ ω → suc suc 𝑥 = suc 𝑥)
35 suceq 6431 . . . . . . . . . . . . . . . . . 18 ( 𝑛 = suc 𝑥 → suc 𝑛 = suc suc 𝑥)
3625, 35syl 18 . . . . . . . . . . . . . . . . 17 (𝑛 = suc 𝑥 → suc 𝑛 = suc suc 𝑥)
3736, 26eqeq12d 2779 . . . . . . . . . . . . . . . 16 (𝑛 = suc 𝑥 → (suc 𝑛 = 𝑛 ↔ suc suc 𝑥 = suc 𝑥))
3834, 37syl5ibrcom 250 . . . . . . . . . . . . . . 15 (𝑥 ∈ ω → (𝑛 = suc 𝑥 → suc 𝑛 = 𝑛))
3938rexlimiv 3159 . . . . . . . . . . . . . 14 (∃𝑥 ∈ ω 𝑛 = suc 𝑥 → suc 𝑛 = 𝑛)
4018, 39sylbi 220 . . . . . . . . . . . . 13 (𝑛 ∈ (ω ∖ 1o) → suc 𝑛 = 𝑛)
4140fveq2d 6887 . . . . . . . . . . . 12 (𝑛 ∈ (ω ∖ 1o) → (𝑓‘suc 𝑛) = (𝑓𝑛))
4241adantr 485 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘suc 𝑛) = (𝑓𝑛))
43 simpr2r 1252 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓𝑛) = 𝑦)
4442, 43eqtrd 2798 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘suc 𝑛) = 𝑦)
4532, 44breqtrd 5138 . . . . . . . . 9 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓 𝑛)𝑅𝑦)
46 fvex 6896 . . . . . . . . . 10 (𝑓 𝑛) ∈ V
47 vex 3459 . . . . . . . . . 10 𝑦 ∈ V
4846, 47brelrn 5934 . . . . . . . . 9 ((𝑓 𝑛)𝑅𝑦𝑦 ∈ ran 𝑅)
4945, 48syl 18 . . . . . . . 8 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑦 ∈ ran 𝑅)
5049ex 417 . . . . . . 7 (𝑛 ∈ (ω ∖ 1o) → ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅))
5150exlimdv 1963 . . . . . 6 (𝑛 ∈ (ω ∖ 1o) → (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅))
5251rexlimiv 3159 . . . . 5 (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅)
5352exlimiv 1960 . . . 4 (∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅)
5453abssi 4023 . . 3 {𝑦 ∣ ∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} ⊆ ran 𝑅
554, 54eqsstri 3984 . 2 ran t++𝑅 ⊆ ran 𝑅
56 rnresv 6202 . . 3 ran (𝑅 ↾ V) = ran 𝑅
57 relres 6006 . . . . . 6 Rel (𝑅 ↾ V)
58 ssttrcl 9685 . . . . . 6 (Rel (𝑅 ↾ V) → (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V))
5957, 58ax-mp 5 . . . . 5 (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V)
60 ttrclresv 9687 . . . . 5 t++(𝑅 ↾ V) = t++𝑅
6159, 60sseqtri 3986 . . . 4 (𝑅 ↾ V) ⊆ t++𝑅
6261rnssi 5932 . . 3 ran (𝑅 ↾ V) ⊆ ran t++𝑅
6356, 62eqsstrri 3985 . 2 ran 𝑅 ⊆ ran t++𝑅
6455, 63eqssi 3954 1 ran t++𝑅 = ran 𝑅
Colors of variables: wff setvar class
Syntax hints:  wb 209  wa 400  w3a 1103   = wceq 1570  wex 1809  wcel 2143  {cab 2741  wral 3079  wrex 3089  Vcvv 3455  cdif 3903  wss 3906  c0 4287   cuni 4873   class class class wbr 5110  {copab 5174  ran crn 5664  cres 5665  Rel wrel 5668  Ord word 6361  suc csuc 6364   Fn wfn 6533  cfv 6538  ωcom 7863  1oc1o 8447  t++cttrcl 9677
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1825  ax-4 1839  ax-5 1940  ax-6 1997  ax-7 2038  ax-8 2145  ax-9 2153  ax-10 2176  ax-11 2192  ax-12 2213  ax-ext 2735  ax-rep 5239  ax-sep 5258  ax-nul 5270  ax-pr 5406  ax-un 7734
This theorem depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1810  df-nf 1814  df-sb 2097  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2838  df-nfc 2912  df-ne 2959  df-ral 3080  df-rex 3090  df-reu 3370  df-rab 3417  df-v 3457  df-sbc 3746  df-csb 3855  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-pss 3926  df-nul 4288  df-if 4489  df-pw 4565  df-sn 4591  df-pr 4593  df-op 4597  df-uni 4874  df-int 4914  df-iun 4959  df-br 5111  df-opab 5175  df-mpt 5194  df-tr 5220  df-id 5558  df-eprel 5563  df-po 5571  df-so 5572  df-fr 5616  df-we 5618  df-xp 5669  df-rel 5670  df-cnv 5671  df-co 5672  df-dm 5673  df-rn 5674  df-res 5675  df-ima 5676  df-pred 6304  df-ord 6365  df-on 6366  df-lim 6367  df-suc 6368  df-iota 6494  df-fun 6540  df-fn 6541  df-f 6542  df-f1 6543  df-fo 6544  df-f1o 6545  df-fv 6546  df-ov 7415  df-oprab 7416  df-mpo 7417  df-om 7864  df-2nd 7988  df-frecs 8279  df-wrecs 8310  df-recs 8359  df-rdg 8398  df-1o 8454  df-oadd 8458  df-ttrcl 9678
This theorem is referenced by:  ttrclexg  9693
  Copyright terms: Public domain W3C validator