aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEnrico Tassi2020-09-10 15:22:50 +0200
committerEnrico Tassi2020-09-10 17:45:13 +0200
commitc7b1927d8072040d573757d543e2355e8280b9ee (patch)
tree2bba924600de95a8d79bb173b4b168f0bda26bb0
parentff61778018f5eff362a50e48e5b3fd30dec962d2 (diff)
new attempt
-rw-r--r--.gitlab-ci.yml70
-rw-r--r--mathcomp/test_suite/output.v2
-rw-r--r--mathcomp/test_suite/output.v.out91
-rw-r--r--mathcomp/test_suite/output.v.out.8.1248
-rw-r--r--mathcomp/test_suite/output.v.out.8.1349
5 files changed, 115 insertions, 145 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a5fcc2c..173d42d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -113,6 +113,76 @@ coq-dev:
##### test stage
################
+# run "make test-suite" (required variable: COQ_VERSION)
+.test:
+ stage: test
+ image: "${CI_REGISTRY_IMAGE}:${CI_PIPELINE_IID}_${CI_COMMIT_REF_SLUG}_coq-${COQ_VERSION}"
+ before_script:
+ - cat /proc/{cpu,mem}info || true
+ # don't printenv to avoid cluttering the log
+ - opam config list
+ - opam repo list
+ - opam list
+ - coqc --version
+ - echo "${COQ_VERSION}"
+ - git rev-parse --verify HEAD
+ - git describe --all --long --abbrev=40 --always --dirty
+ - pwd
+ - cd mathcomp
+ - make test-suite
+ except:
+ - tags
+ - merge_requests
+
+# run "make test-suite" only for push pipelines (not for scheduled pipelines)
+.test-once:
+ extends: .test
+ except:
+ - tags
+ - merge_requests
+ - schedules
+
+test-coq-dev:
+ extends: .test
+ variables:
+ COQ_VERSION: "dev"
+
+test-coq-8.13:
+ # to be replaced with .test-once (to disable this nightly build) when 8.13.0 is released
+ extends: .test
+ variables:
+ COQ_VERSION: "8.13"
+
+test-coq-8.12:
+ extends: .test-once
+ variables:
+ COQ_VERSION: "8.12"
+
+test-coq-8.11:
+ extends: .test-once
+ variables:
+ COQ_VERSION: "8.11"
+
+test-coq-8.10:
+ extends: .test-once
+ variables:
+ COQ_VERSION: "8.10"
+
+test-coq-8.9:
+ extends: .test-once
+ variables:
+ COQ_VERSION: "8.9"
+
+test-coq-8.8:
+ extends: .test-once
+ variables:
+ COQ_VERSION: "8.8"
+
+test-coq-8.7:
+ extends: .test-once
+ variables:
+ COQ_VERSION: "8.7"
+
# set CONTRIB_URL, script, COQ_VERSION, CONTRIB_VERSION when using
.ci:
stage: test
diff --git a/mathcomp/test_suite/output.v b/mathcomp/test_suite/output.v
index 706f15d..7e9def3 100644
--- a/mathcomp/test_suite/output.v
+++ b/mathcomp/test_suite/output.v
@@ -1,4 +1,4 @@
From mathcomp Require Import all.
Open Scope group_scope.
-About cyclic_pgroup_Aut_structure. \ No newline at end of file
+Check @cyclic_pgroup_Aut_structure. \ No newline at end of file
diff --git a/mathcomp/test_suite/output.v.out b/mathcomp/test_suite/output.v.out
index 122ddf0..4db5888 100644
--- a/mathcomp/test_suite/output.v.out
+++ b/mathcomp/test_suite/output.v.out
@@ -1,48 +1,45 @@
-cyclic_pgroup_Aut_structure :
-forall (gT : finGroupType) (p : nat) (G : {group gT}),
-p.-group G ->
-cyclic G ->
-G != 1 :> {set gT} ->
-let q := #|G| in
-let n := (logn p q).-1 in
-let A := Aut G in
-let P := 'O_p(A) in
-let F := 'O_p^'(A) in
-exists m : {perm gT} -> 'Z_q,
- [/\ [/\ {in A & G, forall (a : {perm gT}) (x : gT), x ^+ m a = a x},
- m 1 = 1%R /\ {in A &, {morph m : a b / a * b >-> (a * b)%R}},
- {in A &, injective m} /\ [seq m x | x in A] =i GRing.unit,
- forall k : nat, {in A, {morph m : a / a ^+ k >-> (a ^+ k)%R}}
- & {in A, {morph m : a / a^-1 >-> (a^-1)%R}}],
- [/\ abelian A, cyclic F, #|F| = p.-1
- & [faithful F, on 'Ohm_1(G) | [Aut G]]]
- & if n == 0
- then A = F
- else
- exists t : perm_for_finType gT,
- [/\ t \in A, #[t] = 2, m t = (-1)%R
- & if odd p
- then
- [/\ cyclic A /\ cyclic P,
- exists s : perm_for_finType gT,
- [/\ s \in A, #[s] = (p ^ n)%N, m s = (p.+1%:R)%R
- & P = <[s]>]
- & exists s0 : perm_for_finType gT,
- [/\ s0 \in A, #[s0] = p, m s0 = ((p ^ n).+1%:R)%R
- & 'Ohm_1(P) = <[s0]>]]
+cyclic_pgroup_Aut_structure
+ : forall (gT : finGroupType) (p : nat) (G : {group gT}),
+ p.-group G ->
+ cyclic G ->
+ G != 1 ->
+ let q := #|G| in
+ let n := (logn p q).-1 in
+ let A := Aut G in
+ let P := 'O_p(A) in
+ let F := 'O_p^'(A) in
+ exists m : {perm gT} -> 'Z_q,
+ [/\ [/\ {in A & G, forall (a : {perm gT}) (x : gT), x ^+ m a = a x},
+ m 1 = 1%R /\ {in A &, {morph m : a b / a * b >-> (a * b)%R}},
+ {in A &, injective m} /\ [seq m x | x in A] =i GRing.unit,
+ forall k : nat,
+ {in A, {morph m : a / a ^+ k >-> (a ^+ k)%R}}
+ & {in A, {morph m : a / a^-1 >-> (a^-1)%R}}],
+ [/\ abelian A, cyclic F, #|F| = p.-1
+ & [faithful F, on 'Ohm_1(G) | [Aut G]]]
+ & if n == 0
+ then A = F
else
- if n == 1
- then A = <[t]>
- else
- exists s : perm_for_finType gT,
- [/\ s \in A, #[s] = (2 ^ n.-1)%N,
- m s = (5%:R)%R, <[s]> \x <[t]> = A
- & exists s0 : perm_for_finType gT,
- [/\ s0 \in A, #[s0] = 2, m s0 = ((2 ^ n).+1%:R)%R,
- m (s0 * t) = ((2 ^ n).-1%:R)%R
- & 'Ohm_1(<[s]>) = <[s0]>]]]]
-
-Arguments gT, p, G are implicit
-Argument scopes are [_ nat_scope Group_scope _ _ _]
-cyclic_pgroup_Aut_structure is opaque
-Expands to: Constant mathcomp.solvable.extremal.cyclic_pgroup_Aut_structure
+ exists t : perm_for_finType gT,
+ [/\ t \in A, #[t] = 2, m t = (-1)%R
+ & if odd p
+ then
+ [/\ cyclic A /\ cyclic P,
+ exists s : perm_for_finType gT,
+ [/\ s \in A, #[s] = (p ^ n)%N, m s = (p.+1%:R)%R
+ & P = <[s]>]
+ & exists s0 : perm_for_finType gT,
+ [/\ s0 \in A, #[s0] = p, m s0 = ((p ^ n).+1%:R)%R
+ & 'Ohm_1(P) = <[s0]>]]
+ else
+ if n == 1
+ then A = <[t]>
+ else
+ exists s : perm_for_finType gT,
+ [/\ s \in A, #[s] = (2 ^ n.-1)%N,
+ m s = (5%:R)%R, <[s]> \x <[t]> = A
+ & exists s0 : perm_for_finType gT,
+ [/\ s0 \in A, #[s0] = 2,
+ m s0 = ((2 ^ n).+1%:R)%R,
+ m (s0 * t) = ((2 ^ n).-1%:R)%R
+ & 'Ohm_1(<[s]>) = <[s0]>]]]]
diff --git a/mathcomp/test_suite/output.v.out.8.12 b/mathcomp/test_suite/output.v.out.8.12
deleted file mode 100644
index bc5d3c8..0000000
--- a/mathcomp/test_suite/output.v.out.8.12
+++ /dev/null
@@ -1,48 +0,0 @@
-cyclic_pgroup_Aut_structure :
-forall [gT : finGroupType] [p : nat] [G : {group gT}],
-p.-group G ->
-cyclic G ->
-G != 1 :> {set gT} ->
-let q := #|G| in
-let n := (logn p q).-1 in
-let A := Aut G in
-let P := 'O_p(A) in
-let F := 'O_p^'(A) in
-exists m : {perm gT} -> 'Z_q,
- [/\ [/\ {in A & G, forall (a : {perm gT}) (x : gT), x ^+ m a = a x},
- m 1 = 1%R /\ {in A &, {morph m : a b / a * b >-> (a * b)%R}},
- {in A &, injective m} /\ [seq m x | x in A] =i GRing.unit,
- forall k : nat, {in A, {morph m : a / a ^+ k >-> (a ^+ k)%R}}
- & {in A, {morph m : a / a^-1 >-> (a^-1)%R}}],
- [/\ abelian A, cyclic F, #|F| = p.-1
- & [faithful F, on 'Ohm_1(G) | [Aut G]]]
- & if n == 0
- then A = F
- else
- exists t : perm_for_finType gT,
- [/\ t \in A, #[t] = 2, m t = (-1)%R
- & if odd p
- then
- [/\ cyclic A /\ cyclic P,
- exists s : perm_for_finType gT,
- [/\ s \in A, #[s] = (p ^ n)%N, m s = (p.+1%:R)%R
- & P = <[s]>]
- & exists s0 : perm_for_finType gT,
- [/\ s0 \in A, #[s0] = p, m s0 = ((p ^ n).+1%:R)%R
- & 'Ohm_1(P) = <[s0]>]]
- else
- if n == 1
- then A = <[t]>
- else
- exists s : perm_for_finType gT,
- [/\ s \in A, #[s] = (2 ^ n.-1)%N,
- m s = (5%:R)%R, <[s]> \x <[t]> = A
- & exists s0 : perm_for_finType gT,
- [/\ s0 \in A, #[s0] = 2, m s0 = ((2 ^ n).+1%:R)%R,
- m (s0 * t) = ((2 ^ n).-1%:R)%R
- & 'Ohm_1(<[s]>) = <[s0]>]]]]
-
-cyclic_pgroup_Aut_structure is not universe polymorphic
-Arguments cyclic_pgroup_Aut_structure [gT] [p]%nat_scope [G]%Group_scope
-cyclic_pgroup_Aut_structure is opaque
-Expands to: Constant mathcomp.solvable.extremal.cyclic_pgroup_Aut_structure
diff --git a/mathcomp/test_suite/output.v.out.8.13 b/mathcomp/test_suite/output.v.out.8.13
deleted file mode 100644
index 0546b70..0000000
--- a/mathcomp/test_suite/output.v.out.8.13
+++ /dev/null
@@ -1,49 +0,0 @@
-cyclic_pgroup_Aut_structure :
-forall [gT : finGroupType] [p : nat] [G : {group gT}],
-p.-group G ->
-cyclic G ->
-G != 1 :> {set gT} ->
-let q := #|G| in
-let n := (logn p q).-1 in
-let A := Aut G in
-let P := 'O_p(A) in
-let F := 'O_p^'(A) in
-exists m : {perm gT} -> 'Z_q,
- [/\ [/\ {in A & G, forall (a : {perm gT}) (x : gT), x ^+ m a = a x},
- m 1 = 1%R /\ {in A &, {morph m : a b / a * b >-> (a * b)%R}},
- {in A &, injective m} /\ [seq m x | x in A] =i GRing.unit,
- forall k : nat, {in A, {morph m : a / a ^+ k >-> (a ^+ k)%R}}
- & {in A, {morph m : a / a^-1 >-> (a^-1)%R}}],
- [/\ abelian A, cyclic F, #|F| = p.-1
- & [faithful F, on 'Ohm_1(G) | [Aut G]]]
- & if n == 0
- then A = F
- else
- exists t : perm_for_finType gT,
- [/\ t \in A, #[t] = 2, m t = (-1)%R
- & if odd p
- then
- [/\ cyclic A /\ cyclic P,
- exists s : perm_for_finType gT,
- [/\ s \in A, #[s] = (p ^ n)%N, m s = (p.+1%:R)%R
- & P = <[s]>]
- & exists s0 : perm_for_finType gT,
- [/\ s0 \in A, #[s0] = p, m s0 = ((p ^ n).+1%:R)%R
- & 'Ohm_1(P) = <[s0]>]]
- else
- if n == 1
- then A = <[t]>
- else
- exists s : perm_for_finType gT,
- [/\ s \in A, #[s] = (2 ^ n.-1)%N,
- m s = (5%:R)%R, <[s]> \x <[t]> = A
- & exists s0 : perm_for_finType gT,
- [/\ s0 \in A, #[s0] = 2, m s0 = ((2 ^ n).+1%:R)%R,
- m (s0 * t) = ((2 ^ n).-1%:R)%R
- & 'Ohm_1(<[s]>) = <[s0]>]]]]
-
-cyclic_pgroup_Aut_structure is not universe polymorphic
-Arguments cyclic_pgroup_Aut_structure [gT] [p]%nat_scope [G]%Group_scope _ _
- _
-cyclic_pgroup_Aut_structure is opaque
-Expands to: Constant mathcomp.solvable.extremal.cyclic_pgroup_Aut_structure