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 |-