diff options
Diffstat (limited to 'mathcomp')
| -rw-r--r-- | mathcomp/algebra/ssralg.v | 2 | ||||
| -rw-r--r-- | mathcomp/ssreflect/fintype.v | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/mathcomp/algebra/ssralg.v b/mathcomp/algebra/ssralg.v index 47cee1f..a3b4545 100644 --- a/mathcomp/algebra/ssralg.v +++ b/mathcomp/algebra/ssralg.v @@ -5380,6 +5380,8 @@ Definition oppr0 := oppr0. Definition oppr_eq0 := oppr_eq0. Definition opprD := opprD. Definition opprB := opprB. +Definition addrKA := addrKA. +Definition subrKA := subrKA. Definition subr0 := subr0. Definition sub0r := sub0r. Definition subr_eq := subr_eq. diff --git a/mathcomp/ssreflect/fintype.v b/mathcomp/ssreflect/fintype.v index 2544ab6..93810ca 100644 --- a/mathcomp/ssreflect/fintype.v +++ b/mathcomp/ssreflect/fintype.v @@ -1950,8 +1950,12 @@ Variant split_spec m n (i : 'I_(m + n)) : 'I_m + 'I_n -> bool -> Type := Lemma splitP m n (i : 'I_(m + n)) : split_spec i (split i) (i < m). Proof. -rewrite /split {-3}/leq. -by case: (@ltnP i m) => cmp_i_m //=; constructor; rewrite ?subnKC. +(* We need to prevent the case on ltnP from rewriting the hidden constructor *) +(* argument types of the match branches exposed by unfolding split. If the *) +(* match representation is changed to omit these then this proof could reduce *) +(* to by rewrite /split; case: ltnP; [left | right. rewrite subnKC]. *) +set lt_i_m := i < m; rewrite /split. +by case: {-}_ lt_i_m / ltnP; [left | right; rewrite subnKC]. Qed. Definition unsplit {m n} (jk : 'I_m + 'I_n) := |
