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

Theorem dmttrcl 9657
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 9644 . . . . 5 t++𝑅 = {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
21dmeqi 5860 . . . 4 dom t++𝑅 = dom {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
3 dmopab 5871 . . . 4 dom {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} = {𝑥 ∣ ∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
42, 3eqtri 2764 . . 3 dom t++𝑅 = {𝑥 ∣ ∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
5 simpr2l 1232 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘∅) = 𝑥)
6 fveq2 6842 . . . . . . . . . . . 12 (𝑎 = ∅ → (𝑓𝑎) = (𝑓‘∅))
7 suceq 6383 . . . . . . . . . . . . . 14 (𝑎 = ∅ → suc 𝑎 = suc ∅)
8 df-1o 8412 . . . . . . . . . . . . . 14 1o = suc ∅
97, 8eqtr4di 2794 . . . . . . . . . . . . 13 (𝑎 = ∅ → suc 𝑎 = 1o)
109fveq2d 6846 . . . . . . . . . . . 12 (𝑎 = ∅ → (𝑓‘suc 𝑎) = (𝑓‘1o))
116, 10breq12d 5118 . . . . . . . . . . 11 (𝑎 = ∅ → ((𝑓𝑎)𝑅(𝑓‘suc 𝑎) ↔ (𝑓‘∅)𝑅(𝑓‘1o)))
12 simpr3 1196 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))
13 eldif 3920 . . . . . . . . . . . . 13 (𝑛 ∈ (ω ∖ 1o) ↔ (𝑛 ∈ ω ∧ ¬ 𝑛 ∈ 1o))
14 0ex 5264 . . . . . . . . . . . . . . . 16 ∅ ∈ V
15 nnord 7810 . . . . . . . . . . . . . . . 16 (𝑛 ∈ ω → Ord 𝑛)
16 ordelsuc 7755 . . . . . . . . . . . . . . . 16 ((∅ ∈ V ∧ Ord 𝑛) → (∅ ∈ 𝑛 ↔ suc ∅ ⊆ 𝑛))
1714, 15, 16sylancr 587 . . . . . . . . . . . . . . 15 (𝑛 ∈ ω → (∅ ∈ 𝑛 ↔ suc ∅ ⊆ 𝑛))
188sseq1i 3972 . . . . . . . . . . . . . . . 16 (1o𝑛 ↔ suc ∅ ⊆ 𝑛)
19 1on 8424 . . . . . . . . . . . . . . . . . 18 1o ∈ On
2019onordi 6428 . . . . . . . . . . . . . . . . 17 Ord 1o
21 ordtri1 6350 . . . . . . . . . . . . . . . . 17 ((Ord 1o ∧ Ord 𝑛) → (1o𝑛 ↔ ¬ 𝑛 ∈ 1o))
2220, 15, 21sylancr 587 . . . . . . . . . . . . . . . 16 (𝑛 ∈ ω → (1o𝑛 ↔ ¬ 𝑛 ∈ 1o))
2318, 22bitr3id 284 . . . . . . . . . . . . . . 15 (𝑛 ∈ ω → (suc ∅ ⊆ 𝑛 ↔ ¬ 𝑛 ∈ 1o))
2417, 23bitr2d 279 . . . . . . . . . . . . . 14 (𝑛 ∈ ω → (¬ 𝑛 ∈ 1o ↔ ∅ ∈ 𝑛))
2524biimpa 477 . . . . . . . . . . . . 13 ((𝑛 ∈ ω ∧ ¬ 𝑛 ∈ 1o) → ∅ ∈ 𝑛)
2613, 25sylbi 216 . . . . . . . . . . . 12 (𝑛 ∈ (ω ∖ 1o) → ∅ ∈ 𝑛)
2726adantr 481 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → ∅ ∈ 𝑛)
2811, 12, 27rspcdva 3582 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘∅)𝑅(𝑓‘1o))
295, 28eqbrtrrd 5129 . . . . . . . . 9 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑥𝑅(𝑓‘1o))
30 vex 3449 . . . . . . . . . 10 𝑥 ∈ V
31 fvex 6855 . . . . . . . . . 10 (𝑓‘1o) ∈ V
3230, 31breldm 5864 . . . . . . . . 9 (𝑥𝑅(𝑓‘1o) → 𝑥 ∈ dom 𝑅)
3329, 32syl 17 . . . . . . . 8 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑥 ∈ dom 𝑅)
3433ex 413 . . . . . . 7 (𝑛 ∈ (ω ∖ 1o) → ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑥 ∈ dom 𝑅))
3534exlimdv 1936 . . . . . 6 (𝑛 ∈ (ω ∖ 1o) → (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑥 ∈ dom 𝑅))
3635rexlimiv 3145 . . . . 5 (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑥 ∈ dom 𝑅)
3736exlimiv 1933 . . . 4 (∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑥 ∈ dom 𝑅)
3837abssi 4027 . . 3 {𝑥 ∣ ∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} ⊆ dom 𝑅
394, 38eqsstri 3978 . 2 dom t++𝑅 ⊆ dom 𝑅
40 dmresv 6152 . . 3 dom (𝑅 ↾ V) = dom 𝑅
41 relres 5966 . . . . . 6 Rel (𝑅 ↾ V)
42 ssttrcl 9651 . . . . . 6 (Rel (𝑅 ↾ V) → (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V))
4341, 42ax-mp 5 . . . . 5 (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V)
44 ttrclresv 9653 . . . . 5 t++(𝑅 ↾ V) = t++𝑅
4543, 44sseqtri 3980 . . . 4 (𝑅 ↾ V) ⊆ t++𝑅
46 dmss 5858 . . . 4 ((𝑅 ↾ V) ⊆ t++𝑅 → dom (𝑅 ↾ V) ⊆ dom t++𝑅)
4745, 46ax-mp 5 . . 3 dom (𝑅 ↾ V) ⊆ dom t++𝑅
4840, 47eqsstrri 3979 . 2 dom 𝑅 ⊆ dom t++𝑅
4939, 48eqssi 3960 1 dom t++𝑅 = dom 𝑅
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  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   class class class wbr 5105  {copab 5167  dom cdm 5633  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-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-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-om 7803  df-1o 8412  df-ttrcl 9644
This theorem is referenced by:  ttrclexg  9659  ttrclse  9663
  Copyright terms: Public domain W3C validator