Metamath Proof Explorer


Theorem trclublem

Description: If a relation exists then the class of transitive relations which are supersets of that relation is not empty. (Contributed by RP, 28-Apr-2020)

Ref Expression
Assertion trclublem ( 𝑅𝑉 → ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ∈ { 𝑥 ∣ ( 𝑅𝑥 ∧ ( 𝑥𝑥 ) ⊆ 𝑥 ) } )

Proof

Step Hyp Ref Expression
1 trclexlem ( 𝑅𝑉 → ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ∈ V )
2 ssun1 𝑅 ⊆ ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) )
3 relcnv Rel 𝑅
4 relssdmrn ( Rel 𝑅 𝑅 ⊆ ( dom 𝑅 × ran 𝑅 ) )
5 3 4 ax-mp 𝑅 ⊆ ( dom 𝑅 × ran 𝑅 )
6 ssequn1 ( 𝑅 ⊆ ( dom 𝑅 × ran 𝑅 ) ↔ ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) = ( dom 𝑅 × ran 𝑅 ) )
7 5 6 mpbi ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) = ( dom 𝑅 × ran 𝑅 )
8 cnvun ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) = ( 𝑅 ( dom 𝑅 × ran 𝑅 ) )
9 cnvxp ( dom 𝑅 × ran 𝑅 ) = ( ran 𝑅 × dom 𝑅 )
10 df-rn ran 𝑅 = dom 𝑅
11 dfdm4 dom 𝑅 = ran 𝑅
12 10 11 xpeq12i ( ran 𝑅 × dom 𝑅 ) = ( dom 𝑅 × ran 𝑅 )
13 9 12 eqtri ( dom 𝑅 × ran 𝑅 ) = ( dom 𝑅 × ran 𝑅 )
14 13 uneq2i ( 𝑅 ( dom 𝑅 × ran 𝑅 ) ) = ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) )
15 8 14 eqtri ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) = ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) )
16 7 15 13 3eqtr4i ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) = ( dom 𝑅 × ran 𝑅 )
17 16 breqi ( 𝑏 ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) 𝑎𝑏 ( dom 𝑅 × ran 𝑅 ) 𝑎 )
18 vex 𝑏 ∈ V
19 vex 𝑎 ∈ V
20 18 19 brcnv ( 𝑏 ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) 𝑎𝑎 ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) 𝑏 )
21 18 19 brcnv ( 𝑏 ( dom 𝑅 × ran 𝑅 ) 𝑎𝑎 ( dom 𝑅 × ran 𝑅 ) 𝑏 )
22 17 20 21 3bitr3i ( 𝑎 ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) 𝑏𝑎 ( dom 𝑅 × ran 𝑅 ) 𝑏 )
23 16 breqi ( 𝑐 ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) 𝑏𝑐 ( dom 𝑅 × ran 𝑅 ) 𝑏 )
24 vex 𝑐 ∈ V
25 24 18 brcnv ( 𝑐 ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) 𝑏𝑏 ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) 𝑐 )
26 24 18 brcnv ( 𝑐 ( dom 𝑅 × ran 𝑅 ) 𝑏𝑏 ( dom 𝑅 × ran 𝑅 ) 𝑐 )
27 23 25 26 3bitr3i ( 𝑏 ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) 𝑐𝑏 ( dom 𝑅 × ran 𝑅 ) 𝑐 )
28 22 27 anbi12i ( ( 𝑎 ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) 𝑏𝑏 ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) 𝑐 ) ↔ ( 𝑎 ( dom 𝑅 × ran 𝑅 ) 𝑏𝑏 ( dom 𝑅 × ran 𝑅 ) 𝑐 ) )
29 28 biimpi ( ( 𝑎 ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) 𝑏𝑏 ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) 𝑐 ) → ( 𝑎 ( dom 𝑅 × ran 𝑅 ) 𝑏𝑏 ( dom 𝑅 × ran 𝑅 ) 𝑐 ) )
30 29 eximi ( ∃ 𝑏 ( 𝑎 ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) 𝑏𝑏 ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) 𝑐 ) → ∃ 𝑏 ( 𝑎 ( dom 𝑅 × ran 𝑅 ) 𝑏𝑏 ( dom 𝑅 × ran 𝑅 ) 𝑐 ) )
31 30 ssopab2i { ⟨ 𝑎 , 𝑐 ⟩ ∣ ∃ 𝑏 ( 𝑎 ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) 𝑏𝑏 ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) 𝑐 ) } ⊆ { ⟨ 𝑎 , 𝑐 ⟩ ∣ ∃ 𝑏 ( 𝑎 ( dom 𝑅 × ran 𝑅 ) 𝑏𝑏 ( dom 𝑅 × ran 𝑅 ) 𝑐 ) }
32 df-co ( ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ∘ ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ) = { ⟨ 𝑎 , 𝑐 ⟩ ∣ ∃ 𝑏 ( 𝑎 ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) 𝑏𝑏 ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) 𝑐 ) }
33 df-co ( ( dom 𝑅 × ran 𝑅 ) ∘ ( dom 𝑅 × ran 𝑅 ) ) = { ⟨ 𝑎 , 𝑐 ⟩ ∣ ∃ 𝑏 ( 𝑎 ( dom 𝑅 × ran 𝑅 ) 𝑏𝑏 ( dom 𝑅 × ran 𝑅 ) 𝑐 ) }
34 31 32 33 3sstr4i ( ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ∘ ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ) ⊆ ( ( dom 𝑅 × ran 𝑅 ) ∘ ( dom 𝑅 × ran 𝑅 ) )
35 xptrrel ( ( dom 𝑅 × ran 𝑅 ) ∘ ( dom 𝑅 × ran 𝑅 ) ) ⊆ ( dom 𝑅 × ran 𝑅 )
36 ssun2 ( dom 𝑅 × ran 𝑅 ) ⊆ ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) )
37 35 36 sstri ( ( dom 𝑅 × ran 𝑅 ) ∘ ( dom 𝑅 × ran 𝑅 ) ) ⊆ ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) )
38 34 37 sstri ( ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ∘ ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ) ⊆ ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) )
39 trcleq2lem ( 𝑥 = ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) → ( ( 𝑅𝑥 ∧ ( 𝑥𝑥 ) ⊆ 𝑥 ) ↔ ( 𝑅 ⊆ ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ∧ ( ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ∘ ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ) ⊆ ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ) ) )
40 39 elabg ( ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ∈ V → ( ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ∈ { 𝑥 ∣ ( 𝑅𝑥 ∧ ( 𝑥𝑥 ) ⊆ 𝑥 ) } ↔ ( 𝑅 ⊆ ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ∧ ( ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ∘ ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ) ⊆ ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ) ) )
41 40 biimprd ( ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ∈ V → ( ( 𝑅 ⊆ ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ∧ ( ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ∘ ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ) ⊆ ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ) → ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ∈ { 𝑥 ∣ ( 𝑅𝑥 ∧ ( 𝑥𝑥 ) ⊆ 𝑥 ) } ) )
42 2 38 41 mp2ani ( ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ∈ V → ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ∈ { 𝑥 ∣ ( 𝑅𝑥 ∧ ( 𝑥𝑥 ) ⊆ 𝑥 ) } )
43 1 42 syl ( 𝑅𝑉 → ( 𝑅 ∪ ( dom 𝑅 × ran 𝑅 ) ) ∈ { 𝑥 ∣ ( 𝑅𝑥 ∧ ( 𝑥𝑥 ) ⊆ 𝑥 ) } )