diff options
| author | Enrico Tassi | 2020-09-10 15:22:50 +0200 |
|---|---|---|
| committer | Enrico Tassi | 2020-09-10 17:45:13 +0200 |
| commit | c7b1927d8072040d573757d543e2355e8280b9ee (patch) | |
| tree | 2bba924600de95a8d79bb173b4b168f0bda26bb0 | |
| parent | ff61778018f5eff362a50e48e5b3fd30dec962d2 (diff) | |
new attempt
| -rw-r--r-- | .gitlab-ci.yml | 70 | ||||
| -rw-r--r-- | mathcomp/test_suite/output.v | 2 | ||||
| -rw-r--r-- | mathcomp/test_suite/output.v.out | 91 | ||||
| -rw-r--r-- | mathcomp/test_suite/output.v.out.8.12 | 48 | ||||
| -rw-r--r-- | mathcomp/test_suite/output.v.out.8.13 | 49 |
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 |
