Metamath Proof Explorer


Theorem dmttrcl

Description: The domain of a transitive closure is the same as the domain of the original class. (Contributed by Scott Fenton, 26-Oct-2024)

Ref Expression
Assertion dmttrcl Could not format assertion : No typesetting found for |- dom t++ R = dom R with typecode |-

Proof

Step Hyp Ref Expression
1 df-ttrcl Could not format t++ R = { <. x , y >. | E. n e. ( _om \ 1o ) E. f ( f Fn suc n /\ ( ( f ` (/) ) = x /\ ( f ` n ) = y ) /\ A. a e. n ( f ` a ) R ( f ` suc a ) ) } : No typesetting found for |- t++ R = { <. x , y >. | E. n e. ( _om \ 1o ) E. f ( f Fn suc n /\ ( ( f ` (/) ) = x /\ ( f ` n ) = y ) /\ A. a e. n ( f ` a ) R ( f ` suc a ) ) } with typecode |-
2 1 dmeqi Could not format dom t++ R = dom { <. x , y >. | E. n e. ( _om \ 1o ) E. f ( f Fn suc n /\ ( ( f ` (/) ) = x /\ ( f ` n ) = y ) /\ A. a e. n ( f ` a ) R ( f ` suc a ) ) } : No typesetting found for |- dom t++ R = dom { <. x , y >. | E. n e. ( _om \ 1o ) E. f ( f Fn suc n /\ ( ( f ` (/) ) = x /\ ( f ` n ) = y ) /\ A. a e. n ( f ` a ) R ( f ` suc a ) ) } with typecode |-
3 dmopab domxy|nω1𝑜ffFnsucnf=xfn=yanfaRfsuca=x|ynω1𝑜ffFnsucnf=xfn=yanfaRfsuca
4 2 3 eqtri Could not format dom t++ R = { x | E. y E. n e. ( _om \ 1o ) E. f ( f Fn suc n /\ ( ( f ` (/) ) = x /\ ( f ` n ) = y ) /\ A. a e. n ( f ` a ) R ( f ` suc a ) ) } : No typesetting found for |- dom t++ R = { x | E. y E. n e. ( _om \ 1o ) E. f ( f Fn suc n /\ ( ( f ` (/) ) = x /\ ( f ` n ) = y ) /\ A. a e. n ( f ` a ) R ( f ` suc a ) ) } with typecode |-
5 simpr2l nω1𝑜fFnsucnf=xfn=yanfaRfsucaf=x
6 fveq2 a=fa=f
7 suceq a=suca=suc
8 df-1o 1𝑜=suc
9 7 8 eqtr4di a=suca=1𝑜
10 9 fveq2d a=fsuca=f1𝑜
11 6 10 breq12d a=faRfsucafRf1𝑜
12 simpr3 nω1𝑜fFnsucnf=xfn=yanfaRfsucaanfaRfsuca
13 eldif nω1𝑜nω¬n1𝑜
14 0ex V
15 nnord nωOrdn
16 ordelsuc VOrdnnsucn
17 14 15 16 sylancr nωnsucn
18 8 sseq1i 1𝑜nsucn
19 1on 1𝑜On
20 19 onordi Ord1𝑜
21 ordtri1 Ord1𝑜Ordn1𝑜n¬n1𝑜
22 20 15 21 sylancr nω1𝑜n¬n1𝑜
23 18 22 bitr3id nωsucn¬n1𝑜
24 17 23 bitr2d nω¬n1𝑜n
25 24 biimpa nω¬n1𝑜n
26 13 25 sylbi nω1𝑜n
27 26 adantr nω1𝑜fFnsucnf=xfn=yanfaRfsucan
28 11 12 27 rspcdva nω1𝑜fFnsucnf=xfn=yanfaRfsucafRf1𝑜
29 5 28 eqbrtrrd nω1𝑜fFnsucnf=xfn=yanfaRfsucaxRf1𝑜
30 vex xV
31 fvex f1𝑜V
32 30 31 breldm xRf1𝑜xdomR
33 29 32 syl nω1𝑜fFnsucnf=xfn=yanfaRfsucaxdomR
34 33 ex nω1𝑜fFnsucnf=xfn=yanfaRfsucaxdomR
35 34 exlimdv nω1𝑜ffFnsucnf=xfn=yanfaRfsucaxdomR
36 35 rexlimiv nω1𝑜ffFnsucnf=xfn=yanfaRfsucaxdomR
37 36 exlimiv ynω1𝑜ffFnsucnf=xfn=yanfaRfsucaxdomR
38 37 abssi x|ynω1𝑜ffFnsucnf=xfn=yanfaRfsucadomR
39 4 38 eqsstri Could not format dom t++ R C_ dom R : No typesetting found for |- dom t++ R C_ dom R with typecode |-
40 dmresv domRV=domR
41 relres RelRV
42 ssttrcl Could not format ( Rel ( R |` _V ) -> ( R |` _V ) C_ t++ ( R |` _V ) ) : No typesetting found for |- ( Rel ( R |` _V ) -> ( R |` _V ) C_ t++ ( R |` _V ) ) with typecode |-
43 41 42 ax-mp Could not format ( R |` _V ) C_ t++ ( R |` _V ) : No typesetting found for |- ( R |` _V ) C_ t++ ( R |` _V ) with typecode |-
44 ttrclresv Could not format t++ ( R |` _V ) = t++ R : No typesetting found for |- t++ ( R |` _V ) = t++ R with typecode |-
45 43 44 sseqtri Could not format ( R |` _V ) C_ t++ R : No typesetting found for |- ( R |` _V ) C_ t++ R with typecode |-
46 dmss Could not format ( ( R |` _V ) C_ t++ R -> dom ( R |` _V ) C_ dom t++ R ) : No typesetting found for |- ( ( R |` _V ) C_ t++ R -> dom ( R |` _V ) C_ dom t++ R ) with typecode |-
47 45 46 ax-mp Could not format dom ( R |` _V ) C_ dom t++ R : No typesetting found for |- dom ( R |` _V ) C_ dom t++ R with typecode |-
48 40 47 eqsstrri Could not format dom R C_ dom t++ R : No typesetting found for |- dom R C_ dom t++ R with typecode |-
49 39 48 eqssi Could not format dom t++ R = dom R : No typesetting found for |- dom t++ R = dom R with typecode |-