Metamath Proof Explorer


Theorem f1finf1o

Description: Any injection from one finite set to another of equal size must be a bijection. (Contributed by Jeff Madsen, 5-Jun-2010) (Revised by Mario Carneiro, 27-Feb-2014)

Ref Expression
Assertion f1finf1o ( ( 𝐴𝐵𝐵 ∈ Fin ) → ( 𝐹 : 𝐴1-1𝐵𝐹 : 𝐴1-1-onto𝐵 ) )

Proof

Step Hyp Ref Expression
1 simpr ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → 𝐹 : 𝐴1-1𝐵 )
2 f1f ( 𝐹 : 𝐴1-1𝐵𝐹 : 𝐴𝐵 )
3 2 adantl ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → 𝐹 : 𝐴𝐵 )
4 3 ffnd ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → 𝐹 Fn 𝐴 )
5 simpll ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → 𝐴𝐵 )
6 3 frnd ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → ran 𝐹𝐵 )
7 df-pss ( ran 𝐹𝐵 ↔ ( ran 𝐹𝐵 ∧ ran 𝐹𝐵 ) )
8 7 baib ( ran 𝐹𝐵 → ( ran 𝐹𝐵 ↔ ran 𝐹𝐵 ) )
9 6 8 syl ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → ( ran 𝐹𝐵 ↔ ran 𝐹𝐵 ) )
10 simplr ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → 𝐵 ∈ Fin )
11 relen Rel ≈
12 11 brrelex1i ( 𝐴𝐵𝐴 ∈ V )
13 5 12 syl ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → 𝐴 ∈ V )
14 10 13 elmapd ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → ( 𝐹 ∈ ( 𝐵m 𝐴 ) ↔ 𝐹 : 𝐴𝐵 ) )
15 3 14 mpbird ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → 𝐹 ∈ ( 𝐵m 𝐴 ) )
16 f1f1orn ( 𝐹 : 𝐴1-1𝐵𝐹 : 𝐴1-1-onto→ ran 𝐹 )
17 16 adantl ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → 𝐹 : 𝐴1-1-onto→ ran 𝐹 )
18 f1oen3g ( ( 𝐹 ∈ ( 𝐵m 𝐴 ) ∧ 𝐹 : 𝐴1-1-onto→ ran 𝐹 ) → 𝐴 ≈ ran 𝐹 )
19 15 17 18 syl2anc ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → 𝐴 ≈ ran 𝐹 )
20 php3 ( ( 𝐵 ∈ Fin ∧ ran 𝐹𝐵 ) → ran 𝐹𝐵 )
21 20 ex ( 𝐵 ∈ Fin → ( ran 𝐹𝐵 → ran 𝐹𝐵 ) )
22 10 21 syl ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → ( ran 𝐹𝐵 → ran 𝐹𝐵 ) )
23 ensdomtr ( ( 𝐴 ≈ ran 𝐹 ∧ ran 𝐹𝐵 ) → 𝐴𝐵 )
24 19 22 23 syl6an ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → ( ran 𝐹𝐵𝐴𝐵 ) )
25 sdomnen ( 𝐴𝐵 → ¬ 𝐴𝐵 )
26 24 25 syl6 ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → ( ran 𝐹𝐵 → ¬ 𝐴𝐵 ) )
27 9 26 sylbird ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → ( ran 𝐹𝐵 → ¬ 𝐴𝐵 ) )
28 27 necon4ad ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → ( 𝐴𝐵 → ran 𝐹 = 𝐵 ) )
29 5 28 mpd ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → ran 𝐹 = 𝐵 )
30 df-fo ( 𝐹 : 𝐴onto𝐵 ↔ ( 𝐹 Fn 𝐴 ∧ ran 𝐹 = 𝐵 ) )
31 4 29 30 sylanbrc ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → 𝐹 : 𝐴onto𝐵 )
32 df-f1o ( 𝐹 : 𝐴1-1-onto𝐵 ↔ ( 𝐹 : 𝐴1-1𝐵𝐹 : 𝐴onto𝐵 ) )
33 1 31 32 sylanbrc ( ( ( 𝐴𝐵𝐵 ∈ Fin ) ∧ 𝐹 : 𝐴1-1𝐵 ) → 𝐹 : 𝐴1-1-onto𝐵 )
34 33 ex ( ( 𝐴𝐵𝐵 ∈ Fin ) → ( 𝐹 : 𝐴1-1𝐵𝐹 : 𝐴1-1-onto𝐵 ) )
35 f1of1 ( 𝐹 : 𝐴1-1-onto𝐵𝐹 : 𝐴1-1𝐵 )
36 34 35 impbid1 ( ( 𝐴𝐵𝐵 ∈ Fin ) → ( 𝐹 : 𝐴1-1𝐵𝐹 : 𝐴1-1-onto𝐵 ) )