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

Theorem dmttrcl 9666
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 9653 . . . . 5 t++𝑅 = {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
21dmeqi 5865 . . . 4 dom t++𝑅 = dom {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
3 dmopab 5876 . . . 4 dom {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} = {𝑥 ∣ ∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
42, 3eqtri 2759 . . 3 dom t++𝑅 = {𝑥 ∣ ∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
5 simpr2l 1232 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘∅) = 𝑥)
6 fveq2 6847 . . . . . . . . . . . 12 (𝑎 = ∅ → (𝑓𝑎) = (𝑓‘∅))
7 suceq 6388 . . . . . . . . . . . . . 14 (𝑎 = ∅ → suc 𝑎 = suc ∅)
8 df-1o 8417 . . . . . . . . . . . . . 14 1o = suc ∅
97, 8eqtr4di 2789 . . . . . . . . . . . . 13 (𝑎 = ∅ → suc 𝑎 = 1o)
109fveq2d 6851 . . . . . . . . . . . 12 (𝑎 = ∅ → (𝑓‘suc 𝑎) = (𝑓‘1o))
116, 10breq12d 5123 . . . . . . . . . . 11 (𝑎 = ∅ → ((𝑓𝑎)𝑅(𝑓‘suc 𝑎) ↔ (𝑓‘∅)𝑅(𝑓‘1o)))
12 simpr3 1196 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))
13 eldif 3923 . . . . . . . . . . . . 13 (𝑛 ∈ (ω ∖ 1o) ↔ (𝑛 ∈ ω ∧ ¬ 𝑛 ∈ 1o))
14 0ex 5269 . . . . . . . . . . . . . . . 16 ∅ ∈ V
15 nnord 7815 . . . . . . . . . . . . . . . 16 (𝑛 ∈ ω → Ord 𝑛)
16 ordelsuc 7760 . . . . . . . . . . . . . . . 16 ((∅ ∈ V ∧ Ord 𝑛) → (∅ ∈ 𝑛 ↔ suc ∅ ⊆ 𝑛))
1714, 15, 16sylancr 587 . . . . . . . . . . . . . . 15 (𝑛 ∈ ω → (∅ ∈ 𝑛 ↔ suc ∅ ⊆ 𝑛))
188sseq1i 3975 . . . . . . . . . . . . . . . 16 (1o𝑛 ↔ suc ∅ ⊆ 𝑛)
19 1on 8429 . . . . . . . . . . . . . . . . . 18 1o ∈ On
2019onordi 6433 . . . . . . . . . . . . . . . . 17 Ord 1o
21 ordtri1 6355 . . . . . . . . . . . . . . . . 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 3583 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘∅)𝑅(𝑓‘1o))
295, 28eqbrtrrd 5134 . . . . . . . . 9 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑥𝑅(𝑓‘1o))
30 vex 3450 . . . . . . . . . 10 𝑥 ∈ V
31 fvex 6860 . . . . . . . . . 10 (𝑓‘1o) ∈ V
3230, 31breldm 5869 . . . . . . . . 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 3141 . . . . 5 (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑥 ∈ dom 𝑅)
3736exlimiv 1933 . . . 4 (∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑥 ∈ dom 𝑅)
3837abssi 4032 . . 3 {𝑥 ∣ ∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} ⊆ dom 𝑅
394, 38eqsstri 3981 . 2 dom t++𝑅 ⊆ dom 𝑅
40 dmresv 6157 . . 3 dom (𝑅 ↾ V) = dom 𝑅
41 relres 5971 . . . . . 6 Rel (𝑅 ↾ V)
42 ssttrcl 9660 . . . . . 6 (Rel (𝑅 ↾ V) → (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V))
4341, 42ax-mp 5 . . . . 5 (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V)
44 ttrclresv 9662 . . . . 5 t++(𝑅 ↾ V) = t++𝑅
4543, 44sseqtri 3983 . . . 4 (𝑅 ↾ V) ⊆ t++𝑅
46 dmss 5863 . . . 4 ((𝑅 ↾ V) ⊆ t++𝑅 → dom (𝑅 ↾ V) ⊆ dom t++𝑅)
4745, 46ax-mp 5 . . 3 dom (𝑅 ↾ V) ⊆ dom t++𝑅
4840, 47eqsstrri 3982 . 2 dom 𝑅 ⊆ dom t++𝑅
4939, 48eqssi 3963 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 2708  wral 3060  wrex 3069  Vcvv 3446  cdif 3910  wss 3913  c0 4287   class class class wbr 5110  {copab 5172  dom cdm 5638  cres 5640  Rel wrel 5643  Ord word 6321  suc csuc 6324   Fn wfn 6496  cfv 6501  ωcom 7807  1oc1o 8410  t++cttrcl 9652
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 2702  ax-rep 5247  ax-sep 5261  ax-nul 5268  ax-pr 5389  ax-un 7677
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 2533  df-eu 2562  df-clab 2709  df-cleq 2723  df-clel 2809  df-nfc 2884  df-ne 2940  df-ral 3061  df-rex 3070  df-reu 3352  df-rab 3406  df-v 3448  df-sbc 3743  df-csb 3859  df-dif 3916  df-un 3918  df-in 3920  df-ss 3930  df-pss 3932  df-nul 4288  df-if 4492  df-pw 4567  df-sn 4592  df-pr 4594  df-op 4598  df-uni 4871  df-iun 4961  df-br 5111  df-opab 5173  df-mpt 5194  df-tr 5228  df-id 5536  df-eprel 5542  df-po 5550  df-so 5551  df-fr 5593  df-we 5595  df-xp 5644  df-rel 5645  df-cnv 5646  df-co 5647  df-dm 5648  df-rn 5649  df-res 5650  df-ima 5651  df-ord 6325  df-on 6326  df-lim 6327  df-suc 6328  df-iota 6453  df-fun 6503  df-fn 6504  df-f 6505  df-f1 6506  df-fo 6507  df-f1o 6508  df-fv 6509  df-om 7808  df-1o 8417  df-ttrcl 9653
This theorem is referenced by:  ttrclexg  9668  ttrclse  9672
  Copyright terms: Public domain W3C validator