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

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

Proof of Theorem dmttrcl
Dummy variables 𝑥 𝑦 𝑓 𝑛 𝑎 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 df-ttrcl 9777 . . . . 5 t++𝑅 = {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
21dmeqi 5929 . . . 4 dom t++𝑅 = dom {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
3 dmopab 5940 . . . 4 dom {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} = {𝑥 ∣ ∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
42, 3eqtri 2768 . . 3 dom t++𝑅 = {𝑥 ∣ ∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
5 simpr2l 1232 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘∅) = 𝑥)
6 fveq2 6920 . . . . . . . . . . . 12 (𝑎 = ∅ → (𝑓𝑎) = (𝑓‘∅))
7 suceq 6461 . . . . . . . . . . . . . 14 (𝑎 = ∅ → suc 𝑎 = suc ∅)
8 df-1o 8522 . . . . . . . . . . . . . 14 1o = suc ∅
97, 8eqtr4di 2798 . . . . . . . . . . . . 13 (𝑎 = ∅ → suc 𝑎 = 1o)
109fveq2d 6924 . . . . . . . . . . . 12 (𝑎 = ∅ → (𝑓‘suc 𝑎) = (𝑓‘1o))
116, 10breq12d 5179 . . . . . . . . . . 11 (𝑎 = ∅ → ((𝑓𝑎)𝑅(𝑓‘suc 𝑎) ↔ (𝑓‘∅)𝑅(𝑓‘1o)))
12 simpr3 1196 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))
13 eldif 3986 . . . . . . . . . . . . 13 (𝑛 ∈ (ω ∖ 1o) ↔ (𝑛 ∈ ω ∧ ¬ 𝑛 ∈ 1o))
14 0ex 5325 . . . . . . . . . . . . . . . 16 ∅ ∈ V
15 nnord 7911 . . . . . . . . . . . . . . . 16 (𝑛 ∈ ω → Ord 𝑛)
16 ordelsuc 7856 . . . . . . . . . . . . . . . 16 ((∅ ∈ V ∧ Ord 𝑛) → (∅ ∈ 𝑛 ↔ suc ∅ ⊆ 𝑛))
1714, 15, 16sylancr 586 . . . . . . . . . . . . . . 15 (𝑛 ∈ ω → (∅ ∈ 𝑛 ↔ suc ∅ ⊆ 𝑛))
188sseq1i 4037 . . . . . . . . . . . . . . . 16 (1o𝑛 ↔ suc ∅ ⊆ 𝑛)
19 1on 8534 . . . . . . . . . . . . . . . . . 18 1o ∈ On
2019onordi 6506 . . . . . . . . . . . . . . . . 17 Ord 1o
21 ordtri1 6428 . . . . . . . . . . . . . . . . 17 ((Ord 1o ∧ Ord 𝑛) → (1o𝑛 ↔ ¬ 𝑛 ∈ 1o))
2220, 15, 21sylancr 586 . . . . . . . . . . . . . . . 16 (𝑛 ∈ ω → (1o𝑛 ↔ ¬ 𝑛 ∈ 1o))
2318, 22bitr3id 285 . . . . . . . . . . . . . . 15 (𝑛 ∈ ω → (suc ∅ ⊆ 𝑛 ↔ ¬ 𝑛 ∈ 1o))
2417, 23bitr2d 280 . . . . . . . . . . . . . 14 (𝑛 ∈ ω → (¬ 𝑛 ∈ 1o ↔ ∅ ∈ 𝑛))
2524biimpa 476 . . . . . . . . . . . . 13 ((𝑛 ∈ ω ∧ ¬ 𝑛 ∈ 1o) → ∅ ∈ 𝑛)
2613, 25sylbi 217 . . . . . . . . . . . 12 (𝑛 ∈ (ω ∖ 1o) → ∅ ∈ 𝑛)
2726adantr 480 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → ∅ ∈ 𝑛)
2811, 12, 27rspcdva 3636 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘∅)𝑅(𝑓‘1o))
295, 28eqbrtrrd 5190 . . . . . . . . 9 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑥𝑅(𝑓‘1o))
30 vex 3492 . . . . . . . . . 10 𝑥 ∈ V
31 fvex 6933 . . . . . . . . . 10 (𝑓‘1o) ∈ V
3230, 31breldm 5933 . . . . . . . . 9 (𝑥𝑅(𝑓‘1o) → 𝑥 ∈ dom 𝑅)
3329, 32syl 17 . . . . . . . 8 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑥 ∈ dom 𝑅)
3433ex 412 . . . . . . 7 (𝑛 ∈ (ω ∖ 1o) → ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑥 ∈ dom 𝑅))
3534exlimdv 1932 . . . . . 6 (𝑛 ∈ (ω ∖ 1o) → (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑥 ∈ dom 𝑅))
3635rexlimiv 3154 . . . . 5 (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑥 ∈ dom 𝑅)
3736exlimiv 1929 . . . 4 (∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑥 ∈ dom 𝑅)
3837abssi 4093 . . 3 {𝑥 ∣ ∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} ⊆ dom 𝑅
394, 38eqsstri 4043 . 2 dom t++𝑅 ⊆ dom 𝑅
40 dmresv 6231 . . 3 dom (𝑅 ↾ V) = dom 𝑅
41 relres 6035 . . . . . 6 Rel (𝑅 ↾ V)
42 ssttrcl 9784 . . . . . 6 (Rel (𝑅 ↾ V) → (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V))
4341, 42ax-mp 5 . . . . 5 (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V)
44 ttrclresv 9786 . . . . 5 t++(𝑅 ↾ V) = t++𝑅
4543, 44sseqtri 4045 . . . 4 (𝑅 ↾ V) ⊆ t++𝑅
46 dmss 5927 . . . 4 ((𝑅 ↾ V) ⊆ t++𝑅 → dom (𝑅 ↾ V) ⊆ dom t++𝑅)
4745, 46ax-mp 5 . . 3 dom (𝑅 ↾ V) ⊆ dom t++𝑅
4840, 47eqsstrri 4044 . 2 dom 𝑅 ⊆ dom t++𝑅
4939, 48eqssi 4025 1 dom t++𝑅 = dom 𝑅
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wb 206  wa 395  w3a 1087   = wceq 1537  wex 1777  wcel 2108  {cab 2717  wral 3067  wrex 3076  Vcvv 3488  cdif 3973  wss 3976  c0 4352   class class class wbr 5166  {copab 5228  dom cdm 5700  cres 5702  Rel wrel 5705  Ord word 6394  suc csuc 6397   Fn wfn 6568  cfv 6573  ωcom 7903  1oc1o 8515  t++cttrcl 9776
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1793  ax-4 1807  ax-5 1909  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2158  ax-12 2178  ax-ext 2711  ax-rep 5303  ax-sep 5317  ax-nul 5324  ax-pr 5447  ax-un 7770
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 847  df-3or 1088  df-3an 1089  df-tru 1540  df-fal 1550  df-ex 1778  df-nf 1782  df-sb 2065  df-mo 2543  df-eu 2572  df-clab 2718  df-cleq 2732  df-clel 2819  df-nfc 2895  df-ne 2947  df-ral 3068  df-rex 3077  df-reu 3389  df-rab 3444  df-v 3490  df-sbc 3805  df-csb 3922  df-dif 3979  df-un 3981  df-in 3983  df-ss 3993  df-pss 3996  df-nul 4353  df-if 4549  df-pw 4624  df-sn 4649  df-pr 4651  df-op 4655  df-uni 4932  df-iun 5017  df-br 5167  df-opab 5229  df-mpt 5250  df-tr 5284  df-id 5593  df-eprel 5599  df-po 5607  df-so 5608  df-fr 5652  df-we 5654  df-xp 5706  df-rel 5707  df-cnv 5708  df-co 5709  df-dm 5710  df-rn 5711  df-res 5712  df-ima 5713  df-ord 6398  df-on 6399  df-lim 6400  df-suc 6401  df-iota 6525  df-fun 6575  df-fn 6576  df-f 6577  df-f1 6578  df-fo 6579  df-f1o 6580  df-fv 6581  df-om 7904  df-1o 8522  df-ttrcl 9777
This theorem is referenced by:  ttrclexg  9792  ttrclse  9796
  Copyright terms: Public domain W3C validator