Metamath Proof Explorer


Theorem ttctr

Description: The transitive closure of a class is transitive. (Contributed by Matthew House, 6-Apr-2026)

Ref Expression
Assertion ttctr Could not format assertion : No typesetting found for |- Tr TC+ A with typecode |-

Proof

Step Hyp Ref Expression
1 rdgfun ⊢ Fun ⁡ rec ⁡ y ∈ V ⟼ ⋃ y x
2 eluniima ⊢ Fun ⁡ rec ⁡ y ∈ V ⟼ ⋃ y x → v ∈ ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ω ↔ ∃ z ∈ ω v ∈ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ z
3 1 2 ax-mp ⊢ v ∈ ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ω ↔ ∃ z ∈ ω v ∈ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ z
4 peano2 ⊢ z ∈ ω → suc ⁡ z ∈ ω
5 elunii ⊢ u ∈ v ∧ v ∈ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ z → u ∈ ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ z
6 nnon ⊢ z ∈ ω → z ∈ On
7 fvex ⊢ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ z ∈ V
8 7 uniex ⊢ ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ z ∈ V
9 eqid ⊢ rec ⁡ y ∈ V ⟼ ⋃ y x = rec ⁡ y ∈ V ⟼ ⋃ y x
10 unieq ⊢ w = y → ⋃ w = ⋃ y
11 unieq ⊢ w = rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ z → ⋃ w = ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ z
12 9 10 11 rdgsucmpt2 ⊢ z ∈ On ∧ ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ z ∈ V → rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ suc ⁡ z = ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ z
13 6 8 12 sylancl ⊢ z ∈ ω → rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ suc ⁡ z = ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ z
14 13 eleq2d ⊢ z ∈ ω → u ∈ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ suc ⁡ z ↔ u ∈ ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ z
15 14 biimpar ⊢ z ∈ ω ∧ u ∈ ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ z → u ∈ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ suc ⁡ z
16 5 15 sylan2 ⊢ z ∈ ω ∧ u ∈ v ∧ v ∈ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ z → u ∈ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ suc ⁡ z
17 fveq2 ⊢ w = suc ⁡ z → rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ w = rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ suc ⁡ z
18 17 eleq2d ⊢ w = suc ⁡ z → u ∈ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ w ↔ u ∈ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ suc ⁡ z
19 18 rspcev ⊢ suc ⁡ z ∈ ω ∧ u ∈ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ suc ⁡ z → ∃ w ∈ ω u ∈ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ w
20 4 16 19 syl2an2r ⊢ z ∈ ω ∧ u ∈ v ∧ v ∈ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ z → ∃ w ∈ ω u ∈ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ w
21 eluniima ⊢ Fun ⁡ rec ⁡ y ∈ V ⟼ ⋃ y x → u ∈ ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ω ↔ ∃ w ∈ ω u ∈ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ w
22 1 21 ax-mp ⊢ u ∈ ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ω ↔ ∃ w ∈ ω u ∈ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ w
23 20 22 sylibr ⊢ z ∈ ω ∧ u ∈ v ∧ v ∈ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ z → u ∈ ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ω
24 23 an12s ⊢ u ∈ v ∧ z ∈ ω ∧ v ∈ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ z → u ∈ ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ω
25 24 rexlimdvaa ⊢ u ∈ v → ∃ z ∈ ω v ∈ rec ⁡ y ∈ V ⟼ ⋃ y x ⁡ z → u ∈ ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ω
26 3 25 biimtrid ⊢ u ∈ v → v ∈ ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ω → u ∈ ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ω
27 26 reximdv ⊢ u ∈ v → ∃ x ∈ A v ∈ ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ω → ∃ x ∈ A u ∈ ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ω
28 eliun ⊢ v ∈ ⋃ x ∈ A ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ω ↔ ∃ x ∈ A v ∈ ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ω
29 eliun ⊢ u ∈ ⋃ x ∈ A ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ω ↔ ∃ x ∈ A u ∈ ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ω
30 27 28 29 3imtr4g ⊢ u ∈ v → v ∈ ⋃ x ∈ A ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ω → u ∈ ⋃ x ∈ A ⋃ rec ⁡ y ∈ V ⟼ ⋃ y x ω
31 df-ttc Could not format TC+ A = U_ x e. A U. ( rec ( ( y e. _V |-> U. y ) , { x } ) " _om ) : No typesetting found for |- TC+ A = U_ x e. A U. ( rec ( ( y e. _V |-> U. y ) , { x } ) " _om ) with typecode |-
32 31 eleq2i Could not format ( v e. TC+ A <-> v e. U_ x e. A U. ( rec ( ( y e. _V |-> U. y ) , { x } ) " _om ) ) : No typesetting found for |- ( v e. TC+ A <-> v e. U_ x e. A U. ( rec ( ( y e. _V |-> U. y ) , { x } ) " _om ) ) with typecode |-
33 31 eleq2i Could not format ( u e. TC+ A <-> u e. U_ x e. A U. ( rec ( ( y e. _V |-> U. y ) , { x } ) " _om ) ) : No typesetting found for |- ( u e. TC+ A <-> u e. U_ x e. A U. ( rec ( ( y e. _V |-> U. y ) , { x } ) " _om ) ) with typecode |-
34 30 32 33 3imtr4g Could not format ( u e. v -> ( v e. TC+ A -> u e. TC+ A ) ) : No typesetting found for |- ( u e. v -> ( v e. TC+ A -> u e. TC+ A ) ) with typecode |-
35 34 imp Could not format ( ( u e. v /\ v e. TC+ A ) -> u e. TC+ A ) : No typesetting found for |- ( ( u e. v /\ v e. TC+ A ) -> u e. TC+ A ) with typecode |-
36 35 gen2 Could not format A. u A. v ( ( u e. v /\ v e. TC+ A ) -> u e. TC+ A ) : No typesetting found for |- A. u A. v ( ( u e. v /\ v e. TC+ A ) -> u e. TC+ A ) with typecode |-
37 dftr2 Could not format ( Tr TC+ A <-> A. u A. v ( ( u e. v /\ v e. TC+ A ) -> u e. TC+ A ) ) : No typesetting found for |- ( Tr TC+ A <-> A. u A. v ( ( u e. v /\ v e. TC+ A ) -> u e. TC+ A ) ) with typecode |-
38 36 37 mpbir Could not format Tr TC+ A : No typesetting found for |- Tr TC+ A with typecode |-