Metamath Proof Explorer


Theorem trcl

Description: For any set A , show the properties of its transitive closure C . Similar to Theorem 9.1 of TakeutiZaring p. 73 except that we show an explicit expression for the transitive closure rather than just its existence. See tz9.1 for an abbreviated version showing existence. (Contributed by NM, 14-Sep-2003) (Revised by Mario Carneiro, 11-Sep-2015)

Ref Expression
Hypotheses trcl.1 ⊢ A ∈ V
trcl.2 ⊢ F = rec ⁡ z ∈ V ⟼ z ∪ ⋃ z A ↾ ω
trcl.3 ⊢ C = ⋃ y ∈ ω F ⁡ y
Assertion trcl ⊢ A ⊆ C ∧ Tr ⁡ C ∧ ∀ x A ⊆ x ∧ Tr ⁡ x → C ⊆ x

Proof

Step Hyp Ref Expression
1 trcl.1 ⊢ A ∈ V
2 trcl.2 ⊢ F = rec ⁡ z ∈ V ⟼ z ∪ ⋃ z A ↾ ω
3 trcl.3 ⊢ C = ⋃ y ∈ ω F ⁡ y
4 peano1 ⊢ ∅ ∈ ω
5 2 fveq1i ⊢ F ⁡ ∅ = rec ⁡ z ∈ V ⟼ z ∪ ⋃ z A ↾ ω ⁡ ∅
6 fr0g ⊢ A ∈ V → rec ⁡ z ∈ V ⟼ z ∪ ⋃ z A ↾ ω ⁡ ∅ = A
7 1 6 ax-mp ⊢ rec ⁡ z ∈ V ⟼ z ∪ ⋃ z A ↾ ω ⁡ ∅ = A
8 5 7 eqtr2i ⊢ A = F ⁡ ∅
9 8 eqimssi ⊢ A ⊆ F ⁡ ∅
10 fveq2 ⊢ y = ∅ → F ⁡ y = F ⁡ ∅
11 10 sseq2d ⊢ y = ∅ → A ⊆ F ⁡ y ↔ A ⊆ F ⁡ ∅
12 11 rspcev ⊢ ∅ ∈ ω ∧ A ⊆ F ⁡ ∅ → ∃ y ∈ ω A ⊆ F ⁡ y
13 4 9 12 mp2an ⊢ ∃ y ∈ ω A ⊆ F ⁡ y
14 ssiun ⊢ ∃ y ∈ ω A ⊆ F ⁡ y → A ⊆ ⋃ y ∈ ω F ⁡ y
15 13 14 ax-mp ⊢ A ⊆ ⋃ y ∈ ω F ⁡ y
16 15 3 sseqtrri ⊢ A ⊆ C
17 dftr2 ⊢ Tr ⁡ ⋃ y ∈ ω F ⁡ y ↔ ∀ v ∀ u v ∈ u ∧ u ∈ ⋃ y ∈ ω F ⁡ y → v ∈ ⋃ y ∈ ω F ⁡ y
18 eliun ⊢ u ∈ ⋃ y ∈ ω F ⁡ y ↔ ∃ y ∈ ω u ∈ F ⁡ y
19 18 anbi2i ⊢ v ∈ u ∧ u ∈ ⋃ y ∈ ω F ⁡ y ↔ v ∈ u ∧ ∃ y ∈ ω u ∈ F ⁡ y
20 r19.42v ⊢ ∃ y ∈ ω v ∈ u ∧ u ∈ F ⁡ y ↔ v ∈ u ∧ ∃ y ∈ ω u ∈ F ⁡ y
21 19 20 bitr4i ⊢ v ∈ u ∧ u ∈ ⋃ y ∈ ω F ⁡ y ↔ ∃ y ∈ ω v ∈ u ∧ u ∈ F ⁡ y
22 elunii ⊢ v ∈ u ∧ u ∈ F ⁡ y → v ∈ ⋃ F ⁡ y
23 ssun2 ⊢ ⋃ F ⁡ y ⊆ F ⁡ y ∪ ⋃ F ⁡ y
24 fvex ⊢ F ⁡ y ∈ V
25 24 uniex ⊢ ⋃ F ⁡ y ∈ V
26 24 25 unex ⊢ F ⁡ y ∪ ⋃ F ⁡ y ∈ V
27 id ⊢ x = z → x = z
28 unieq ⊢ x = z → ⋃ x = ⋃ z
29 27 28 uneq12d ⊢ x = z → x ∪ ⋃ x = z ∪ ⋃ z
30 id ⊢ x = F ⁡ y → x = F ⁡ y
31 unieq ⊢ x = F ⁡ y → ⋃ x = ⋃ F ⁡ y
32 30 31 uneq12d ⊢ x = F ⁡ y → x ∪ ⋃ x = F ⁡ y ∪ ⋃ F ⁡ y
33 2 29 32 frsucmpt2 ⊢ y ∈ ω ∧ F ⁡ y ∪ ⋃ F ⁡ y ∈ V → F ⁡ suc ⁡ y = F ⁡ y ∪ ⋃ F ⁡ y
34 26 33 mpan2 ⊢ y ∈ ω → F ⁡ suc ⁡ y = F ⁡ y ∪ ⋃ F ⁡ y
35 23 34 sseqtrrid ⊢ y ∈ ω → ⋃ F ⁡ y ⊆ F ⁡ suc ⁡ y
36 35 sseld ⊢ y ∈ ω → v ∈ ⋃ F ⁡ y → v ∈ F ⁡ suc ⁡ y
37 22 36 syl5 ⊢ y ∈ ω → v ∈ u ∧ u ∈ F ⁡ y → v ∈ F ⁡ suc ⁡ y
38 37 reximia ⊢ ∃ y ∈ ω v ∈ u ∧ u ∈ F ⁡ y → ∃ y ∈ ω v ∈ F ⁡ suc ⁡ y
39 21 38 sylbi ⊢ v ∈ u ∧ u ∈ ⋃ y ∈ ω F ⁡ y → ∃ y ∈ ω v ∈ F ⁡ suc ⁡ y
40 peano2 ⊢ y ∈ ω → suc ⁡ y ∈ ω
41 fveq2 ⊢ u = suc ⁡ y → F ⁡ u = F ⁡ suc ⁡ y
42 41 eleq2d ⊢ u = suc ⁡ y → v ∈ F ⁡ u ↔ v ∈ F ⁡ suc ⁡ y
43 42 rspcev ⊢ suc ⁡ y ∈ ω ∧ v ∈ F ⁡ suc ⁡ y → ∃ u ∈ ω v ∈ F ⁡ u
44 43 ex ⊢ suc ⁡ y ∈ ω → v ∈ F ⁡ suc ⁡ y → ∃ u ∈ ω v ∈ F ⁡ u
45 40 44 syl ⊢ y ∈ ω → v ∈ F ⁡ suc ⁡ y → ∃ u ∈ ω v ∈ F ⁡ u
46 45 rexlimiv ⊢ ∃ y ∈ ω v ∈ F ⁡ suc ⁡ y → ∃ u ∈ ω v ∈ F ⁡ u
47 fveq2 ⊢ y = u → F ⁡ y = F ⁡ u
48 47 eleq2d ⊢ y = u → v ∈ F ⁡ y ↔ v ∈ F ⁡ u
49 48 cbvrexvw ⊢ ∃ y ∈ ω v ∈ F ⁡ y ↔ ∃ u ∈ ω v ∈ F ⁡ u
50 46 49 sylibr ⊢ ∃ y ∈ ω v ∈ F ⁡ suc ⁡ y → ∃ y ∈ ω v ∈ F ⁡ y
51 eliun ⊢ v ∈ ⋃ y ∈ ω F ⁡ y ↔ ∃ y ∈ ω v ∈ F ⁡ y
52 50 51 sylibr ⊢ ∃ y ∈ ω v ∈ F ⁡ suc ⁡ y → v ∈ ⋃ y ∈ ω F ⁡ y
53 39 52 syl ⊢ v ∈ u ∧ u ∈ ⋃ y ∈ ω F ⁡ y → v ∈ ⋃ y ∈ ω F ⁡ y
54 53 ax-gen ⊢ ∀ u v ∈ u ∧ u ∈ ⋃ y ∈ ω F ⁡ y → v ∈ ⋃ y ∈ ω F ⁡ y
55 17 54 mpgbir ⊢ Tr ⁡ ⋃ y ∈ ω F ⁡ y
56 treq ⊢ C = ⋃ y ∈ ω F ⁡ y → Tr ⁡ C ↔ Tr ⁡ ⋃ y ∈ ω F ⁡ y
57 3 56 ax-mp ⊢ Tr ⁡ C ↔ Tr ⁡ ⋃ y ∈ ω F ⁡ y
58 55 57 mpbir ⊢ Tr ⁡ C
59 fveq2 ⊢ v = ∅ → F ⁡ v = F ⁡ ∅
60 59 sseq1d ⊢ v = ∅ → F ⁡ v ⊆ x ↔ F ⁡ ∅ ⊆ x
61 fveq2 ⊢ v = y → F ⁡ v = F ⁡ y
62 61 sseq1d ⊢ v = y → F ⁡ v ⊆ x ↔ F ⁡ y ⊆ x
63 fveq2 ⊢ v = suc ⁡ y → F ⁡ v = F ⁡ suc ⁡ y
64 63 sseq1d ⊢ v = suc ⁡ y → F ⁡ v ⊆ x ↔ F ⁡ suc ⁡ y ⊆ x
65 5 7 eqtri ⊢ F ⁡ ∅ = A
66 65 sseq1i ⊢ F ⁡ ∅ ⊆ x ↔ A ⊆ x
67 66 biranri ⊢ A ⊆ x ∧ Tr ⁡ x → F ⁡ ∅ ⊆ x
68 uniss ⊢ F ⁡ y ⊆ x → ⋃ F ⁡ y ⊆ ⋃ x
69 df-tr ⊢ Tr ⁡ x ↔ ⋃ x ⊆ x
70 sstr2 ⊢ ⋃ F ⁡ y ⊆ ⋃ x → ⋃ x ⊆ x → ⋃ F ⁡ y ⊆ x
71 69 70 biimtrid ⊢ ⋃ F ⁡ y ⊆ ⋃ x → Tr ⁡ x → ⋃ F ⁡ y ⊆ x
72 68 71 syl ⊢ F ⁡ y ⊆ x → Tr ⁡ x → ⋃ F ⁡ y ⊆ x
73 72 anc2li ⊢ F ⁡ y ⊆ x → Tr ⁡ x → F ⁡ y ⊆ x ∧ ⋃ F ⁡ y ⊆ x
74 unss ⊢ F ⁡ y ⊆ x ∧ ⋃ F ⁡ y ⊆ x ↔ F ⁡ y ∪ ⋃ F ⁡ y ⊆ x
75 73 74 imbitrdi ⊢ F ⁡ y ⊆ x → Tr ⁡ x → F ⁡ y ∪ ⋃ F ⁡ y ⊆ x
76 34 sseq1d ⊢ y ∈ ω → F ⁡ suc ⁡ y ⊆ x ↔ F ⁡ y ∪ ⋃ F ⁡ y ⊆ x
77 76 biimprd ⊢ y ∈ ω → F ⁡ y ∪ ⋃ F ⁡ y ⊆ x → F ⁡ suc ⁡ y ⊆ x
78 75 77 syl9r ⊢ y ∈ ω → F ⁡ y ⊆ x → Tr ⁡ x → F ⁡ suc ⁡ y ⊆ x
79 78 com23 ⊢ y ∈ ω → Tr ⁡ x → F ⁡ y ⊆ x → F ⁡ suc ⁡ y ⊆ x
80 79 adantld ⊢ y ∈ ω → A ⊆ x ∧ Tr ⁡ x → F ⁡ y ⊆ x → F ⁡ suc ⁡ y ⊆ x
81 60 62 64 67 80 finds2 ⊢ v ∈ ω → A ⊆ x ∧ Tr ⁡ x → F ⁡ v ⊆ x
82 81 com12 ⊢ A ⊆ x ∧ Tr ⁡ x → v ∈ ω → F ⁡ v ⊆ x
83 82 ralrimiv ⊢ A ⊆ x ∧ Tr ⁡ x → ∀ v ∈ ω F ⁡ v ⊆ x
84 fveq2 ⊢ y = v → F ⁡ y = F ⁡ v
85 84 cbviunv ⊢ ⋃ y ∈ ω F ⁡ y = ⋃ v ∈ ω F ⁡ v
86 3 85 eqtri ⊢ C = ⋃ v ∈ ω F ⁡ v
87 86 sseq1i ⊢ C ⊆ x ↔ ⋃ v ∈ ω F ⁡ v ⊆ x
88 iunss ⊢ ⋃ v ∈ ω F ⁡ v ⊆ x ↔ ∀ v ∈ ω F ⁡ v ⊆ x
89 87 88 bitri ⊢ C ⊆ x ↔ ∀ v ∈ ω F ⁡ v ⊆ x
90 83 89 sylibr ⊢ A ⊆ x ∧ Tr ⁡ x → C ⊆ x
91 90 ax-gen ⊢ ∀ x A ⊆ x ∧ Tr ⁡ x → C ⊆ x
92 16 58 91 3pm3.2i ⊢ A ⊆ C ∧ Tr ⁡ C ∧ ∀ x A ⊆ x ∧ Tr ⁡ x → C ⊆ x