MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  fofinf1o Structured version   Visualization version   GIF version

Theorem fofinf1o 9359
Description: Any surjection from one finite set to another of equal size must be a bijection. (Contributed by Mario Carneiro, 19-Aug-2014.)
Assertion
Ref Expression
fofinf1o ((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) → 𝐹:𝐴⟶1-1onto𝐵)

Proof of Theorem fofinf1o
Dummy variables 𝑤 𝑢 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 simp1 1154 . . . 4 ((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) → 𝐹:𝐴⟶onto𝐵)
2 fof 6826 . . . 4 (𝐹:𝐴⟶onto𝐵 → 𝐹:𝐴⟶𝐵)
31, 2syl 18 . . 3 ((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) → 𝐹:𝐴⟶𝐵)
4 domnsym 9160 . . . . . . 7 (𝐵 ≼ (𝐴 ∖ {𝑦}) → ¬ (𝐴 ∖ {𝑦}) ≺ 𝐵)
5 simp3 1156 . . . . . . . . . . 11 ((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) → 𝐵 ∈ Fin)
6 simp2 1155 . . . . . . . . . . 11 ((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) → 𝐴 ≈ 𝐵)
7 enfii 9239 . . . . . . . . . . 11 ((𝐵 ∈ Fin ∧ 𝐴 ≈ 𝐵) → 𝐴 ∈ Fin)
85, 6, 7syl2anc 596 . . . . . . . . . 10 ((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) → 𝐴 ∈ Fin)
98ad2antrr 739 . . . . . . . . 9 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴)) ∧ (𝐹‘𝑥) = (𝐹‘𝑦)) → 𝐴 ∈ Fin)
10 difssd 4076 . . . . . . . . . 10 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴)) ∧ (𝐹‘𝑥) = (𝐹‘𝑦)) → (𝐴 ∖ {𝑦}) ⊆ 𝐴)
11 simplrr 790 . . . . . . . . . . . 12 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴)) ∧ (𝐹‘𝑥) = (𝐹‘𝑦)) → 𝑦 ∈ 𝐴)
12 neldifsn 4757 . . . . . . . . . . . 12 ¬ 𝑦 ∈ (𝐴 ∖ {𝑦})
13 nelne1 3056 . . . . . . . . . . . 12 ((𝑦 ∈ 𝐴 ∧ ¬ 𝑦 ∈ (𝐴 ∖ {𝑦})) → 𝐴 ≠ (𝐴 ∖ {𝑦}))
1411, 12, 13sylancl 598 . . . . . . . . . . 11 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴)) ∧ (𝐹‘𝑥) = (𝐹‘𝑦)) → 𝐴 ≠ (𝐴 ∖ {𝑦}))
1514necomd 3014 . . . . . . . . . 10 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴)) ∧ (𝐹‘𝑥) = (𝐹‘𝑦)) → (𝐴 ∖ {𝑦}) ≠ 𝐴)
16 df-pss 4017 . . . . . . . . . 10 ((𝐴 ∖ {𝑦}) ⊊ 𝐴 ↔ ((𝐴 ∖ {𝑦}) ⊆ 𝐴 ∧ (𝐴 ∖ {𝑦}) ≠ 𝐴))
1710, 15, 16sylanbrc 595 . . . . . . . . 9 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴)) ∧ (𝐹‘𝑥) = (𝐹‘𝑦)) → (𝐴 ∖ {𝑦}) ⊊ 𝐴)
18 php3 9262 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝐴 ∖ {𝑦}) ⊊ 𝐴) → (𝐴 ∖ {𝑦}) ≺ 𝐴)
199, 17, 18syl2anc 596 . . . . . . . 8 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴)) ∧ (𝐹‘𝑥) = (𝐹‘𝑦)) → (𝐴 ∖ {𝑦}) ≺ 𝐴)
206ad2antrr 739 . . . . . . . 8 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴)) ∧ (𝐹‘𝑥) = (𝐹‘𝑦)) → 𝐴 ≈ 𝐵)
21 sdomentr 9168 . . . . . . . 8 (((𝐴 ∖ {𝑦}) ≺ 𝐴 ∧ 𝐴 ≈ 𝐵) → (𝐴 ∖ {𝑦}) ≺ 𝐵)
2219, 20, 21syl2anc 596 . . . . . . 7 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴)) ∧ (𝐹‘𝑥) = (𝐹‘𝑦)) → (𝐴 ∖ {𝑦}) ≺ 𝐵)
234, 22nsyl3 139 . . . . . 6 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴)) ∧ (𝐹‘𝑥) = (𝐹‘𝑦)) → ¬ 𝐵 ≼ (𝐴 ∖ {𝑦}))
248adantr 486 . . . . . . . . . . 11 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) → 𝐴 ∈ Fin)
25 difss 4075 . . . . . . . . . . 11 (𝐴 ∖ {𝑦}) ⊆ 𝐴
26 ssfi 9226 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝐴 ∖ {𝑦}) ⊆ 𝐴) → (𝐴 ∖ {𝑦}) ∈ Fin)
2724, 25, 26sylancl 598 . . . . . . . . . 10 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) → (𝐴 ∖ {𝑦}) ∈ Fin)
283adantr 486 . . . . . . . . . . . 12 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) → 𝐹:𝐴⟶𝐵)
29 fssres 6778 . . . . . . . . . . . 12 ((𝐹:𝐴⟶𝐵 ∧ (𝐴 ∖ {𝑦}) ⊆ 𝐴) → (𝐹 ↾ (𝐴 ∖ {𝑦})):(𝐴 ∖ {𝑦})⟶𝐵)
3028, 25, 29sylancl 598 . . . . . . . . . . 11 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) → (𝐹 ↾ (𝐴 ∖ {𝑦})):(𝐴 ∖ {𝑦})⟶𝐵)
311adantr 486 . . . . . . . . . . . . . 14 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) → 𝐹:𝐴⟶onto𝐵)
32 foelrn 7139 . . . . . . . . . . . . . 14 ((𝐹:𝐴⟶onto𝐵 ∧ 𝑧 ∈ 𝐵) → ∃𝑢 ∈ 𝐴 𝑧 = (𝐹‘𝑢))
3331, 32sylan 592 . . . . . . . . . . . . 13 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) ∧ 𝑧 ∈ 𝐵) → ∃𝑢 ∈ 𝐴 𝑧 = (𝐹‘𝑢))
34 simprll 791 . . . . . . . . . . . . . . . . . . . . . 22 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) → 𝑥 ∈ 𝐴)
35 simprrr 794 . . . . . . . . . . . . . . . . . . . . . 22 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) → 𝑥 ≠ 𝑦)
36 eldifsn 4750 . . . . . . . . . . . . . . . . . . . . . 22 (𝑥 ∈ (𝐴 ∖ {𝑦}) ↔ (𝑥 ∈ 𝐴 ∧ 𝑥 ≠ 𝑦))
3734, 35, 36sylanbrc 595 . . . . . . . . . . . . . . . . . . . . 21 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) → 𝑥 ∈ (𝐴 ∖ {𝑦}))
38 simprrl 793 . . . . . . . . . . . . . . . . . . . . . 22 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) → (𝐹‘𝑥) = (𝐹‘𝑦))
3938eqcomd 2769 . . . . . . . . . . . . . . . . . . . . 21 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) → (𝐹‘𝑦) = (𝐹‘𝑥))
40 fveq2 6916 . . . . . . . . . . . . . . . . . . . . . 22 (𝑤 = 𝑥 → (𝐹‘𝑤) = (𝐹‘𝑥))
4140rspceeqv 3602 . . . . . . . . . . . . . . . . . . . . 21 ((𝑥 ∈ (𝐴 ∖ {𝑦}) ∧ (𝐹‘𝑦) = (𝐹‘𝑥)) → ∃𝑤 ∈ (𝐴 ∖ {𝑦})(𝐹‘𝑦) = (𝐹‘𝑤))
4237, 39, 41syl2anc 596 . . . . . . . . . . . . . . . . . . . 20 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) → ∃𝑤 ∈ (𝐴 ∖ {𝑦})(𝐹‘𝑦) = (𝐹‘𝑤))
43 fveqeq2 6925 . . . . . . . . . . . . . . . . . . . . 21 (𝑢 = 𝑦 → ((𝐹‘𝑢) = (𝐹‘𝑤) ↔ (𝐹‘𝑦) = (𝐹‘𝑤)))
4443rexbidv 3190 . . . . . . . . . . . . . . . . . . . 20 (𝑢 = 𝑦 → (∃𝑤 ∈ (𝐴 ∖ {𝑦})(𝐹‘𝑢) = (𝐹‘𝑤) ↔ ∃𝑤 ∈ (𝐴 ∖ {𝑦})(𝐹‘𝑦) = (𝐹‘𝑤)))
4542, 44syl5ibrcom 250 . . . . . . . . . . . . . . . . . . 19 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) → (𝑢 = 𝑦 → ∃𝑤 ∈ (𝐴 ∖ {𝑦})(𝐹‘𝑢) = (𝐹‘𝑤)))
4645adantr 486 . . . . . . . . . . . . . . . . . 18 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) ∧ 𝑢 ∈ 𝐴) → (𝑢 = 𝑦 → ∃𝑤 ∈ (𝐴 ∖ {𝑦})(𝐹‘𝑢) = (𝐹‘𝑤)))
4746imp 412 . . . . . . . . . . . . . . . . 17 (((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) ∧ 𝑢 ∈ 𝐴) ∧ 𝑢 = 𝑦) → ∃𝑤 ∈ (𝐴 ∖ {𝑦})(𝐹‘𝑢) = (𝐹‘𝑤))
48 eldifsn 4750 . . . . . . . . . . . . . . . . . . 19 (𝑢 ∈ (𝐴 ∖ {𝑦}) ↔ (𝑢 ∈ 𝐴 ∧ 𝑢 ≠ 𝑦))
49 eqid 2763 . . . . . . . . . . . . . . . . . . . 20 (𝐹‘𝑢) = (𝐹‘𝑢)
50 fveq2 6916 . . . . . . . . . . . . . . . . . . . . 21 (𝑤 = 𝑢 → (𝐹‘𝑤) = (𝐹‘𝑢))
5150rspceeqv 3602 . . . . . . . . . . . . . . . . . . . 20 ((𝑢 ∈ (𝐴 ∖ {𝑦}) ∧ (𝐹‘𝑢) = (𝐹‘𝑢)) → ∃𝑤 ∈ (𝐴 ∖ {𝑦})(𝐹‘𝑢) = (𝐹‘𝑤))
5249, 51mpan2 704 . . . . . . . . . . . . . . . . . . 19 (𝑢 ∈ (𝐴 ∖ {𝑦}) → ∃𝑤 ∈ (𝐴 ∖ {𝑦})(𝐹‘𝑢) = (𝐹‘𝑤))
5348, 52sylbir 238 . . . . . . . . . . . . . . . . . 18 ((𝑢 ∈ 𝐴 ∧ 𝑢 ≠ 𝑦) → ∃𝑤 ∈ (𝐴 ∖ {𝑦})(𝐹‘𝑢) = (𝐹‘𝑤))
5453adantll 727 . . . . . . . . . . . . . . . . 17 (((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) ∧ 𝑢 ∈ 𝐴) ∧ 𝑢 ≠ 𝑦) → ∃𝑤 ∈ (𝐴 ∖ {𝑦})(𝐹‘𝑢) = (𝐹‘𝑤))
5547, 54pm2.61dane 3046 . . . . . . . . . . . . . . . 16 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) ∧ 𝑢 ∈ 𝐴) → ∃𝑤 ∈ (𝐴 ∖ {𝑦})(𝐹‘𝑢) = (𝐹‘𝑤))
56 fvres 6935 . . . . . . . . . . . . . . . . . . 19 (𝑤 ∈ (𝐴 ∖ {𝑦}) → ((𝐹 ↾ (𝐴 ∖ {𝑦}))‘𝑤) = (𝐹‘𝑤))
5756eqeq2d 2774 . . . . . . . . . . . . . . . . . 18 (𝑤 ∈ (𝐴 ∖ {𝑦}) → (𝑧 = ((𝐹 ↾ (𝐴 ∖ {𝑦}))‘𝑤) ↔ 𝑧 = (𝐹‘𝑤)))
5857rexbiia 3111 . . . . . . . . . . . . . . . . 17 (∃𝑤 ∈ (𝐴 ∖ {𝑦})𝑧 = ((𝐹 ↾ (𝐴 ∖ {𝑦}))‘𝑤) ↔ ∃𝑤 ∈ (𝐴 ∖ {𝑦})𝑧 = (𝐹‘𝑤))
59 eqeq1 2767 . . . . . . . . . . . . . . . . . 18 (𝑧 = (𝐹‘𝑢) → (𝑧 = (𝐹‘𝑤) ↔ (𝐹‘𝑢) = (𝐹‘𝑤)))
6059rexbidv 3190 . . . . . . . . . . . . . . . . 17 (𝑧 = (𝐹‘𝑢) → (∃𝑤 ∈ (𝐴 ∖ {𝑦})𝑧 = (𝐹‘𝑤) ↔ ∃𝑤 ∈ (𝐴 ∖ {𝑦})(𝐹‘𝑢) = (𝐹‘𝑤)))
6158, 60bitrid 286 . . . . . . . . . . . . . . . 16 (𝑧 = (𝐹‘𝑢) → (∃𝑤 ∈ (𝐴 ∖ {𝑦})𝑧 = ((𝐹 ↾ (𝐴 ∖ {𝑦}))‘𝑤) ↔ ∃𝑤 ∈ (𝐴 ∖ {𝑦})(𝐹‘𝑢) = (𝐹‘𝑤)))
6255, 61syl5ibrcom 250 . . . . . . . . . . . . . . 15 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) ∧ 𝑢 ∈ 𝐴) → (𝑧 = (𝐹‘𝑢) → ∃𝑤 ∈ (𝐴 ∖ {𝑦})𝑧 = ((𝐹 ↾ (𝐴 ∖ {𝑦}))‘𝑤)))
6362rexlimdva 3167 . . . . . . . . . . . . . 14 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) → (∃𝑢 ∈ 𝐴 𝑧 = (𝐹‘𝑢) → ∃𝑤 ∈ (𝐴 ∖ {𝑦})𝑧 = ((𝐹 ↾ (𝐴 ∖ {𝑦}))‘𝑤)))
6463imp 412 . . . . . . . . . . . . 13 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) ∧ ∃𝑢 ∈ 𝐴 𝑧 = (𝐹‘𝑢)) → ∃𝑤 ∈ (𝐴 ∖ {𝑦})𝑧 = ((𝐹 ↾ (𝐴 ∖ {𝑦}))‘𝑤))
6533, 64syldan 603 . . . . . . . . . . . 12 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) ∧ 𝑧 ∈ 𝐵) → ∃𝑤 ∈ (𝐴 ∖ {𝑦})𝑧 = ((𝐹 ↾ (𝐴 ∖ {𝑦}))‘𝑤))
6665ralrimiva 3158 . . . . . . . . . . 11 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) → ∀𝑧 ∈ 𝐵 ∃𝑤 ∈ (𝐴 ∖ {𝑦})𝑧 = ((𝐹 ↾ (𝐴 ∖ {𝑦}))‘𝑤))
67 dffo3 7134 . . . . . . . . . . 11 ((𝐹 ↾ (𝐴 ∖ {𝑦})):(𝐴 ∖ {𝑦})⟶onto𝐵 ↔ ((𝐹 ↾ (𝐴 ∖ {𝑦})):(𝐴 ∖ {𝑦})⟶𝐵 ∧ ∀𝑧 ∈ 𝐵 ∃𝑤 ∈ (𝐴 ∖ {𝑦})𝑧 = ((𝐹 ↾ (𝐴 ∖ {𝑦}))‘𝑤)))
6830, 66, 67sylanbrc 595 . . . . . . . . . 10 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) → (𝐹 ↾ (𝐴 ∖ {𝑦})):(𝐴 ∖ {𝑦})⟶onto𝐵)
69 fodomfi 9342 . . . . . . . . . 10 (((𝐴 ∖ {𝑦}) ∈ Fin ∧ (𝐹 ↾ (𝐴 ∖ {𝑦})):(𝐴 ∖ {𝑦})⟶onto𝐵) → 𝐵 ≼ (𝐴 ∖ {𝑦}))
7027, 68, 69syl2anc 596 . . . . . . . . 9 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦))) → 𝐵 ≼ (𝐴 ∖ {𝑦}))
7170anassrs 473 . . . . . . . 8 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴)) ∧ ((𝐹‘𝑥) = (𝐹‘𝑦) ∧ 𝑥 ≠ 𝑦)) → 𝐵 ≼ (𝐴 ∖ {𝑦}))
7271expr 462 . . . . . . 7 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴)) ∧ (𝐹‘𝑥) = (𝐹‘𝑦)) → (𝑥 ≠ 𝑦 → 𝐵 ≼ (𝐴 ∖ {𝑦})))
7372necon1bd 2977 . . . . . 6 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴)) ∧ (𝐹‘𝑥) = (𝐹‘𝑦)) → (¬ 𝐵 ≼ (𝐴 ∖ {𝑦}) → 𝑥 = 𝑦))
7423, 73mpd 16 . . . . 5 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴)) ∧ (𝐹‘𝑥) = (𝐹‘𝑦)) → 𝑥 = 𝑦)
7574ex 418 . . . 4 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) ∧ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴)) → ((𝐹‘𝑥) = (𝐹‘𝑦) → 𝑥 = 𝑦))
7675ralrimivva 3209 . . 3 ((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) → ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 ((𝐹‘𝑥) = (𝐹‘𝑦) → 𝑥 = 𝑦))
77 dff13 7289 . . 3 (𝐹:𝐴⟶1-1𝐵 ↔ (𝐹:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 ((𝐹‘𝑥) = (𝐹‘𝑦) → 𝑥 = 𝑦)))
783, 76, 77sylanbrc 595 . 2 ((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) → 𝐹:𝐴⟶1-1𝐵)
79 df-f1o 6573 . 2 (𝐹:𝐴⟶1-1onto𝐵 ↔ (𝐹:𝐴⟶1-1𝐵 ∧ 𝐹:𝐴⟶onto𝐵))
8078, 1, 79sylanbrc 595 1 ((𝐹:𝐴⟶onto𝐵 ∧ 𝐴 ≈ 𝐵 ∧ 𝐵 ∈ Fin) → 𝐹:𝐴⟶1-1onto𝐵)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3   → wi 4   ∧ wa 401   ∧ w3a 1103   = wceq 1570   ∈ wcel 2147   ≠ wne 2959  ∀wral 3080  ∃wrex 3090   ⊆ wss 3900   ⊊ wpss 4016   ∖ cdif 4048  {csn 4588   class class class wbr 5108   ↾ cres 5660  ⟶wf 6562  ⟶1-1wf1 6563  ⟶ontowfo 6564  ⟶1-1ontowf1o 6565  ‘cfv 6566   ≈ cen 9008   ≼ cdom 9009   ≺ csdm 9010  Fincfn 9011
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-sep 5255  ax-nul 5266  ax-pow 5334  ax-pr 5398  ax-un 7783
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-ral 3081  df-rex 3091  df-reu 3370  df-rab 3417  df-v 3456  df-sbc 3743  df-csb 3852  df-ss 3901  df-pss 4017  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-op 4841  df-uni 4873  df-br 5109  df-opab 5174  df-mpt 5193  df-tr 5219  df-id 5553  df-eprel 5558  df-po 5566  df-so 5567  df-fr 5611  df-we 5613  df-xp 5664  df-rel 5665  df-cnv 5666  df-co 5667  df-dm 5668  df-rn 5669  df-res 5670  df-ima 5671  df-ord 6391  df-on 6392  df-lim 6393  df-suc 6394  df-iota 6520  df-fun 6568  df-fn 6569  df-f 6570  df-f1 6571  df-fo 6572  df-f1o 6573  df-fv 6574  df-om 7912  df-1o 8514  df-er 8755  df-en 9012  df-dom 9013  df-sdom 9014  df-fin 9015
This theorem is used by:  rneqdmfinf1o  9360  tpf1o  14687  s7f1o  15162  phpreu  38795
  Copyright terms: Public domain W3C validator