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

Theorem rnttrcl 9705
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 9691 . . . . 5 t++𝑅 = {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
21rneqi 5925 . . . 4 ran t++𝑅 = ran {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
3 rnopab 5942 . . . 4 ran {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} = {𝑦 ∣ ∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
42, 3eqtri 2785 . . 3 ran t++𝑅 = {𝑦 ∣ ∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
5 fveq2 6882 . . . . . . . . . . . 12 (𝑎 = 𝑛 → (𝑓𝑎) = (𝑓 𝑛))
6 suceq 6430 . . . . . . . . . . . . 13 (𝑎 = 𝑛 → suc 𝑎 = suc 𝑛)
76fveq2d 6886 . . . . . . . . . . . 12 (𝑎 = 𝑛 → (𝑓‘suc 𝑎) = (𝑓‘suc 𝑛))
85, 7breq12d 5120 . . . . . . . . . . 11 (𝑎 = 𝑛 → ((𝑓𝑎)𝑅(𝑓‘suc 𝑎) ↔ (𝑓 𝑛)𝑅(𝑓‘suc 𝑛)))
9 simpr3 1215 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))
10 df-1o 8459 . . . . . . . . . . . . . . . 16 1o = suc ∅
1110difeq2i 4074 . . . . . . . . . . . . . . 15 (ω ∖ 1o) = (ω ∖ suc ∅)
1211eleq2i 2854 . . . . . . . . . . . . . 14 (𝑛 ∈ (ω ∖ 1o) ↔ 𝑛 ∈ (ω ∖ suc ∅))
13 peano1 7889 . . . . . . . . . . . . . . 15 ∅ ∈ ω
14 eldifsucnn 8656 . . . . . . . . . . . . . . 15 (∅ ∈ ω → (𝑛 ∈ (ω ∖ suc ∅) ↔ ∃𝑥 ∈ (ω ∖ ∅)𝑛 = suc 𝑥))
1513, 14ax-mp 5 . . . . . . . . . . . . . 14 (𝑛 ∈ (ω ∖ suc ∅) ↔ ∃𝑥 ∈ (ω ∖ ∅)𝑛 = suc 𝑥)
16 dif0 4330 . . . . . . . . . . . . . . 15 (ω ∖ ∅) = ω
1716rexeqi 3320 . . . . . . . . . . . . . 14 (∃𝑥 ∈ (ω ∖ ∅)𝑛 = suc 𝑥 ↔ ∃𝑥 ∈ ω 𝑛 = suc 𝑥)
1812, 15, 173bitri 300 . . . . . . . . . . . . 13 (𝑛 ∈ (ω ∖ 1o) ↔ ∃𝑥 ∈ ω 𝑛 = suc 𝑥)
19 nnord 7874 . . . . . . . . . . . . . . . . 17 (𝑥 ∈ ω → Ord 𝑥)
20 ordunisuc 7832 . . . . . . . . . . . . . . . . 17 (Ord 𝑥 suc 𝑥 = 𝑥)
2119, 20syl 18 . . . . . . . . . . . . . . . 16 (𝑥 ∈ ω → suc 𝑥 = 𝑥)
22 vex 3457 . . . . . . . . . . . . . . . . 17 𝑥 ∈ V
2322sucid 6446 . . . . . . . . . . . . . . . 16 𝑥 ∈ suc 𝑥
2421, 23eqeltrdi 2870 . . . . . . . . . . . . . . 15 (𝑥 ∈ ω → suc 𝑥 ∈ suc 𝑥)
25 unieq 4881 . . . . . . . . . . . . . . . 16 (𝑛 = suc 𝑥 𝑛 = suc 𝑥)
26 id 23 . . . . . . . . . . . . . . . 16 (𝑛 = suc 𝑥𝑛 = suc 𝑥)
2725, 26eleq12d 2856 . . . . . . . . . . . . . . 15 (𝑛 = suc 𝑥 → ( 𝑛𝑛 suc 𝑥 ∈ suc 𝑥))
2824, 27syl5ibrcom 250 . . . . . . . . . . . . . 14 (𝑥 ∈ ω → (𝑛 = suc 𝑥 𝑛𝑛))
2928rexlimiv 3158 . . . . . . . . . . . . 13 (∃𝑥 ∈ ω 𝑛 = suc 𝑥 𝑛𝑛)
3018, 29sylbi 220 . . . . . . . . . . . 12 (𝑛 ∈ (ω ∖ 1o) → 𝑛𝑛)
3130adantr 486 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑛𝑛)
328, 9, 31rspcdva 3580 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓 𝑛)𝑅(𝑓‘suc 𝑛))
33 suceq 6430 . . . . . . . . . . . . . . . . 17 ( suc 𝑥 = 𝑥 → suc suc 𝑥 = suc 𝑥)
3421, 33syl 18 . . . . . . . . . . . . . . . 16 (𝑥 ∈ ω → suc suc 𝑥 = suc 𝑥)
35 suceq 6430 . . . . . . . . . . . . . . . . . 18 ( 𝑛 = suc 𝑥 → suc 𝑛 = suc suc 𝑥)
3625, 35syl 18 . . . . . . . . . . . . . . . . 17 (𝑛 = suc 𝑥 → suc 𝑛 = suc suc 𝑥)
3736, 26eqeq12d 2778 . . . . . . . . . . . . . . . 16 (𝑛 = suc 𝑥 → (suc 𝑛 = 𝑛 ↔ suc suc 𝑥 = suc 𝑥))
3834, 37syl5ibrcom 250 . . . . . . . . . . . . . . 15 (𝑥 ∈ ω → (𝑛 = suc 𝑥 → suc 𝑛 = 𝑛))
3938rexlimiv 3158 . . . . . . . . . . . . . 14 (∃𝑥 ∈ ω 𝑛 = suc 𝑥 → suc 𝑛 = 𝑛)
4018, 39sylbi 220 . . . . . . . . . . . . 13 (𝑛 ∈ (ω ∖ 1o) → suc 𝑛 = 𝑛)
4140fveq2d 6886 . . . . . . . . . . . 12 (𝑛 ∈ (ω ∖ 1o) → (𝑓‘suc 𝑛) = (𝑓𝑛))
4241adantr 486 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘suc 𝑛) = (𝑓𝑛))
43 simpr2r 1252 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓𝑛) = 𝑦)
4442, 43eqtrd 2797 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘suc 𝑛) = 𝑦)
4532, 44breqtrd 5135 . . . . . . . . 9 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓 𝑛)𝑅𝑦)
46 fvex 6895 . . . . . . . . . 10 (𝑓 𝑛) ∈ V
47 vex 3457 . . . . . . . . . 10 𝑦 ∈ V
4846, 47brelrn 5930 . . . . . . . . 9 ((𝑓 𝑛)𝑅𝑦𝑦 ∈ ran 𝑅)
4945, 48syl 18 . . . . . . . 8 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑦 ∈ ran 𝑅)
5049ex 418 . . . . . . 7 (𝑛 ∈ (ω ∖ 1o) → ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅))
5150exlimdv 1966 . . . . . 6 (𝑛 ∈ (ω ∖ 1o) → (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅))
5251rexlimiv 3158 . . . . 5 (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅)
5352exlimiv 1963 . . . 4 (∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑦 ∈ ran 𝑅)
5453abssi 4019 . . 3 {𝑦 ∣ ∃𝑥𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} ⊆ ran 𝑅
554, 54eqsstri 3980 . 2 ran t++𝑅 ⊆ ran 𝑅
56 rnresv 6199 . . 3 ran (𝑅 ↾ V) = ran 𝑅
57 relres 6002 . . . . . 6 Rel (𝑅 ↾ V)
58 ssttrcl 9698 . . . . . 6 (Rel (𝑅 ↾ V) → (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V))
5957, 58ax-mp 5 . . . . 5 (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V)
60 ttrclresv 9700 . . . . 5 t++(𝑅 ↾ V) = t++𝑅
6159, 60sseqtri 3982 . . . 4 (𝑅 ↾ V) ⊆ t++𝑅
6261rnssi 5928 . . 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
This proof depends on syntax axioms:  wb 209  wa 401  w3a 1103   = wceq 1570  wex 1812  wcel 2145  {cab 2740  wral 3078  wrex 3088  Vcvv 3453  cdif 3899  wss 3902  c0 4282   cuni 4870   class class class wbr 5107  {copab 5171  ran crn 5660  cres 5661  Rel wrel 5664  Ord word 6360  suc csuc 6363   Fn wfn 6532  cfv 6537  ωcom 7866  1oc1o 8452  t++cttrcl 9690
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2215  ax-ext 2734  ax-rep 5236  ax-sep 5255  ax-nul 5267  ax-pr 5402  ax-un 7740
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ne 2958  df-ral 3079  df-rex 3089  df-reu 3368  df-rab 3415  df-v 3455  df-sbc 3743  df-csb 3851  df-dif 3905  df-un 3907  df-in 3909  df-ss 3919  df-pss 3922  df-nul 4283  df-if 4486  df-pw 4562  df-sn 4588  df-pr 4590  df-op 4594  df-uni 4871  df-int 4911  df-iun 4956  df-br 5108  df-opab 5172  df-mpt 5191  df-tr 5217  df-id 5554  df-eprel 5559  df-po 5567  df-so 5568  df-fr 5612  df-we 5614  df-xp 5665  df-rel 5666  df-cnv 5667  df-co 5668  df-dm 5669  df-rn 5670  df-res 5671  df-ima 5672  df-pred 6303  df-ord 6364  df-on 6365  df-lim 6366  df-suc 6367  df-iota 6493  df-fun 6539  df-fn 6540  df-f 6541  df-f1 6542  df-fo 6543  df-f1o 6544  df-fv 6545  df-ov 7420  df-oprab 7421  df-mpo 7422  df-om 7867  df-2nd 7991  df-frecs 8284  df-wrecs 8315  df-recs 8364  df-rdg 8403  df-1o 8459  df-oadd 8463  df-ttrcl 9691
This theorem is used by:  ttrclexg  9706
  Copyright terms: Public domain W3C validator