Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ jobs:
coq_version:
- '8.15'
- '8.16'
- '8.17'
steps:
- uses: actions/checkout@v2
- uses: coq-community/docker-coq-action@v1
Expand Down
207 changes: 112 additions & 95 deletions .github/workflows/nix-action-coq-8.15.yml

Large diffs are not rendered by default.

1,541 changes: 1,458 additions & 83 deletions .github/workflows/nix-action-coq-8.16.yml

Large diffs are not rendered by default.

Large diffs are not rendered by default.

1,580 changes: 0 additions & 1,580 deletions .github/workflows/nix-action-coq-mcHB-8.16.yml

This file was deleted.

28 changes: 14 additions & 14 deletions .nix/config.nix
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
{
format = "1.0.0";
attribute = "hierarchy-builder";
default-bundle = "coq-8.15";
default-bundle = "coq-8.16";
bundles = let
mcHBcommon = {
mathcomp.override.version = "hierarchy-builder";
mathcomp.job = true;
mathcomp-single.job = true;
hierarchy-builder-shim.job = true;
mathcomp-single-planB-src.job = true;
mathcomp-single-planB.job = true;
graph-theory.job = false;
fourcolor.override.version = "master";
odd-order.override.version = "hirarchy-builder";
mathcomp-finmap.override.version = "proux01:hierarchy-builder";
mathcomp.analyis.override.version = "#694";
odd-order.override.version = "master";
mathcomp-finmap.override.version = "master";
mathcomp.analyis.override.version = "hierarchy-builder";
interval.override.version = "master";
reglang.override.version = "hierarchy-builder";
coq-bits.override.version = "hierarchy-builder";
deriving.job = false;
};
in {
"coq-mcHB-8.16".coqPackages = {
coq.override.version = "8.16";
mathcomp-analysis.override.version = "coq816";
} // mcHBcommon;

"coq-mcHB-8.15".coqPackages = {
coq.override.version = "8.15";
"coq-8.17".coqPackages = {
coq.override.version = "8.17";
} // mcHBcommon;

"coq-8.16".coqPackages = {
coq.override.version = "8.16";
mathcomp.override.version = "mathcomp-1.15.0";
};
} // mcHBcommon;

"coq-8.15".coqPackages = {
coq.override.version = "8.15";
mathcomp.job = false;
mathcomp-infotheo.job = false;
};
};
cachix.coq = {};
Expand Down
2 changes: 1 addition & 1 deletion .nix/coq-nix-toolbox.nix
Original file line number Diff line number Diff line change
@@ -1 +1 @@
"4f0eb194b37b6e0db28be2eb4643bd6924abf7ab"
"721d4a5e7a4db115f7576828c354d62a84d7055b"
11 changes: 0 additions & 11 deletions .nix/coq-overlays/mathcomp-single-planB/default.nix

This file was deleted.

7 changes: 2 additions & 5 deletions .nix/coq-overlays/mathcomp-single/default.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,2 @@
{ mathcomp, coq-elpi, hierarchy-builder, version ? null }:
(mathcomp.override {single = true;}).overrideAttrs (old: {
propagatedBuildInputs = old.propagatedBuildInputs ++
[ coq-elpi hierarchy-builder ];
})
{ mathcomp, version ? null }:
mathcomp.override {single = true; inherit version;}
121 changes: 0 additions & 121 deletions .nix/coq-overlays/mathcomp/default.nix

This file was deleted.

17 changes: 10 additions & 7 deletions HB/common/database.elpi
Original file line number Diff line number Diff line change
Expand Up @@ -223,21 +223,24 @@ distinct-pairs-below CurrentClass AllSuper C1 C2 :-
not(sub-class? C1 C2),
not(sub-class? C2 C1),
if (join C1n C2n C3n)
(assert-building-bottom-up CurrentClass C3n, fail) % a join, not a valid pair
(assert-building-bottom-up CurrentClass C3n C1n C2n, fail) % a join, not a valid pair
true, % no join, valid pair
].

pred assert-building-bottom-up i:class, i:classname.
assert-building-bottom-up CurrentClass C3n :-
pred assert-building-bottom-up i:class, i:classname, i:classname, i:classname.
assert-building-bottom-up CurrentClass C3n C1n C2n :-
class-def (class C3n X Y),
CurrentClass = class CC _ _,
if (not (sub-class? CurrentClass (class C3n X Y)))
(gref->modname CC 2 "." Before, gref->modname C3n 2 "." After,
Msg1 is "- declare structure " ^ Before ^ " before structure " ^ After ^ ";",
coq.error "You must declare the hierarchy bottom-up."
(gref->modname CC 1 "." Before, gref->modname_short C3n "." After,
Msg1 is "- declare structure " ^ Before ^ " before structure " ^ After ^ " if " ^ After ^ " inherits from it;",
Msg2 is "- declare an additional structure that inherits from both "
^ {gref->modname_short C1n "."} ^ " and " ^ {gref->modname_short C2n "."}
^ " and from which " ^ Before ^ " and/or " ^ After ^ " inherit.",
coq.error "You must declare the hierarchy bottom-up or addd a missing join."
"There are two ways out:"
Msg1
"- declare an additional structure from which both inherit")
Msg2)
true.

pred distinct-pairs_pair i:prop, o:pair class class.
Expand Down
2 changes: 1 addition & 1 deletion coq-hierarchy-builder.opam
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ build: [ [ make "build"]
[ make "test-suite" ] {with-test}
]
install: [ make "install" ]
depends: [ "coq-elpi" { (>= "1.14" & < "1.17~") | = "dev" } ]
depends: [ "coq-elpi" { (>= "1.14" & < "1.18~") | = "dev" } ]
conflicts: [ "coq-hierarchy-builder-shim" ]
synopsis: "High level commands to declare and evolve a hierarchy based on packed classes"
description: """
Expand Down
7 changes: 4 additions & 3 deletions tests/missing_join_error.v.out
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
The command has indeed failed with message:
You must declare the hierarchy bottom-up. There are two ways out:
- declare structure missing_join_error.A2B1 before structure missing_join_error.B2A1;
- declare an additional structure from which both inherit
You must declare the hierarchy bottom-up or addd a missing join.
There are two ways out:
- declare structure A2B1 before structure B2A1 if B2A1 inherits from it;
- declare an additional structure that inherits from both A1 and A2 and from which A2B1 and/or B2A1 inherit.