This repository was archived by the owner on Jul 24, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -2057,6 +2057,23 @@ namespace infinite
2057
2057
2058
2058
lemma of_not_fintype (h : fintype α → false) : infinite α := is_empty_fintype.mp ⟨h⟩
2059
2059
2060
+ /-- If `s : set α` is a proper subset of `α` and `f : α → s` is injective, then `α` is infinite. -/
2061
+ lemma of_injective_to_set {s : set α} (hs : s ≠ set.univ) {f : α → s} (hf : injective f) :
2062
+ infinite α :=
2063
+ of_not_fintype $ λ h, begin
2064
+ resetI, classical,
2065
+ refine lt_irrefl (fintype.card α) _,
2066
+ calc fintype.card α ≤ fintype.card s : fintype.card_le_of_injective f hf
2067
+ ... = s.to_finset.card : s.to_finset_card.symm
2068
+ ... < fintype.card α : finset.card_lt_card $
2069
+ by rwa [set.to_finset_ssubset_univ, set.ssubset_univ_iff]
2070
+ end
2071
+
2072
+ /-- If `s : set α` is a proper subset of `α` and `f : s → α` is surjective, then `α` is infinite. -/
2073
+ lemma of_surjective_from_set {s : set α} (hs : s ≠ set.univ) {f : s → α} (hf : surjective f) :
2074
+ infinite α :=
2075
+ of_injective_to_set hs (injective_surj_inv hf)
2076
+
2060
2077
lemma exists_not_mem_finset [infinite α] (s : finset α) : ∃ x, x ∉ s :=
2061
2078
not_forall.1 $ λ h, fintype.false ⟨s, h⟩
2062
2079
You can’t perform that action at this time.
0 commit comments