Metamath Proof Explorer


Theorem dfttc2g

Description: A shorter expression for the transitive closure of a set. (Contributed by Matthew House, 6-Apr-2026)

Ref Expression
Assertion dfttc2g Could not format assertion : No typesetting found for |- ( A e. V -> TC+ A = U. ( rec ( ( x e. _V |-> U. x ) , A ) " _om ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 rdg0g A V rec x V x A = A
2 rdgfnon rec x V x A Fn On
3 omsson ω On
4 peano1 ω
5 fnfvima rec x V x A Fn On ω On ω rec x V x A rec x V x A ω
6 2 3 4 5 mp3an rec x V x A rec x V x A ω
7 1 6 eqeltrrdi A V A rec x V x A ω
8 elssuni A rec x V x A ω A rec x V x A ω
9 7 8 syl A V A rec x V x A ω
10 peano2 z ω suc z ω
11 elunii w y y rec x V x A z w rec x V x A z
12 nnon z ω z On
13 fvex rec x V x A z V
14 13 uniex rec x V x A z V
15 eqid rec x V x A = rec x V x A
16 unieq y = x y = x
17 unieq y = rec x V x A z y = rec x V x A z
18 15 16 17 rdgsucmpt2 z On rec x V x A z V rec x V x A suc z = rec x V x A z
19 12 14 18 sylancl z ω rec x V x A suc z = rec x V x A z
20 19 eleq2d z ω w rec x V x A suc z w rec x V x A z
21 20 biimpar z ω w rec x V x A z w rec x V x A suc z
22 11 21 sylan2 z ω w y y rec x V x A z w rec x V x A suc z
23 fveq2 y = suc z rec x V x A y = rec x V x A suc z
24 23 eleq2d y = suc z w rec x V x A y w rec x V x A suc z
25 24 rspcev suc z ω w rec x V x A suc z y ω w rec x V x A y
26 10 22 25 syl2an2r z ω w y y rec x V x A z y ω w rec x V x A y
27 26 an12s w y z ω y rec x V x A z y ω w rec x V x A y
28 27 rexlimdvaa w y z ω y rec x V x A z y ω w rec x V x A y
29 rdgfun Fun rec x V x A
30 eluniima Fun rec x V x A y rec x V x A ω z ω y rec x V x A z
31 29 30 ax-mp y rec x V x A ω z ω y rec x V x A z
32 eluniima Fun rec x V x A w rec x V x A ω y ω w rec x V x A y
33 29 32 ax-mp w rec x V x A ω y ω w rec x V x A y
34 28 31 33 3imtr4g w y y rec x V x A ω w rec x V x A ω
35 34 imp w y y rec x V x A ω w rec x V x A ω
36 35 gen2 w y w y y rec x V x A ω w rec x V x A ω
37 dftr2 Tr rec x V x A ω w y w y y rec x V x A ω w rec x V x A ω
38 36 37 mpbir Tr rec x V x A ω
39 ttcmin Could not format ( ( A C_ U. ( rec ( ( x e. _V |-> U. x ) , A ) " _om ) /\ Tr U. ( rec ( ( x e. _V |-> U. x ) , A ) " _om ) ) -> TC+ A C_ U. ( rec ( ( x e. _V |-> U. x ) , A ) " _om ) ) : No typesetting found for |- ( ( A C_ U. ( rec ( ( x e. _V |-> U. x ) , A ) " _om ) /\ Tr U. ( rec ( ( x e. _V |-> U. x ) , A ) " _om ) ) -> TC+ A C_ U. ( rec ( ( x e. _V |-> U. x ) , A ) " _om ) ) with typecode |-
40 9 38 39 sylancl Could not format ( A e. V -> TC+ A C_ U. ( rec ( ( x e. _V |-> U. x ) , A ) " _om ) ) : No typesetting found for |- ( A e. V -> TC+ A C_ U. ( rec ( ( x e. _V |-> U. x ) , A ) " _om ) ) with typecode |-
41 funiunfv Fun rec x V x A y ω rec x V x A y = rec x V x A ω
42 29 41 ax-mp y ω rec x V x A y = rec x V x A ω
43 fveq2 y = rec x V x A y = rec x V x A
44 43 sseq1d Could not format ( y = (/) -> ( ( rec ( ( x e. _V |-> U. x ) , A ) ` y ) C_ TC+ A <-> ( rec ( ( x e. _V |-> U. x ) , A ) ` (/) ) C_ TC+ A ) ) : No typesetting found for |- ( y = (/) -> ( ( rec ( ( x e. _V |-> U. x ) , A ) ` y ) C_ TC+ A <-> ( rec ( ( x e. _V |-> U. x ) , A ) ` (/) ) C_ TC+ A ) ) with typecode |-
45 fveq2 y = z rec x V x A y = rec x V x A z
46 45 sseq1d Could not format ( y = z -> ( ( rec ( ( x e. _V |-> U. x ) , A ) ` y ) C_ TC+ A <-> ( rec ( ( x e. _V |-> U. x ) , A ) ` z ) C_ TC+ A ) ) : No typesetting found for |- ( y = z -> ( ( rec ( ( x e. _V |-> U. x ) , A ) ` y ) C_ TC+ A <-> ( rec ( ( x e. _V |-> U. x ) , A ) ` z ) C_ TC+ A ) ) with typecode |-
47 23 sseq1d Could not format ( y = suc z -> ( ( rec ( ( x e. _V |-> U. x ) , A ) ` y ) C_ TC+ A <-> ( rec ( ( x e. _V |-> U. x ) , A ) ` suc z ) C_ TC+ A ) ) : No typesetting found for |- ( y = suc z -> ( ( rec ( ( x e. _V |-> U. x ) , A ) ` y ) C_ TC+ A <-> ( rec ( ( x e. _V |-> U. x ) , A ) ` suc z ) C_ TC+ A ) ) with typecode |-
48 ttcid Could not format A C_ TC+ A : No typesetting found for |- A C_ TC+ A with typecode |-
49 1 48 eqsstrdi Could not format ( A e. V -> ( rec ( ( x e. _V |-> U. x ) , A ) ` (/) ) C_ TC+ A ) : No typesetting found for |- ( A e. V -> ( rec ( ( x e. _V |-> U. x ) , A ) ` (/) ) C_ TC+ A ) with typecode |-
50 uniss Could not format ( ( rec ( ( x e. _V |-> U. x ) , A ) ` z ) C_ TC+ A -> U. ( rec ( ( x e. _V |-> U. x ) , A ) ` z ) C_ U. TC+ A ) : No typesetting found for |- ( ( rec ( ( x e. _V |-> U. x ) , A ) ` z ) C_ TC+ A -> U. ( rec ( ( x e. _V |-> U. x ) , A ) ` z ) C_ U. TC+ A ) with typecode |-
51 ttctr3 Could not format U. TC+ A C_ TC+ A : No typesetting found for |- U. TC+ A C_ TC+ A with typecode |-
52 50 51 sstrdi Could not format ( ( rec ( ( x e. _V |-> U. x ) , A ) ` z ) C_ TC+ A -> U. ( rec ( ( x e. _V |-> U. x ) , A ) ` z ) C_ TC+ A ) : No typesetting found for |- ( ( rec ( ( x e. _V |-> U. x ) , A ) ` z ) C_ TC+ A -> U. ( rec ( ( x e. _V |-> U. x ) , A ) ` z ) C_ TC+ A ) with typecode |-
53 19 sseq1d Could not format ( z e. _om -> ( ( rec ( ( x e. _V |-> U. x ) , A ) ` suc z ) C_ TC+ A <-> U. ( rec ( ( x e. _V |-> U. x ) , A ) ` z ) C_ TC+ A ) ) : No typesetting found for |- ( z e. _om -> ( ( rec ( ( x e. _V |-> U. x ) , A ) ` suc z ) C_ TC+ A <-> U. ( rec ( ( x e. _V |-> U. x ) , A ) ` z ) C_ TC+ A ) ) with typecode |-
54 52 53 imbitrrid Could not format ( z e. _om -> ( ( rec ( ( x e. _V |-> U. x ) , A ) ` z ) C_ TC+ A -> ( rec ( ( x e. _V |-> U. x ) , A ) ` suc z ) C_ TC+ A ) ) : No typesetting found for |- ( z e. _om -> ( ( rec ( ( x e. _V |-> U. x ) , A ) ` z ) C_ TC+ A -> ( rec ( ( x e. _V |-> U. x ) , A ) ` suc z ) C_ TC+ A ) ) with typecode |-
55 54 a1d Could not format ( z e. _om -> ( A e. V -> ( ( rec ( ( x e. _V |-> U. x ) , A ) ` z ) C_ TC+ A -> ( rec ( ( x e. _V |-> U. x ) , A ) ` suc z ) C_ TC+ A ) ) ) : No typesetting found for |- ( z e. _om -> ( A e. V -> ( ( rec ( ( x e. _V |-> U. x ) , A ) ` z ) C_ TC+ A -> ( rec ( ( x e. _V |-> U. x ) , A ) ` suc z ) C_ TC+ A ) ) ) with typecode |-
56 44 46 47 49 55 finds2 Could not format ( y e. _om -> ( A e. V -> ( rec ( ( x e. _V |-> U. x ) , A ) ` y ) C_ TC+ A ) ) : No typesetting found for |- ( y e. _om -> ( A e. V -> ( rec ( ( x e. _V |-> U. x ) , A ) ` y ) C_ TC+ A ) ) with typecode |-
57 56 impcom Could not format ( ( A e. V /\ y e. _om ) -> ( rec ( ( x e. _V |-> U. x ) , A ) ` y ) C_ TC+ A ) : No typesetting found for |- ( ( A e. V /\ y e. _om ) -> ( rec ( ( x e. _V |-> U. x ) , A ) ` y ) C_ TC+ A ) with typecode |-
58 57 iunssd Could not format ( A e. V -> U_ y e. _om ( rec ( ( x e. _V |-> U. x ) , A ) ` y ) C_ TC+ A ) : No typesetting found for |- ( A e. V -> U_ y e. _om ( rec ( ( x e. _V |-> U. x ) , A ) ` y ) C_ TC+ A ) with typecode |-
59 42 58 eqsstrrid Could not format ( A e. V -> U. ( rec ( ( x e. _V |-> U. x ) , A ) " _om ) C_ TC+ A ) : No typesetting found for |- ( A e. V -> U. ( rec ( ( x e. _V |-> U. x ) , A ) " _om ) C_ TC+ A ) with typecode |-
60 40 59 eqssd Could not format ( A e. V -> TC+ A = U. ( rec ( ( x e. _V |-> U. x ) , A ) " _om ) ) : No typesetting found for |- ( A e. V -> TC+ A = U. ( rec ( ( x e. _V |-> U. x ) , A ) " _om ) ) with typecode |-