Metamath Proof Explorer


Theorem fodomfi2

Description: Onto functions define dominance when a finite number of choices need to be made. (Contributed by Stefan O'Rear, 28-Feb-2015)

Ref Expression
Assertion fodomfi2 ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) → 𝐵𝐴 )

Proof

Step Hyp Ref Expression
1 fofn ( 𝐹 : 𝐴onto𝐵𝐹 Fn 𝐴 )
2 1 3ad2ant3 ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) → 𝐹 Fn 𝐴 )
3 forn ( 𝐹 : 𝐴onto𝐵 → ran 𝐹 = 𝐵 )
4 eqimss2 ( ran 𝐹 = 𝐵𝐵 ⊆ ran 𝐹 )
5 3 4 syl ( 𝐹 : 𝐴onto𝐵𝐵 ⊆ ran 𝐹 )
6 5 3ad2ant3 ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) → 𝐵 ⊆ ran 𝐹 )
7 simp2 ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) → 𝐵 ∈ Fin )
8 fipreima ( ( 𝐹 Fn 𝐴𝐵 ⊆ ran 𝐹𝐵 ∈ Fin ) → ∃ 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) ( 𝐹𝑥 ) = 𝐵 )
9 2 6 7 8 syl3anc ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) → ∃ 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) ( 𝐹𝑥 ) = 𝐵 )
10 elinel2 ( 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) → 𝑥 ∈ Fin )
11 10 adantl ( ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) ∧ 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) ) → 𝑥 ∈ Fin )
12 finnum ( 𝑥 ∈ Fin → 𝑥 ∈ dom card )
13 11 12 syl ( ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) ∧ 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) ) → 𝑥 ∈ dom card )
14 simpl3 ( ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) ∧ 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) ) → 𝐹 : 𝐴onto𝐵 )
15 fofun ( 𝐹 : 𝐴onto𝐵 → Fun 𝐹 )
16 14 15 syl ( ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) ∧ 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) ) → Fun 𝐹 )
17 elinel1 ( 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) → 𝑥 ∈ 𝒫 𝐴 )
18 17 elpwid ( 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) → 𝑥𝐴 )
19 18 adantl ( ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) ∧ 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) ) → 𝑥𝐴 )
20 fof ( 𝐹 : 𝐴onto𝐵𝐹 : 𝐴𝐵 )
21 fdm ( 𝐹 : 𝐴𝐵 → dom 𝐹 = 𝐴 )
22 14 20 21 3syl ( ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) ∧ 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) ) → dom 𝐹 = 𝐴 )
23 19 22 sseqtrrd ( ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) ∧ 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) ) → 𝑥 ⊆ dom 𝐹 )
24 fores ( ( Fun 𝐹𝑥 ⊆ dom 𝐹 ) → ( 𝐹𝑥 ) : 𝑥onto→ ( 𝐹𝑥 ) )
25 16 23 24 syl2anc ( ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) ∧ 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) ) → ( 𝐹𝑥 ) : 𝑥onto→ ( 𝐹𝑥 ) )
26 fodomnum ( 𝑥 ∈ dom card → ( ( 𝐹𝑥 ) : 𝑥onto→ ( 𝐹𝑥 ) → ( 𝐹𝑥 ) ≼ 𝑥 ) )
27 13 25 26 sylc ( ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) ∧ 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) ) → ( 𝐹𝑥 ) ≼ 𝑥 )
28 simpl1 ( ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) ∧ 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) ) → 𝐴𝑉 )
29 ssdomg ( 𝐴𝑉 → ( 𝑥𝐴𝑥𝐴 ) )
30 28 19 29 sylc ( ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) ∧ 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) ) → 𝑥𝐴 )
31 domtr ( ( ( 𝐹𝑥 ) ≼ 𝑥𝑥𝐴 ) → ( 𝐹𝑥 ) ≼ 𝐴 )
32 27 30 31 syl2anc ( ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) ∧ 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) ) → ( 𝐹𝑥 ) ≼ 𝐴 )
33 breq1 ( ( 𝐹𝑥 ) = 𝐵 → ( ( 𝐹𝑥 ) ≼ 𝐴𝐵𝐴 ) )
34 32 33 syl5ibcom ( ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) ∧ 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) ) → ( ( 𝐹𝑥 ) = 𝐵𝐵𝐴 ) )
35 34 rexlimdva ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) → ( ∃ 𝑥 ∈ ( 𝒫 𝐴 ∩ Fin ) ( 𝐹𝑥 ) = 𝐵𝐵𝐴 ) )
36 9 35 mpd ( ( 𝐴𝑉𝐵 ∈ Fin ∧ 𝐹 : 𝐴onto𝐵 ) → 𝐵𝐴 )