Skip to content

Commit 9e0ed07

Browse files
authored
Merge pull request #18 from math-comp/prepare.1.1
Prepare next release
2 parents 9a6126c + 7fc4b68 commit 9e0ed07

File tree

11 files changed

+171
-67
lines changed

11 files changed

+171
-67
lines changed

.travis.yml

Lines changed: 41 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,48 @@
11
sudo: required
22
dist: trusty
33
language: coq
4+
cache:
5+
apt: true
46
branches:
57
only:
68
- master
7-
services:
8-
- docker
9-
before_install:
10-
- docker pull strubpy/coq:ssr-dev
9+
env:
10+
global:
11+
- NJOBS=2
12+
# system is == 4.02.3
13+
- COMPILER="system"
14+
# Main test targets
15+
matrix:
16+
- COQ="8.6.1" MATHCOMP="1.6.1"
17+
- COQ="8.6.1" MATHCOMP="1.7.0"
18+
- COQ="8.7.2" MATHCOMP="1.7.0"
19+
- COQ="8.8.1" MATHCOMP="1.7.0"
20+
- COQ="8.8.1" MATHCOMP="dev"
21+
- COQ="dev" MATHCOMP="1.7.0"
22+
- COQ="dev" MATHCOMP="dev"
23+
matrix:
24+
allow_failures:
25+
- env: COQ="8.6.1" MATHCOMP="1.6.1"
26+
fast_finish: true
27+
install:
28+
- sudo add-apt-repository --yes ppa:avsm/ppa
29+
- sudo apt-get update -qq
30+
- sudo apt-get install -qq -y opam
31+
- opam init -y
32+
- eval $(opam config env)
33+
- opam config var root
34+
- opam remote add coq-extra-dev https://coq.inria.fr/opam/extra-dev
35+
- opam remote add coq-core-dev https://coq.inria.fr/opam/core-dev
36+
- opam remote add coq-released https://coq.inria.fr/opam/released
37+
- opam pin add -nvy coq --kind version ${COQ}
38+
- opam pin add -nvy coq-mathcomp-ssreflect --kind version ${MATHCOMP}
39+
- opam pin add -nvy .
40+
- |
41+
# Building coq
42+
travis_wait opam install -j ${NJOBS} -y ocamlfind camlp5 coq
43+
- |
44+
# Building other deps
45+
travis_wait opam install -j ${NJOBS} -y --deps-only coq-mathcomp-multinomials
46+
- opam list
1147
script:
12-
- >-
13-
docker run -v $PWD:/home/ci/multinomials strubpy/coq:ssr-dev
14-
sh -c 'cd multinomials && opam config exec -- make'
48+
- opam install -j ${NJOBS} -y -vvv coq-mathcomp-multinomials

Makefile

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,8 @@
11
# -*- Makefile -*-
22

33
# --------------------------------------------------------------------
4-
NAME := SsrMultinomials
5-
SUBDIRS :=
6-
INCFLAGS := -R src $(NAME)
7-
COQFILES := \
8-
src/xfinmap.v \
9-
src/ssrcomplements.v \
10-
src/monalg.v \
11-
src/freeg.v \
12-
src/mpoly.v
13-
144
include Makefile.common
155

16-
# --------------------------------------------------------------------
17-
.PHONY: install
18-
19-
install:
20-
$(MAKE) -f Makefile.coq install
21-
226
# --------------------------------------------------------------------
237
this-clean::
248
rm -f *.glob *.d *.vo
@@ -39,6 +23,3 @@ dist:
3923
BZIP2=-9 tar $(TAROPT) -cjf $(DISTDIR).tar.bz2 $(DISTDIR)
4024
rm -rf $(DISTDIR)
4125

42-
count:
43-
@coqwc $(COQFILES) | tail -1 | \
44-
awk '{printf ("%d (spec=%d+proof=%d)\n", $$1+$$2, $$1, $$2)}'

Makefile.common

Lines changed: 72 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,103 @@
11
# -*- Makefile -*-
22

3-
# --------------------------------------------------------------------
3+
######################################################################
4+
# USAGE: #
5+
# The rules this-config::, this-build::, this-distclean::, #
6+
# pre-makefile::, this-clean:: and __always__:: may be extended #
7+
# Additionally, the following variables may be customized: #
8+
SUBDIRS?=
9+
COQBIN?=$(dir $(shell which coqtop))
10+
COQMAKEFILE?=$(COQBIN)coq_makefile
11+
COQDEP?=$(COQBIN)coqdep
12+
COQPROJECT?=_CoqProject
13+
COQMAKEOPTIONS?=
14+
COQMAKEFILEOPTIONS?=
15+
V?=
16+
VERBOSE?=V
17+
######################################################################
18+
19+
# local context: -----------------------------------------------------
420
.PHONY: all config build clean distclean __always__
521
.SUFFIXES:
622

7-
TOP := $(dir $(lastword $(MAKEFILE_LIST)))
8-
COQMAKE := $(MAKE) -f Makefile.coq
9-
COQC ?= $(COQBIN)coqc
23+
H:= $(if $(VERBOSE),,@) # not used yet
24+
TOP = $(dir $(lastword $(MAKEFILE_LIST)))
25+
COQMAKE = $(MAKE) -f Makefile.coq $(COQMAKEOPTIONS)
26+
BRANCH_coq:= $(shell $(COQBIN)coqtop -v | head -1 | grep -E '(trunk|master)' \
27+
| wc -l | sed 's/ *//g')
1028

11-
# --------------------------------------------------------------------
29+
# coq version:
30+
ifneq "$(BRANCH_coq)" "0"
31+
COQV:=dev
32+
COQVV:=dev
33+
COQVVV:=dev
34+
else
35+
COQV:= $(shell $(COQBIN)coqtop -v | head -1 \
36+
| sed 's/.*version \([0-9]\)[^ ]* .*/\1/')
37+
COQVV:= $(shell $(COQBIN)coqtop -v | head -1 \
38+
| sed 's/.*version \([0-9]\.[0-9]\)[^ ]* .*/\1/')
39+
COQVVV:= $(shell $(COQBIN)coqtop -v | head -1 \
40+
| sed 's/.*version \([0-9]\.[0-9]\.[0-9]\)[^ ]* .*/\1/')
41+
endif
42+
43+
# all: ---------------------------------------------------------------
1244
all: config build
1345

14-
# --------------------------------------------------------------------
15-
Makefile.coq: Makefile
16-
coq_makefile $(INCFLAGS) $(COQFILES) -o Makefile.coq
17-
-+$(COQMAKE) depend
46+
# Makefile.coq: ------------------------------------------------------
47+
.PHONY: pre-makefile
48+
49+
Makefile.coq: pre-makefile $(COQPROJECT) Makefile
50+
$(COQMAKEFILE) $(COQMAKEFILEOPTIONS) -f $(COQPROJECT) -o Makefile.coq
1851

19-
# --------------------------------------------------------------------
20-
config: sub-config this-config Makefile.coq
52+
# Global config, build, clean and distclean --------------------------
53+
config: sub-config this-config
2154

2255
build: sub-build this-build
2356

2457
clean: sub-clean this-clean
2558

2659
distclean: sub-distclean this-distclean
2760

28-
# --------------------------------------------------------------------
61+
# Local config, build, clean and distclean ---------------------------
2962
.PHONY: this-config this-build this-distclean this-clean
3063

31-
this-build::
64+
this-config:: __always__
65+
66+
this-build:: this-config Makefile.coq
3267
+$(COQMAKE)
3368

3469
this-distclean:: this-clean
35-
rm -f Makefile.coq
70+
rm -f Makefile.coq Makefile.coq.conf Makefile.coq
71+
72+
this-clean:: __always__
73+
@if [ -f Makefile.coq ]; then $(COQMAKE) cleanall; fi
74+
75+
# Install target -----------------------------------------------------
76+
.PHONY: install
77+
78+
install: __always__ Makefile.coq
79+
$(COQMAKE) install
80+
# counting lines of Coq code -----------------------------------------
81+
.PHONY: count
82+
83+
COQFILES = $(shell grep '.v$$' $(COQPROJECT))
3684

37-
this-clean::
38-
@if [ -f Makefile.coq ]; then $(COQMAKE) clean; fi
85+
count:
86+
@coqwc $(COQFILES) | tail -1 | \
87+
awk '{printf ("%d (spec=%d+proof=%d)\n", $$1+$$2, $$1, $$2)}'
88+
# Additionally cleaning backup (*~) files ----------------------------
89+
this-distclean::
90+
rm -f $(shell find . -name '*~')
3991

40-
# --------------------------------------------------------------------
92+
# Make in SUBDIRS ----------------------------------------------------
4193
ifdef SUBDIRS
4294
sub-%: __always__
43-
@set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d $(@:sub-%=%); done
95+
@set -e; for d in $(SUBDIRS); do +$(MAKE) -C $$d $(@:sub-%=%); done
4496
else
4597
sub-%: __always__
4698
@true
4799
endif
48100

49-
# --------------------------------------------------------------------
50-
%.vo: __always__
101+
# Make of individual .vo ---------------------------------------------
102+
%.vo: __always__ Makefile.coq
51103
+$(COQMAKE) $@

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
A Coq/SSReflect Library for Monoidal Rings && Multinomials
44
========================================================================
55

6-
This library is based on SSReflect/MathComp Library version 1.5/1.6.
6+
This library is based on SSReflect/MathComp Library version >= 1.6.
77

88
It can be installed from the unstable Coq opam repository:
99

@@ -22,5 +22,5 @@ Contributors:
2222
This library is also the result of discussions with:
2323

2424
- Sophie Bernard
25-
- [Cyril Cohen](http://perso.crans.org/cohen/)
25+
- [Cyril Cohen](http://www.cyrilcohen.fr/)
2626
- [Laurence Rideau](http://www-sop.inria.fr/members/Laurence.Rideau/)

_CoqProject

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
src/xfinmap.v
2+
src/ssrcomplements.v
3+
src/monalg.v
4+
src/freeg.v
5+
src/mpoly.v
6+
7+
-R src SsrMultinomials

descr

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
A Multivariate polynomial Library for the Mathematical Components Library.

opam

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
opam-version: "1.2"
2+
name: "coq-mathcomp-multinomials"
3+
maintainer: "[email protected]"
4+
homepage: "https://github.com/math-comp/multinomials-ssr"
5+
bug-reports: "https://github.com/math-comp/multinomials-ssr/issues"
6+
dev-repo: "git+https://github.com/math-comp/multinomials.git"
7+
license: "CeCILL-B"
8+
authors: ["Pierre-Yves Strub"]
9+
build: [
10+
[make "INSTMODE=global" "config"]
11+
[make "-j%{jobs}%"]
12+
]
13+
install: [
14+
[make "install"]
15+
]
16+
remove: ["rm" "-R" "%{lib}%/coq/user-contrib/SsrMultinomials"]
17+
depends: [
18+
"coq" {(>= "8.5" | = "dev")}
19+
"coq-mathcomp-ssreflect" { (>= "1.6" | = "dev") }
20+
"coq-mathcomp-algebra" { (>= "1.6" | = "dev") }
21+
"coq-mathcomp-bigenough" {>= "1.0.0" & < "1.1.0~"}
22+
"coq-mathcomp-finmap" {>= "1.0.0" & < "1.1.0~"}
23+
]
24+
tags: [
25+
"keyword:multinomials"
26+
"keyword:monoid algebra"
27+
"category:Math/Algebra/Multinomials"
28+
"category:Math/Algebra/Monoid algebra"
29+
"date:2016"
30+
"logpath:SsrMultinomials"
31+
]

src/freeg.v

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,6 @@ Module FreegDefs.
7575
_ : reduced seq_of_prefreeg
7676
}.
7777

78-
Implicit Arguments mkPrefreeg [].
79-
8078
Local Coercion seq_of_prefreeg : prefreeg >-> seq.
8179

8280
Lemma prefreeg_reduced: forall (D : prefreeg), reduced D.
@@ -95,7 +93,7 @@ Module FreegDefs.
9593
Canonical prefreeg_choiceType := Eval hnf in ChoiceType prefreeg prefreeg_choiceMixin.
9694
End Defs.
9795

98-
Implicit Arguments mkPrefreeg [G K].
96+
Arguments mkPrefreeg [G K].
9997

10098
Section Quotient.
10199
Variable G : zmodType.

src/mpoly.v

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -937,7 +937,7 @@ Proof. by rewrite mdeg0. Qed.
937937
End DegBoundMultinom.
938938

939939
Definition bm0 n b := BMultinom (bm0_proof n b).
940-
Implicit Arguments bm0 [n b].
940+
Arguments bm0 [n b].
941941

942942
Notation "''X_{1..' n < b '}'" := (bmultinom n b).
943943
Notation "''X_{1..' n < b1 , b2 '}'" := ('X_{1..n < b1} * 'X_{1..n < b2})%type.
@@ -1641,7 +1641,7 @@ rewrite [X in _=X]big_uncond //= => j /memN_msupp_eq0.
16411641
by move=> ->; rewrite mulr0 freegU0.
16421642
Qed.
16431643

1644-
Implicit Arguments mpoly_mulwE [p q].
1644+
Arguments mpoly_mulwE [p q].
16451645

16461646
Lemma mpoly_mul_revwE p q kp kq : msize p <= kp -> msize q <= kq ->
16471647
p *M q = [mpoly \sum_(m : 'X_{1..n < kq, kp}) (p *M_[(m.2, m.1)] q)].
@@ -1650,7 +1650,7 @@ move=> lep leq; rewrite -pair_bigA_curry exchange_big /=.
16501650
by rewrite pair_bigA /= -mpoly_mulwE //.
16511651
Qed.
16521652

1653-
Implicit Arguments mpoly_mul_revwE [p q].
1653+
Arguments mpoly_mul_revwE [p q].
16541654

16551655
Lemma mcoeff_poly_mul p q m k : !|m| < k ->
16561656
(p *M q)@_m =
@@ -1713,7 +1713,7 @@ rewrite -(pair_big_dep xpredT P F) (bigID Q) /= addrC.
17131713
move/mnmP/(_ i); rewrite mnmDE=> eq; move: Nle.
17141714
by rewrite eq leq_addr.
17151715
Qed.
1716-
Implicit Arguments mcoeff_poly_mul_lin [p q m].
1716+
Arguments mcoeff_poly_mul_lin [p q m].
17171717

17181718
Local Notation mcoeff_pml := mcoeff_poly_mul_lin.
17191719

@@ -1736,7 +1736,7 @@ rewrite ltn_neqAle -subn_eq0 => /andP [ne_mhi /eqP le_mhi].
17361736
apply/negbTE/eqP/mnmP=> /(_ i); rewrite !mnmBE => /eqP.
17371737
by rewrite le_mhi subn0 (negbTE ne_mhi).
17381738
Qed.
1739-
Implicit Arguments mcoeff_poly_mul_lin_rev [p q m].
1739+
Arguments mcoeff_poly_mul_lin_rev [p q m].
17401740

17411741
Local Notation mcoeff_pmlr := mcoeff_poly_mul_lin_rev.
17421742

@@ -2619,7 +2619,7 @@ move=> le_pk; rewrite /mderiv (big_mksub I) /=; first last.
26192619
rewrite big_uncond //= => j /memN_msupp_eq0 ->.
26202620
by rewrite mulr0 scale0r.
26212621
Qed.
2622-
Implicit Arguments mderivwE [p i].
2622+
Arguments mderivwE [i p].
26232623

26242624
Lemma mcoeff_deriv i m p : p^`M(i)@_m = p@_(m + U_(i)) *+ (m i).+1.
26252625
Proof.
@@ -3006,7 +3006,7 @@ rewrite /mmap (big_mksub I) ?msupp_uniq //=; first last.
30063006
rewrite big_uncond //= => j /memN_msupp_eq0 ->.
30073007
by rewrite raddf0 mul0r.
30083008
Qed.
3009-
Implicit Arguments mmapE [p].
3009+
Arguments mmapE [p].
30103010

30113011
Lemma mmap_is_additive : additive (mmap f h).
30123012
Proof.
@@ -3035,7 +3035,7 @@ by rewrite mcoeffC eqxx mulr1.
30353035
Qed.
30363036
End Additive.
30373037

3038-
Implicit Arguments mmapE [f h p].
3038+
Arguments mmapE [h f p].
30393039

30403040
Section Multiplicative.
30413041
Variable h : 'I_n -> S.
@@ -3070,7 +3070,7 @@ Qed.
30703070
End Multiplicative.
30713071
End MPolyMorphism.
30723072

3073-
Implicit Arguments mmapE [n R S h f p].
3073+
Arguments mmapE [n R S h f p].
30743074

30753075
(* -------------------------------------------------------------------- *)
30763076
Lemma mmap1_eq n (R : ringType) (f1 f2 : 'I_n -> R) m :
@@ -3328,7 +3328,7 @@ Proof.
33283328
rewrite /map_mpoly; move/mmapE=> -> /=; apply/eq_bigr.
33293329
by move=> i _; rewrite mmap1_id mul_mpolyC.
33303330
Qed.
3331-
Implicit Arguments map_mpolyE [p].
3331+
Arguments map_mpolyE [p].
33323332

33333333
Lemma mcoeff_map_mpoly m p : p^f@_m = f p@_m.
33343334
Proof.
@@ -3688,7 +3688,7 @@ rewrite [X in _='X_[X]](reindex (fun i : 'I_n => s i)) /=.
36883688
by exists (s^-1)%g=> i _; rewrite (permK, permKV).
36893689
Qed.
36903690

3691-
Implicit Arguments msymE [p].
3691+
Arguments msymE [p].
36923692

36933693
Lemma mcoeff_sym p (s : 'S_n) m : (msym s p)@_m = p@_(m#s).
36943694
Proof.
@@ -3842,8 +3842,8 @@ by move/msupp_le_mlead; rewrite leNgt => /negbTE=> ->.
38423842
Qed.
38433843
End MPolySym.
38443844

3845-
Implicit Arguments inj_msym [n R].
3846-
Implicit Arguments symmetric [n R].
3845+
Arguments inj_msym [n R].
3846+
Arguments symmetric [n R].
38473847

38483848
(* -------------------------------------------------------------------- *)
38493849
Section MPolySymComp.

0 commit comments

Comments
 (0)