Metamath Proof Explorer


Theorem trclubgNEW

Description: If a relation exists then the transitive closure has an upper bound. (Contributed by RP, 24-Jul-2020)

Ref Expression
Hypothesis trclubgNEW.rex ⊢ φ → R ∈ V
Assertion trclubgNEW ⊢ φ → ⋂ x | R ⊆ x ∧ x ∘ x ⊆ x ⊆ R ∪ dom ⁡ R × ran ⁡ R

Proof

Step Hyp Ref Expression
1 trclubgNEW.rex ⊢ φ → R ∈ V
2 1 dmexd ⊢ φ → dom ⁡ R ∈ V
3 rnexg ⊢ R ∈ V → ran ⁡ R ∈ V
4 1 3 syl ⊢ φ → ran ⁡ R ∈ V
5 2 4 xpexd ⊢ φ → dom ⁡ R × ran ⁡ R ∈ V
6 1 5 unexd ⊢ φ → R ∪ dom ⁡ R × ran ⁡ R ∈ V
7 id ⊢ x = R ∪ dom ⁡ R × ran ⁡ R → x = R ∪ dom ⁡ R × ran ⁡ R
8 7 7 coeq12d ⊢ x = R ∪ dom ⁡ R × ran ⁡ R → x ∘ x = R ∪ dom ⁡ R × ran ⁡ R ∘ R ∪ dom ⁡ R × ran ⁡ R
9 8 7 sseq12d ⊢ x = R ∪ dom ⁡ R × ran ⁡ R → x ∘ x ⊆ x ↔ R ∪ dom ⁡ R × ran ⁡ R ∘ R ∪ dom ⁡ R × ran ⁡ R ⊆ R ∪ dom ⁡ R × ran ⁡ R
10 ssun1 ⊢ R ⊆ R ∪ dom ⁡ R × ran ⁡ R
11 10 a1i ⊢ φ → R ⊆ R ∪ dom ⁡ R × ran ⁡ R
12 cnvssrndm ⊢ R -1 ⊆ ran ⁡ R × dom ⁡ R
13 coundi ⊢ R ∪ dom ⁡ R × ran ⁡ R ∘ R ∪ dom ⁡ R × ran ⁡ R = R ∪ dom ⁡ R × ran ⁡ R ∘ R ∪ R ∪ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R
14 cnvss ⊢ R -1 ⊆ ran ⁡ R × dom ⁡ R → R -1 -1 ⊆ ran ⁡ R × dom ⁡ R -1
15 coss2 ⊢ R -1 -1 ⊆ ran ⁡ R × dom ⁡ R -1 → R ∪ dom ⁡ R × ran ⁡ R ∘ R -1 -1 ⊆ R ∪ dom ⁡ R × ran ⁡ R ∘ ran ⁡ R × dom ⁡ R -1
16 14 15 syl ⊢ R -1 ⊆ ran ⁡ R × dom ⁡ R → R ∪ dom ⁡ R × ran ⁡ R ∘ R -1 -1 ⊆ R ∪ dom ⁡ R × ran ⁡ R ∘ ran ⁡ R × dom ⁡ R -1
17 cocnvcnv2 ⊢ R ∪ dom ⁡ R × ran ⁡ R ∘ R -1 -1 = R ∪ dom ⁡ R × ran ⁡ R ∘ R
18 cnvxp ⊢ ran ⁡ R × dom ⁡ R -1 = dom ⁡ R × ran ⁡ R
19 18 coeq2i ⊢ R ∪ dom ⁡ R × ran ⁡ R ∘ ran ⁡ R × dom ⁡ R -1 = R ∪ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R
20 16 17 19 3sstr3g ⊢ R -1 ⊆ ran ⁡ R × dom ⁡ R → R ∪ dom ⁡ R × ran ⁡ R ∘ R ⊆ R ∪ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R
21 ssequn1 ⊢ R ∪ dom ⁡ R × ran ⁡ R ∘ R ⊆ R ∪ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R ↔ R ∪ dom ⁡ R × ran ⁡ R ∘ R ∪ R ∪ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R = R ∪ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R
22 20 21 sylib ⊢ R -1 ⊆ ran ⁡ R × dom ⁡ R → R ∪ dom ⁡ R × ran ⁡ R ∘ R ∪ R ∪ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R = R ∪ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R
23 coundir ⊢ R ∪ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R = R ∘ dom ⁡ R × ran ⁡ R ∪ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R
24 coss1 ⊢ R -1 -1 ⊆ ran ⁡ R × dom ⁡ R -1 → R -1 -1 ∘ dom ⁡ R × ran ⁡ R ⊆ ran ⁡ R × dom ⁡ R -1 ∘ dom ⁡ R × ran ⁡ R
25 14 24 syl ⊢ R -1 ⊆ ran ⁡ R × dom ⁡ R → R -1 -1 ∘ dom ⁡ R × ran ⁡ R ⊆ ran ⁡ R × dom ⁡ R -1 ∘ dom ⁡ R × ran ⁡ R
26 cocnvcnv1 ⊢ R -1 -1 ∘ dom ⁡ R × ran ⁡ R = R ∘ dom ⁡ R × ran ⁡ R
27 18 coeq1i ⊢ ran ⁡ R × dom ⁡ R -1 ∘ dom ⁡ R × ran ⁡ R = dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R
28 25 26 27 3sstr3g ⊢ R -1 ⊆ ran ⁡ R × dom ⁡ R → R ∘ dom ⁡ R × ran ⁡ R ⊆ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R
29 ssequn1 ⊢ R ∘ dom ⁡ R × ran ⁡ R ⊆ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R ↔ R ∘ dom ⁡ R × ran ⁡ R ∪ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R = dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R
30 28 29 sylib ⊢ R -1 ⊆ ran ⁡ R × dom ⁡ R → R ∘ dom ⁡ R × ran ⁡ R ∪ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R = dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R
31 xptrrel ⊢ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R ⊆ dom ⁡ R × ran ⁡ R
32 ssun2 ⊢ dom ⁡ R × ran ⁡ R ⊆ R ∪ dom ⁡ R × ran ⁡ R
33 31 32 sstri ⊢ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R ⊆ R ∪ dom ⁡ R × ran ⁡ R
34 33 a1i ⊢ R -1 ⊆ ran ⁡ R × dom ⁡ R → dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R ⊆ R ∪ dom ⁡ R × ran ⁡ R
35 30 34 eqsstrd ⊢ R -1 ⊆ ran ⁡ R × dom ⁡ R → R ∘ dom ⁡ R × ran ⁡ R ∪ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R ⊆ R ∪ dom ⁡ R × ran ⁡ R
36 23 35 eqsstrid ⊢ R -1 ⊆ ran ⁡ R × dom ⁡ R → R ∪ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R ⊆ R ∪ dom ⁡ R × ran ⁡ R
37 22 36 eqsstrd ⊢ R -1 ⊆ ran ⁡ R × dom ⁡ R → R ∪ dom ⁡ R × ran ⁡ R ∘ R ∪ R ∪ dom ⁡ R × ran ⁡ R ∘ dom ⁡ R × ran ⁡ R ⊆ R ∪ dom ⁡ R × ran ⁡ R
38 13 37 eqsstrid ⊢ R -1 ⊆ ran ⁡ R × dom ⁡ R → R ∪ dom ⁡ R × ran ⁡ R ∘ R ∪ dom ⁡ R × ran ⁡ R ⊆ R ∪ dom ⁡ R × ran ⁡ R
39 12 38 mp1i ⊢ φ → R ∪ dom ⁡ R × ran ⁡ R ∘ R ∪ dom ⁡ R × ran ⁡ R ⊆ R ∪ dom ⁡ R × ran ⁡ R
40 6 9 11 39 clublem ⊢ φ → ⋂ x | R ⊆ x ∧ x ∘ x ⊆ x ⊆ R ∪ dom ⁡ R × ran ⁡ R