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

Theorem dmttrcl 9632
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 9619 . . . . 5 t++𝑅 = {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
21dmeqi 5853 . . . 4 dom t++𝑅 = dom {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
3 dmopab 5864 . . . 4 dom {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} = {𝑥 ∣ ∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
42, 3eqtri 2759 . . 3 dom t++𝑅 = {𝑥 ∣ ∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
5 simpr2l 1233 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘∅) = 𝑥)
6 fveq2 6834 . . . . . . . . . . . 12 (𝑎 = ∅ → (𝑓𝑎) = (𝑓‘∅))
7 suceq 6385 . . . . . . . . . . . . . 14 (𝑎 = ∅ → suc 𝑎 = suc ∅)
8 df-1o 8397 . . . . . . . . . . . . . 14 1o = suc ∅
97, 8eqtr4di 2789 . . . . . . . . . . . . 13 (𝑎 = ∅ → suc 𝑎 = 1o)
109fveq2d 6838 . . . . . . . . . . . 12 (𝑎 = ∅ → (𝑓‘suc 𝑎) = (𝑓‘1o))
116, 10breq12d 5111 . . . . . . . . . . 11 (𝑎 = ∅ → ((𝑓𝑎)𝑅(𝑓‘suc 𝑎) ↔ (𝑓‘∅)𝑅(𝑓‘1o)))
12 simpr3 1197 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))
13 eldif 3911 . . . . . . . . . . . . 13 (𝑛 ∈ (ω ∖ 1o) ↔ (𝑛 ∈ ω ∧ ¬ 𝑛 ∈ 1o))
14 0ex 5252 . . . . . . . . . . . . . . . 16 ∅ ∈ V
15 nnord 7816 . . . . . . . . . . . . . . . 16 (𝑛 ∈ ω → Ord 𝑛)
16 ordelsuc 7762 . . . . . . . . . . . . . . . 16 ((∅ ∈ V ∧ Ord 𝑛) → (∅ ∈ 𝑛 ↔ suc ∅ ⊆ 𝑛))
1714, 15, 16sylancr 587 . . . . . . . . . . . . . . 15 (𝑛 ∈ ω → (∅ ∈ 𝑛 ↔ suc ∅ ⊆ 𝑛))
188sseq1i 3962 . . . . . . . . . . . . . . . 16 (1o𝑛 ↔ suc ∅ ⊆ 𝑛)
19 1on 8409 . . . . . . . . . . . . . . . . . 18 1o ∈ On
2019onordi 6430 . . . . . . . . . . . . . . . . 17 Ord 1o
21 ordtri1 6350 . . . . . . . . . . . . . . . . 17 ((Ord 1o ∧ Ord 𝑛) → (1o𝑛 ↔ ¬ 𝑛 ∈ 1o))
2220, 15, 21sylancr 587 . . . . . . . . . . . . . . . 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 3577 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘∅)𝑅(𝑓‘1o))
295, 28eqbrtrrd 5122 . . . . . . . . 9 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑥𝑅(𝑓‘1o))
30 vex 3444 . . . . . . . . . 10 𝑥 ∈ V
31 fvex 6847 . . . . . . . . . 10 (𝑓‘1o) ∈ V
3230, 31breldm 5857 . . . . . . . . 9 (𝑥𝑅(𝑓‘1o) → 𝑥 ∈ dom 𝑅)
3329, 32syl 17 . . . . . . . 8 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑥 ∈ dom 𝑅)
3433ex 412 . . . . . . 7 (𝑛 ∈ (ω ∖ 1o) → ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑥 ∈ dom 𝑅))
3534exlimdv 1934 . . . . . 6 (𝑛 ∈ (ω ∖ 1o) → (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑥 ∈ dom 𝑅))
3635rexlimiv 3130 . . . . 5 (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑥 ∈ dom 𝑅)
3736exlimiv 1931 . . . 4 (∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑥 ∈ dom 𝑅)
3837abssi 4020 . . 3 {𝑥 ∣ ∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} ⊆ dom 𝑅
394, 38eqsstri 3980 . 2 dom t++𝑅 ⊆ dom 𝑅
40 dmresv 6158 . . 3 dom (𝑅 ↾ V) = dom 𝑅
41 relres 5964 . . . . . 6 Rel (𝑅 ↾ V)
42 ssttrcl 9626 . . . . . 6 (Rel (𝑅 ↾ V) → (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V))
4341, 42ax-mp 5 . . . . 5 (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V)
44 ttrclresv 9628 . . . . 5 t++(𝑅 ↾ V) = t++𝑅
4543, 44sseqtri 3982 . . . 4 (𝑅 ↾ V) ⊆ t++𝑅
46 dmss 5851 . . . 4 ((𝑅 ↾ V) ⊆ t++𝑅 → dom (𝑅 ↾ V) ⊆ dom t++𝑅)
4745, 46ax-mp 5 . . 3 dom (𝑅 ↾ V) ⊆ dom t++𝑅
4840, 47eqsstrri 3981 . 2 dom 𝑅 ⊆ dom t++𝑅
4939, 48eqssi 3950 1 dom t++𝑅 = dom 𝑅
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wb 206  wa 395  w3a 1086   = wceq 1541  wex 1780  wcel 2113  {cab 2714  wral 3051  wrex 3060  Vcvv 3440  cdif 3898  wss 3901  c0 4285   class class class wbr 5098  {copab 5160  dom cdm 5624  cres 5626  Rel wrel 5629  Ord word 6316  suc csuc 6319   Fn wfn 6487  cfv 6492  ωcom 7808  1oc1o 8390  t++cttrcl 9618
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1968  ax-7 2009  ax-8 2115  ax-9 2123  ax-10 2146  ax-11 2162  ax-12 2184  ax-ext 2708  ax-rep 5224  ax-sep 5241  ax-nul 5251  ax-pr 5377  ax-un 7680
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2068  df-mo 2539  df-eu 2569  df-clab 2715  df-cleq 2728  df-clel 2811  df-nfc 2885  df-ne 2933  df-ral 3052  df-rex 3061  df-reu 3351  df-rab 3400  df-v 3442  df-sbc 3741  df-csb 3850  df-dif 3904  df-un 3906  df-in 3908  df-ss 3918  df-pss 3921  df-nul 4286  df-if 4480  df-pw 4556  df-sn 4581  df-pr 4583  df-op 4587  df-uni 4864  df-iun 4948  df-br 5099  df-opab 5161  df-mpt 5180  df-tr 5206  df-id 5519  df-eprel 5524  df-po 5532  df-so 5533  df-fr 5577  df-we 5579  df-xp 5630  df-rel 5631  df-cnv 5632  df-co 5633  df-dm 5634  df-rn 5635  df-res 5636  df-ima 5637  df-ord 6320  df-on 6321  df-lim 6322  df-suc 6323  df-iota 6448  df-fun 6494  df-fn 6495  df-f 6496  df-f1 6497  df-fo 6498  df-f1o 6499  df-fv 6500  df-om 7809  df-1o 8397  df-ttrcl 9619
This theorem is referenced by:  ttrclexg  9634  ttrclse  9638
  Copyright terms: Public domain W3C validator