@@ -1443,6 +1443,10 @@ lemma nonempty_of_card_le [fintype α] [fintype β]
1443
1443
(h : fintype.card α ≤ fintype.card β) : nonempty (α ↪ β) :=
1444
1444
by { classical, exact (trunc_of_card_le h).nonempty }
1445
1445
1446
+ lemma nonempty_iff_card_le [fintype α] [fintype β] :
1447
+ nonempty (α ↪ β) ↔ fintype.card α ≤ fintype.card β :=
1448
+ ⟨λ ⟨e⟩, fintype.card_le_of_embedding e, nonempty_of_card_le⟩
1449
+
1446
1450
lemma exists_of_card_le_finset [fintype α] {s : finset β} (h : fintype.card α ≤ s.card) :
1447
1451
∃ (f : α ↪ β), set.range f ⊆ s :=
1448
1452
begin
@@ -2102,10 +2106,10 @@ let ⟨y, hy⟩ := exists_not_mem_finset ({x} : finset α) in
2102
2106
protected lemma nonempty (α : Type *) [infinite α] : nonempty α :=
2103
2107
by apply_instance
2104
2108
2105
- lemma of_injective [infinite β] (f : β → α) (hf : injective f) : infinite α :=
2109
+ lemma of_injective {α β} [infinite β] (f : β → α) (hf : injective f) : infinite α :=
2106
2110
⟨λ I, by exactI (finite.of_injective f hf).false⟩
2107
2111
2108
- lemma of_surjective [infinite β] (f : α → β) (hf : surjective f) : infinite α :=
2112
+ lemma of_surjective {α β} [infinite β] (f : α → β) (hf : surjective f) : infinite α :=
2109
2113
⟨λ I, by exactI (finite.of_surjective f hf).false⟩
2110
2114
2111
2115
end infinite
@@ -2264,7 +2268,7 @@ begin
2264
2268
exact key.false,
2265
2269
end
2266
2270
2267
- lemma not_surjective_finite_infinite [finite α] [infinite β] (f : α → β) : ¬ surjective f :=
2271
+ lemma not_surjective_finite_infinite {α β} [finite α] [infinite β] (f : α → β) : ¬ surjective f :=
2268
2272
λ hf, (infinite.of_surjective f hf).not_finite ‹_›
2269
2273
2270
2274
section trunc
0 commit comments