diff options
| author | Cyril Cohen | 2020-04-10 11:45:05 +0200 |
|---|---|---|
| committer | Cyril Cohen | 2020-09-27 15:09:15 +0200 |
| commit | 4241f07301e8d84186ae2c80d5c32118a90f6847 (patch) | |
| tree | 2d0ee7af9c7ef40c67e57b243dc1f84715635a2b /mathcomp | |
| parent | 6d8f919bbc6a103378005d282fb6018bb63c5026 (diff) | |
Putting ord1 in fintype
ord1 is in zmodp, but it does not really require the zmodType structure of 'I_n to be stated and proven if we state it with ord0. We still keep the variant in zmodp with 0 instead of ord0 (for readability purposes).
Diffstat (limited to 'mathcomp')
| -rw-r--r-- | mathcomp/algebra/zmodp.v | 4 | ||||
| -rw-r--r-- | mathcomp/fingroup/perm.v | 4 | ||||
| -rw-r--r-- | mathcomp/ssreflect/fintype.v | 3 |
3 files changed, 7 insertions, 4 deletions
diff --git a/mathcomp/algebra/zmodp.v b/mathcomp/algebra/zmodp.v index 4d92e26..015d971 100644 --- a/mathcomp/algebra/zmodp.v +++ b/mathcomp/algebra/zmodp.v @@ -181,8 +181,10 @@ Arguments Zp1 {p'}. Arguments inZp {p'} i. Arguments valZpK {p'} x. +(* We redefine fintype.ord1 to specialize it with 0 instead of ord0 *) +(* since 'I_n is now canonically a zmodType *) Lemma ord1 : all_equal_to (0 : 'I_1). -Proof. by case=> [[] // ?]; apply: val_inj. Qed. +Proof. exact: ord1. Qed. Lemma lshift0 m n : lshift m (0 : 'I_n.+1) = (0 : 'I_(n + m).+1). Proof. exact: val_inj. Qed. diff --git a/mathcomp/fingroup/perm.v b/mathcomp/fingroup/perm.v index 0c02f3b..d0ba321 100644 --- a/mathcomp/fingroup/perm.v +++ b/mathcomp/fingroup/perm.v @@ -638,9 +638,7 @@ Lemma permS0 : all_equal_to (1 : 'S_0). Proof. by move=> g; apply/permP; case. Qed. Lemma permS1 : all_equal_to (1 : 'S_1). -Proof. -by move=> g; apply/permP => i; apply: val_inj; do ![case: (X in val X); case]. -Qed. +Proof. by move=> g; apply/permP => i; rewrite !ord1. Qed. Section CastSn. diff --git a/mathcomp/ssreflect/fintype.v b/mathcomp/ssreflect/fintype.v index 3472a1d..f4f34a4 100644 --- a/mathcomp/ssreflect/fintype.v +++ b/mathcomp/ssreflect/fintype.v @@ -2220,6 +2220,9 @@ Arguments sub_ord {n'}. Arguments sub_ordK {n'}. Arguments inord_val {n'}. +Lemma ord1 : all_equal_to (ord0 : 'I_1). +Proof. by case=> [[] // ?]; apply: val_inj. Qed. + (* Product of two fintypes which is a fintype *) Section ProdFinType. |
