Metamath Proof Explorer


Theorem brdom3

Description: Equivalence to a dominance relation. (Contributed by NM, 27-Mar-2007)

Ref Expression
Hypothesis brdom3.2 ⊢ B ∈ V
Assertion brdom3 ⊢ A ≼ B ↔ ∃ f ∀ x ∃* y x f y ∧ ∀ x ∈ A ∃ y ∈ B y f x

Proof

Step Hyp Ref Expression
1 brdom3.2 ⊢ B ∈ V
2 reldom ⊢ Rel ⁡ ≼
3 2 brrelex1i ⊢ A ≼ B → A ∈ V
4 0sdomg ⊢ A ∈ V → ∅ ≺ A ↔ A ≠ ∅
5 3 4 syl ⊢ A ≼ B → ∅ ≺ A ↔ A ≠ ∅
6 df-ne ⊢ A ≠ ∅ ↔ ¬ A = ∅
7 5 6 bitrdi ⊢ A ≼ B → ∅ ≺ A ↔ ¬ A = ∅
8 7 biimpar ⊢ A ≼ B ∧ ¬ A = ∅ → ∅ ≺ A
9 fodomr ⊢ ∅ ≺ A ∧ A ≼ B → ∃ f f : B ⟶ onto A
10 9 ancoms ⊢ A ≼ B ∧ ∅ ≺ A → ∃ f f : B ⟶ onto A
11 8 10 syldan ⊢ A ≼ B ∧ ¬ A = ∅ → ∃ f f : B ⟶ onto A
12 pm5.6 ⊢ A ≼ B ∧ ¬ A = ∅ → ∃ f f : B ⟶ onto A ↔ A ≼ B → A = ∅ ∨ ∃ f f : B ⟶ onto A
13 11 12 mpbi ⊢ A ≼ B → A = ∅ ∨ ∃ f f : B ⟶ onto A
14 br0 ⊢ ¬ x ∅ y
15 14 nex ⊢ ¬ ∃ y x ∅ y
16 exmo ⊢ ∃ y x ∅ y ∨ ∃* y x ∅ y
17 15 16 mtpor ⊢ ∃* y x ∅ y
18 17 ax-gen ⊢ ∀ x ∃* y x ∅ y
19 rzal ⊢ A = ∅ → ∀ x ∈ A ∃ y ∈ B y ∅ x
20 0ex ⊢ ∅ ∈ V
21 breq ⊢ f = ∅ → x f y ↔ x ∅ y
22 21 mobidv ⊢ f = ∅ → ∃* y x f y ↔ ∃* y x ∅ y
23 22 albidv ⊢ f = ∅ → ∀ x ∃* y x f y ↔ ∀ x ∃* y x ∅ y
24 breq ⊢ f = ∅ → y f x ↔ y ∅ x
25 24 rexbidv ⊢ f = ∅ → ∃ y ∈ B y f x ↔ ∃ y ∈ B y ∅ x
26 25 ralbidv ⊢ f = ∅ → ∀ x ∈ A ∃ y ∈ B y f x ↔ ∀ x ∈ A ∃ y ∈ B y ∅ x
27 23 26 anbi12d ⊢ f = ∅ → ∀ x ∃* y x f y ∧ ∀ x ∈ A ∃ y ∈ B y f x ↔ ∀ x ∃* y x ∅ y ∧ ∀ x ∈ A ∃ y ∈ B y ∅ x
28 20 27 spcev ⊢ ∀ x ∃* y x ∅ y ∧ ∀ x ∈ A ∃ y ∈ B y ∅ x → ∃ f ∀ x ∃* y x f y ∧ ∀ x ∈ A ∃ y ∈ B y f x
29 18 19 28 sylancr ⊢ A = ∅ → ∃ f ∀ x ∃* y x f y ∧ ∀ x ∈ A ∃ y ∈ B y f x
30 fofun ⊢ f : B ⟶ onto A → Fun ⁡ f
31 dffun6 ⊢ Fun ⁡ f ↔ Rel ⁡ f ∧ ∀ x ∃* y x f y
32 31 simprbi ⊢ Fun ⁡ f → ∀ x ∃* y x f y
33 30 32 syl ⊢ f : B ⟶ onto A → ∀ x ∃* y x f y
34 dffo4 ⊢ f : B ⟶ onto A ↔ f : B ⟶ A ∧ ∀ x ∈ A ∃ y ∈ B y f x
35 34 simprbi ⊢ f : B ⟶ onto A → ∀ x ∈ A ∃ y ∈ B y f x
36 33 35 jca ⊢ f : B ⟶ onto A → ∀ x ∃* y x f y ∧ ∀ x ∈ A ∃ y ∈ B y f x
37 36 eximi ⊢ ∃ f f : B ⟶ onto A → ∃ f ∀ x ∃* y x f y ∧ ∀ x ∈ A ∃ y ∈ B y f x
38 29 37 jaoi ⊢ A = ∅ ∨ ∃ f f : B ⟶ onto A → ∃ f ∀ x ∃* y x f y ∧ ∀ x ∈ A ∃ y ∈ B y f x
39 13 38 syl ⊢ A ≼ B → ∃ f ∀ x ∃* y x f y ∧ ∀ x ∈ A ∃ y ∈ B y f x
40 inss1 ⊢ f ∩ B × A ⊆ f
41 40 ssbri ⊢ x f ∩ B × A y → x f y
42 41 moimi ⊢ ∃* y x f y → ∃* y x f ∩ B × A y
43 42 alimi ⊢ ∀ x ∃* y x f y → ∀ x ∃* y x f ∩ B × A y
44 relinxp ⊢ Rel ⁡ f ∩ B × A
45 dffun6 ⊢ Fun ⁡ f ∩ B × A ↔ Rel ⁡ f ∩ B × A ∧ ∀ x ∃* y x f ∩ B × A y
46 44 45 mpbiran ⊢ Fun ⁡ f ∩ B × A ↔ ∀ x ∃* y x f ∩ B × A y
47 43 46 sylibr ⊢ ∀ x ∃* y x f y → Fun ⁡ f ∩ B × A
48 47 funfnd ⊢ ∀ x ∃* y x f y → f ∩ B × A Fn dom ⁡ f ∩ B × A
49 rninxp ⊢ ran ⁡ f ∩ B × A = A ↔ ∀ x ∈ A ∃ y ∈ B y f x
50 49 biimpri ⊢ ∀ x ∈ A ∃ y ∈ B y f x → ran ⁡ f ∩ B × A = A
51 48 50 anim12i ⊢ ∀ x ∃* y x f y ∧ ∀ x ∈ A ∃ y ∈ B y f x → f ∩ B × A Fn dom ⁡ f ∩ B × A ∧ ran ⁡ f ∩ B × A = A
52 df-fo ⊢ f ∩ B × A : dom ⁡ f ∩ B × A ⟶ onto A ↔ f ∩ B × A Fn dom ⁡ f ∩ B × A ∧ ran ⁡ f ∩ B × A = A
53 51 52 sylibr ⊢ ∀ x ∃* y x f y ∧ ∀ x ∈ A ∃ y ∈ B y f x → f ∩ B × A : dom ⁡ f ∩ B × A ⟶ onto A
54 vex ⊢ f ∈ V
55 54 inex1 ⊢ f ∩ B × A ∈ V
56 55 dmex ⊢ dom ⁡ f ∩ B × A ∈ V
57 56 fodom ⊢ f ∩ B × A : dom ⁡ f ∩ B × A ⟶ onto A → A ≼ dom ⁡ f ∩ B × A
58 inss2 ⊢ f ∩ B × A ⊆ B × A
59 dmss ⊢ f ∩ B × A ⊆ B × A → dom ⁡ f ∩ B × A ⊆ dom ⁡ B × A
60 58 59 ax-mp ⊢ dom ⁡ f ∩ B × A ⊆ dom ⁡ B × A
61 dmxpss ⊢ dom ⁡ B × A ⊆ B
62 60 61 sstri ⊢ dom ⁡ f ∩ B × A ⊆ B
63 ssdomg ⊢ B ∈ V → dom ⁡ f ∩ B × A ⊆ B → dom ⁡ f ∩ B × A ≼ B
64 1 62 63 mp2 ⊢ dom ⁡ f ∩ B × A ≼ B
65 domtr ⊢ A ≼ dom ⁡ f ∩ B × A ∧ dom ⁡ f ∩ B × A ≼ B → A ≼ B
66 64 65 mpan2 ⊢ A ≼ dom ⁡ f ∩ B × A → A ≼ B
67 53 57 66 3syl ⊢ ∀ x ∃* y x f y ∧ ∀ x ∈ A ∃ y ∈ B y f x → A ≼ B
68 67 exlimiv ⊢ ∃ f ∀ x ∃* y x f y ∧ ∀ x ∈ A ∃ y ∈ B y f x → A ≼ B
69 39 68 impbii ⊢ A ≼ B ↔ ∃ f ∀ x ∃* y x f y ∧ ∀ x ∈ A ∃ y ∈ B y f x