diff options
| author | Cyril Cohen | 2020-09-01 15:47:49 +0200 |
|---|---|---|
| committer | Cyril Cohen | 2020-09-28 22:36:19 +0200 |
| commit | e5a87f12545cd97dea383040590d62aff068b8ad (patch) | |
| tree | 9a0df1c2cfff7a49abce86d3f38676d8d28eae05 /mathcomp/ssreflect | |
| parent | 75a78707f5bf36e6b497c67ac014f5b338ddba54 (diff) | |
Submatrix theory
Diffstat (limited to 'mathcomp/ssreflect')
| -rw-r--r-- | mathcomp/ssreflect/fintype.v | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/mathcomp/ssreflect/fintype.v b/mathcomp/ssreflect/fintype.v index dca9a48..7d65f9e 100644 --- a/mathcomp/ssreflect/fintype.v +++ b/mathcomp/ssreflect/fintype.v @@ -1281,6 +1281,9 @@ apply: (iffP eqP) => [eqfA |]; last exact: card_in_image. by apply/dinjectiveP; apply/card_uniqP; rewrite size_map -cardE. Qed. +Lemma leq_card_in A : {in A &, injective f} -> #|A| <= #|T'|. +Proof. by move=> /card_in_image <-; rewrite max_card. Qed. + Hypothesis injf : injective f. Lemma card_image A : #|image f A| = #|A|. @@ -1295,6 +1298,8 @@ rewrite -card_image /=; apply: eq_card => y. by rewrite [y \in _]image_pre !inE andbC. Qed. +Lemma leq_card : #|T| <= #|T'|. Proof. exact: (leq_card_in (in2W _)). Qed. + Hypothesis card_range : #|T| = #|T'|. Lemma inj_card_onto y : y \in codom f. @@ -1308,6 +1313,8 @@ Qed. End CardFunImage. Arguments image_injP {T T' f A}. +Arguments leq_card_in [T T'] f. +Arguments leq_card [T T'] f. Section FinCancel. @@ -1866,6 +1873,10 @@ Qed. Lemma rev_ord_inj {n} : injective (@rev_ord n). Proof. exact: inv_inj rev_ordK. Qed. +Lemma inj_leq m n (f : 'I_m -> 'I_n) : injective f -> m <= n. +Proof. by move=> /leq_card; rewrite !card_ord. Qed. +Arguments inj_leq [m n] f _. + (* bijection between any finType T and the Ordinal finType of its cardinal *) Section EnumRank. |
