aboutsummaryrefslogtreecommitdiff
path: root/dev/ci
diff options
context:
space:
mode:
authorEmilio Jesus Gallego Arias2020-03-15 17:52:16 -0400
committerEmilio Jesus Gallego Arias2020-07-08 15:12:46 +0200
commit54788df72ce79998ee27db362401a56bda4daceb (patch)
treefd81263a9139e00eea38e678f62f106f4da81e4c /dev/ci
parente0474577f9b83249d69b0f5b5942d6a6bbb1055b (diff)
[obligations] Functionalize Program state
In our quest to unify all the declaration paths, an important step is to account for the state pertaining to `Program` declarations. Whereas regular proofs keep are kept in a stack-like structure; obligations for constants defined by `Program` are stored in a global map which is manipulated by almost regular open/close proof primitives. We make this manipulation explicit by handling the program state functionally, in a similar way than we already do for lemmas. This requires to extend the proof DSL a bit; but IMO changes are acceptable given the gain. Most of the PR is routine; only remarkable change is that the hook is called explicitly in `finish_admitted` as it had to learn about the different types of proof_endings. Note that we could have gone deeper and use the type system to refine the core proof type; IMO it is still too preliminary so it is better to do this step as an intermediate one towards a deeper unification.
Diffstat (limited to 'dev/ci')
-rw-r--r--dev/ci/user-overlays/11836-ejgallego-obligations+functional.sh12
1 files changed, 12 insertions, 0 deletions
diff --git a/dev/ci/user-overlays/11836-ejgallego-obligations+functional.sh b/dev/ci/user-overlays/11836-ejgallego-obligations+functional.sh
new file mode 100644
index 0000000000..232ca2bf0d
--- /dev/null
+++ b/dev/ci/user-overlays/11836-ejgallego-obligations+functional.sh
@@ -0,0 +1,12 @@
+if [ "$CI_PULL_REQUEST" = "11836" ] || [ "$CI_BRANCH" = "obligations+functional" ]; then
+
+ equations_CI_REF=obligations+functional
+ equations_CI_GITURL=https://github.com/ejgallego/Coq-Equations
+
+ paramcoq_CI_REF=obligations+functional
+ paramcoq_CI_GITURL=https://github.com/ejgallego/paramcoq
+
+ mtac2_CI_REF=obligations+functional
+ mtac2_CI_GITURL=https://github.com/ejgallego/Mtac2
+
+fi