Metamath Proof Explorer


Theorem fodomb

Description: Equivalence of an onto mapping and dominance for a nonempty set. Proposition 10.35 of TakeutiZaring p. 93. (Contributed by NM, 29-Jul-2004)

Ref Expression
Assertion fodomb ( ( 𝐴 ≠ ∅ ∧ ∃ 𝑓 𝑓 : 𝐴onto𝐵 ) ↔ ( ∅ ≺ 𝐵𝐵𝐴 ) )

Proof

Step Hyp Ref Expression
1 fof ( 𝑓 : 𝐴onto𝐵𝑓 : 𝐴𝐵 )
2 1 fdmd ( 𝑓 : 𝐴onto𝐵 → dom 𝑓 = 𝐴 )
3 2 eqeq1d ( 𝑓 : 𝐴onto𝐵 → ( dom 𝑓 = ∅ ↔ 𝐴 = ∅ ) )
4 dm0rn0 ( dom 𝑓 = ∅ ↔ ran 𝑓 = ∅ )
5 forn ( 𝑓 : 𝐴onto𝐵 → ran 𝑓 = 𝐵 )
6 5 eqeq1d ( 𝑓 : 𝐴onto𝐵 → ( ran 𝑓 = ∅ ↔ 𝐵 = ∅ ) )
7 4 6 syl5bb ( 𝑓 : 𝐴onto𝐵 → ( dom 𝑓 = ∅ ↔ 𝐵 = ∅ ) )
8 3 7 bitr3d ( 𝑓 : 𝐴onto𝐵 → ( 𝐴 = ∅ ↔ 𝐵 = ∅ ) )
9 8 necon3bid ( 𝑓 : 𝐴onto𝐵 → ( 𝐴 ≠ ∅ ↔ 𝐵 ≠ ∅ ) )
10 9 biimpac ( ( 𝐴 ≠ ∅ ∧ 𝑓 : 𝐴onto𝐵 ) → 𝐵 ≠ ∅ )
11 vex 𝑓 ∈ V
12 11 dmex dom 𝑓 ∈ V
13 2 12 eqeltrrdi ( 𝑓 : 𝐴onto𝐵𝐴 ∈ V )
14 fornex ( 𝐴 ∈ V → ( 𝑓 : 𝐴onto𝐵𝐵 ∈ V ) )
15 13 14 mpcom ( 𝑓 : 𝐴onto𝐵𝐵 ∈ V )
16 0sdomg ( 𝐵 ∈ V → ( ∅ ≺ 𝐵𝐵 ≠ ∅ ) )
17 15 16 syl ( 𝑓 : 𝐴onto𝐵 → ( ∅ ≺ 𝐵𝐵 ≠ ∅ ) )
18 17 adantl ( ( 𝐴 ≠ ∅ ∧ 𝑓 : 𝐴onto𝐵 ) → ( ∅ ≺ 𝐵𝐵 ≠ ∅ ) )
19 10 18 mpbird ( ( 𝐴 ≠ ∅ ∧ 𝑓 : 𝐴onto𝐵 ) → ∅ ≺ 𝐵 )
20 19 ex ( 𝐴 ≠ ∅ → ( 𝑓 : 𝐴onto𝐵 → ∅ ≺ 𝐵 ) )
21 fodomg ( 𝐴 ∈ V → ( 𝑓 : 𝐴onto𝐵𝐵𝐴 ) )
22 13 21 mpcom ( 𝑓 : 𝐴onto𝐵𝐵𝐴 )
23 20 22 jca2 ( 𝐴 ≠ ∅ → ( 𝑓 : 𝐴onto𝐵 → ( ∅ ≺ 𝐵𝐵𝐴 ) ) )
24 23 exlimdv ( 𝐴 ≠ ∅ → ( ∃ 𝑓 𝑓 : 𝐴onto𝐵 → ( ∅ ≺ 𝐵𝐵𝐴 ) ) )
25 24 imp ( ( 𝐴 ≠ ∅ ∧ ∃ 𝑓 𝑓 : 𝐴onto𝐵 ) → ( ∅ ≺ 𝐵𝐵𝐴 ) )
26 sdomdomtr ( ( ∅ ≺ 𝐵𝐵𝐴 ) → ∅ ≺ 𝐴 )
27 reldom Rel ≼
28 27 brrelex2i ( 𝐵𝐴𝐴 ∈ V )
29 28 adantl ( ( ∅ ≺ 𝐵𝐵𝐴 ) → 𝐴 ∈ V )
30 0sdomg ( 𝐴 ∈ V → ( ∅ ≺ 𝐴𝐴 ≠ ∅ ) )
31 29 30 syl ( ( ∅ ≺ 𝐵𝐵𝐴 ) → ( ∅ ≺ 𝐴𝐴 ≠ ∅ ) )
32 26 31 mpbid ( ( ∅ ≺ 𝐵𝐵𝐴 ) → 𝐴 ≠ ∅ )
33 fodomr ( ( ∅ ≺ 𝐵𝐵𝐴 ) → ∃ 𝑓 𝑓 : 𝐴onto𝐵 )
34 32 33 jca ( ( ∅ ≺ 𝐵𝐵𝐴 ) → ( 𝐴 ≠ ∅ ∧ ∃ 𝑓 𝑓 : 𝐴onto𝐵 ) )
35 25 34 impbii ( ( 𝐴 ≠ ∅ ∧ ∃ 𝑓 𝑓 : 𝐴onto𝐵 ) ↔ ( ∅ ≺ 𝐵𝐵𝐴 ) )