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

Theorem dmttrcl 9761
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 9748 . . . . 5 t++𝑅 = {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
21dmeqi 5915 . . . 4 dom t++𝑅 = dom {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
3 dmopab 5926 . . . 4 dom {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} = {𝑥 ∣ ∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
42, 3eqtri 2765 . . 3 dom t++𝑅 = {𝑥 ∣ ∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
5 simpr2l 1233 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘∅) = 𝑥)
6 fveq2 6906 . . . . . . . . . . . 12 (𝑎 = ∅ → (𝑓𝑎) = (𝑓‘∅))
7 suceq 6450 . . . . . . . . . . . . . 14 (𝑎 = ∅ → suc 𝑎 = suc ∅)
8 df-1o 8506 . . . . . . . . . . . . . 14 1o = suc ∅
97, 8eqtr4di 2795 . . . . . . . . . . . . 13 (𝑎 = ∅ → suc 𝑎 = 1o)
109fveq2d 6910 . . . . . . . . . . . 12 (𝑎 = ∅ → (𝑓‘suc 𝑎) = (𝑓‘1o))
116, 10breq12d 5156 . . . . . . . . . . 11 (𝑎 = ∅ → ((𝑓𝑎)𝑅(𝑓‘suc 𝑎) ↔ (𝑓‘∅)𝑅(𝑓‘1o)))
12 simpr3 1197 . . . . . . . . . . 11 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))
13 eldif 3961 . . . . . . . . . . . . 13 (𝑛 ∈ (ω ∖ 1o) ↔ (𝑛 ∈ ω ∧ ¬ 𝑛 ∈ 1o))
14 0ex 5307 . . . . . . . . . . . . . . . 16 ∅ ∈ V
15 nnord 7895 . . . . . . . . . . . . . . . 16 (𝑛 ∈ ω → Ord 𝑛)
16 ordelsuc 7840 . . . . . . . . . . . . . . . 16 ((∅ ∈ V ∧ Ord 𝑛) → (∅ ∈ 𝑛 ↔ suc ∅ ⊆ 𝑛))
1714, 15, 16sylancr 587 . . . . . . . . . . . . . . 15 (𝑛 ∈ ω → (∅ ∈ 𝑛 ↔ suc ∅ ⊆ 𝑛))
188sseq1i 4012 . . . . . . . . . . . . . . . 16 (1o𝑛 ↔ suc ∅ ⊆ 𝑛)
19 1on 8518 . . . . . . . . . . . . . . . . . 18 1o ∈ On
2019onordi 6495 . . . . . . . . . . . . . . . . 17 Ord 1o
21 ordtri1 6417 . . . . . . . . . . . . . . . . 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 3623 . . . . . . . . . 10 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → (𝑓‘∅)𝑅(𝑓‘1o))
295, 28eqbrtrrd 5167 . . . . . . . . 9 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑥𝑅(𝑓‘1o))
30 vex 3484 . . . . . . . . . 10 𝑥 ∈ V
31 fvex 6919 . . . . . . . . . 10 (𝑓‘1o) ∈ V
3230, 31breldm 5919 . . . . . . . . 9 (𝑥𝑅(𝑓‘1o) → 𝑥 ∈ dom 𝑅)
3329, 32syl 17 . . . . . . . 8 ((𝑛 ∈ (ω ∖ 1o) ∧ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) → 𝑥 ∈ dom 𝑅)
3433ex 412 . . . . . . 7 (𝑛 ∈ (ω ∖ 1o) → ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑥 ∈ dom 𝑅))
3534exlimdv 1933 . . . . . 6 (𝑛 ∈ (ω ∖ 1o) → (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑥 ∈ dom 𝑅))
3635rexlimiv 3148 . . . . 5 (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑥 ∈ dom 𝑅)
3736exlimiv 1930 . . . 4 (∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → 𝑥 ∈ dom 𝑅)
3837abssi 4070 . . 3 {𝑥 ∣ ∃𝑦𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))} ⊆ dom 𝑅
394, 38eqsstri 4030 . 2 dom t++𝑅 ⊆ dom 𝑅
40 dmresv 6220 . . 3 dom (𝑅 ↾ V) = dom 𝑅
41 relres 6023 . . . . . 6 Rel (𝑅 ↾ V)
42 ssttrcl 9755 . . . . . 6 (Rel (𝑅 ↾ V) → (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V))
4341, 42ax-mp 5 . . . . 5 (𝑅 ↾ V) ⊆ t++(𝑅 ↾ V)
44 ttrclresv 9757 . . . . 5 t++(𝑅 ↾ V) = t++𝑅
4543, 44sseqtri 4032 . . . 4 (𝑅 ↾ V) ⊆ t++𝑅
46 dmss 5913 . . . 4 ((𝑅 ↾ V) ⊆ t++𝑅 → dom (𝑅 ↾ V) ⊆ dom t++𝑅)
4745, 46ax-mp 5 . . 3 dom (𝑅 ↾ V) ⊆ dom t++𝑅
4840, 47eqsstrri 4031 . 2 dom 𝑅 ⊆ dom t++𝑅
4939, 48eqssi 4000 1 dom t++𝑅 = dom 𝑅
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wb 206  wa 395  w3a 1087   = wceq 1540  wex 1779  wcel 2108  {cab 2714  wral 3061  wrex 3070  Vcvv 3480  cdif 3948  wss 3951  c0 4333   class class class wbr 5143  {copab 5205  dom cdm 5685  cres 5687  Rel wrel 5690  Ord word 6383  suc csuc 6386   Fn wfn 6556  cfv 6561  ωcom 7887  1oc1o 8499  t++cttrcl 9747
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2157  ax-12 2177  ax-ext 2708  ax-rep 5279  ax-sep 5296  ax-nul 5306  ax-pr 5432  ax-un 7755
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3or 1088  df-3an 1089  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2065  df-mo 2540  df-eu 2569  df-clab 2715  df-cleq 2729  df-clel 2816  df-nfc 2892  df-ne 2941  df-ral 3062  df-rex 3071  df-reu 3381  df-rab 3437  df-v 3482  df-sbc 3789  df-csb 3900  df-dif 3954  df-un 3956  df-in 3958  df-ss 3968  df-pss 3971  df-nul 4334  df-if 4526  df-pw 4602  df-sn 4627  df-pr 4629  df-op 4633  df-uni 4908  df-iun 4993  df-br 5144  df-opab 5206  df-mpt 5226  df-tr 5260  df-id 5578  df-eprel 5584  df-po 5592  df-so 5593  df-fr 5637  df-we 5639  df-xp 5691  df-rel 5692  df-cnv 5693  df-co 5694  df-dm 5695  df-rn 5696  df-res 5697  df-ima 5698  df-ord 6387  df-on 6388  df-lim 6389  df-suc 6390  df-iota 6514  df-fun 6563  df-fn 6564  df-f 6565  df-f1 6566  df-fo 6567  df-f1o 6568  df-fv 6569  df-om 7888  df-1o 8506  df-ttrcl 9748
This theorem is referenced by:  ttrclexg  9763  ttrclse  9767
  Copyright terms: Public domain W3C validator