Metamath Proof Explorer


Theorem wdomtr

Description: Transitivity of weak dominance. (Contributed by Stefan O'Rear, 11-Feb-2015) (Revised by Mario Carneiro, 5-May-2015)

Ref Expression
Assertion wdomtr ⊢ X ≼ * Y ∧ Y ≼ * Z → X ≼ * Z

Proof

Step Hyp Ref Expression
1 relwdom ⊢ Rel ⁡ ≼ *
2 1 brrelex2i ⊢ Y ≼ * Z → Z ∈ V
3 2 adantl ⊢ X ≼ * Y ∧ Y ≼ * Z → Z ∈ V
4 0wdom ⊢ Z ∈ V → ∅ ≼ * Z
5 breq1 ⊢ X = ∅ → X ≼ * Z ↔ ∅ ≼ * Z
6 4 5 syl5ibrcom ⊢ Z ∈ V → X = ∅ → X ≼ * Z
7 3 6 syl ⊢ X ≼ * Y ∧ Y ≼ * Z → X = ∅ → X ≼ * Z
8 simpll ⊢ X ≼ * Y ∧ Y ≼ * Z ∧ X ≠ ∅ → X ≼ * Y
9 brwdomn0 ⊢ X ≠ ∅ → X ≼ * Y ↔ ∃ z z : Y ⟶ onto X
10 9 adantl ⊢ X ≼ * Y ∧ Y ≼ * Z ∧ X ≠ ∅ → X ≼ * Y ↔ ∃ z z : Y ⟶ onto X
11 8 10 mpbid ⊢ X ≼ * Y ∧ Y ≼ * Z ∧ X ≠ ∅ → ∃ z z : Y ⟶ onto X
12 simpllr ⊢ X ≼ * Y ∧ Y ≼ * Z ∧ X ≠ ∅ ∧ z : Y ⟶ onto X → Y ≼ * Z
13 simplr ⊢ X ≼ * Y ∧ Y ≼ * Z ∧ X ≠ ∅ ∧ z : Y ⟶ onto X → X ≠ ∅
14 dm0rn0 ⊢ dom ⁡ z = ∅ ↔ ran ⁡ z = ∅
15 14 necon3bii ⊢ dom ⁡ z ≠ ∅ ↔ ran ⁡ z ≠ ∅
16 15 a1i ⊢ z : Y ⟶ onto X → dom ⁡ z ≠ ∅ ↔ ran ⁡ z ≠ ∅
17 fof ⊢ z : Y ⟶ onto X → z : Y ⟶ X
18 17 fdmd ⊢ z : Y ⟶ onto X → dom ⁡ z = Y
19 18 neeq1d ⊢ z : Y ⟶ onto X → dom ⁡ z ≠ ∅ ↔ Y ≠ ∅
20 forn ⊢ z : Y ⟶ onto X → ran ⁡ z = X
21 20 neeq1d ⊢ z : Y ⟶ onto X → ran ⁡ z ≠ ∅ ↔ X ≠ ∅
22 16 19 21 3bitr3rd ⊢ z : Y ⟶ onto X → X ≠ ∅ ↔ Y ≠ ∅
23 22 adantl ⊢ X ≼ * Y ∧ Y ≼ * Z ∧ X ≠ ∅ ∧ z : Y ⟶ onto X → X ≠ ∅ ↔ Y ≠ ∅
24 13 23 mpbid ⊢ X ≼ * Y ∧ Y ≼ * Z ∧ X ≠ ∅ ∧ z : Y ⟶ onto X → Y ≠ ∅
25 brwdomn0 ⊢ Y ≠ ∅ → Y ≼ * Z ↔ ∃ y y : Z ⟶ onto Y
26 24 25 syl ⊢ X ≼ * Y ∧ Y ≼ * Z ∧ X ≠ ∅ ∧ z : Y ⟶ onto X → Y ≼ * Z ↔ ∃ y y : Z ⟶ onto Y
27 12 26 mpbid ⊢ X ≼ * Y ∧ Y ≼ * Z ∧ X ≠ ∅ ∧ z : Y ⟶ onto X → ∃ y y : Z ⟶ onto Y
28 vex ⊢ z ∈ V
29 vex ⊢ y ∈ V
30 28 29 coex ⊢ z ∘ y ∈ V
31 foco ⊢ z : Y ⟶ onto X ∧ y : Z ⟶ onto Y → z ∘ y : Z ⟶ onto X
32 fowdom ⊢ z ∘ y ∈ V ∧ z ∘ y : Z ⟶ onto X → X ≼ * Z
33 30 31 32 sylancr ⊢ z : Y ⟶ onto X ∧ y : Z ⟶ onto Y → X ≼ * Z
34 33 adantl ⊢ X ≼ * Y ∧ Y ≼ * Z ∧ X ≠ ∅ ∧ z : Y ⟶ onto X ∧ y : Z ⟶ onto Y → X ≼ * Z
35 34 expr ⊢ X ≼ * Y ∧ Y ≼ * Z ∧ X ≠ ∅ ∧ z : Y ⟶ onto X → y : Z ⟶ onto Y → X ≼ * Z
36 35 exlimdv ⊢ X ≼ * Y ∧ Y ≼ * Z ∧ X ≠ ∅ ∧ z : Y ⟶ onto X → ∃ y y : Z ⟶ onto Y → X ≼ * Z
37 27 36 mpd ⊢ X ≼ * Y ∧ Y ≼ * Z ∧ X ≠ ∅ ∧ z : Y ⟶ onto X → X ≼ * Z
38 11 37 exlimddv ⊢ X ≼ * Y ∧ Y ≼ * Z ∧ X ≠ ∅ → X ≼ * Z
39 38 ex ⊢ X ≼ * Y ∧ Y ≼ * Z → X ≠ ∅ → X ≼ * Z
40 7 39 pm2.61dne ⊢ X ≼ * Y ∧ Y ≼ * Z → X ≼ * Z