aboutsummaryrefslogtreecommitdiff
path: root/plugins/derive
diff options
context:
space:
mode:
authorEmilio Jesus Gallego Arias2020-06-22 20:42:39 +0200
committerEmilio Jesus Gallego Arias2020-06-26 14:38:12 +0200
commitea8b9e060dfba9cc8706677e29c26dabaaa87551 (patch)
tree6e1d1b6c35c8d508f022d37db93e5eef4a54d5a8 /plugins/derive
parent862e5a0f13e51b51d42041f36576a2c7f07a9d5e (diff)
[declare] Improve organization of proof/constant information.
We unify information about constants so it is shared among all the paths [interactive, NI, obligations]. IMHO the current setup looks pretty good, with information split into a per-constant record `CInfo.t` and variables affecting mutual definitions at once, which live in `Info.t`. Main information outside our `Info` record is `opaque`, which is provided at different moments in several cases. There are a few nits regarding interactive proofs, which will go away in the next commits.
Diffstat (limited to 'plugins/derive')
-rw-r--r--plugins/derive/derive.ml5
1 files changed, 3 insertions, 2 deletions
diff --git a/plugins/derive/derive.ml b/plugins/derive/derive.ml
index d85d3bd744..27df963e98 100644
--- a/plugins/derive/derive.ml
+++ b/plugins/derive/derive.ml
@@ -40,7 +40,8 @@ let start_deriving f suchthat name : Declare.Proof.t =
TNil sigma))))))
in
- let info = Declare.Info.make ~proof_ending:(Declare.Proof_ending.(End_derive {f; name})) ~kind () in
- let lemma = Declare.Proof.start_dependent ~name ~poly ~info goals in
+ let info = Declare.Info.make ~poly ~kind () in
+ let proof_ending = Declare.Proof_ending.(End_derive {f; name}) in
+ let lemma = Declare.Proof.start_dependent ~name ~info ~proof_ending goals in
Declare.Proof.map lemma ~f:(fun p ->
Util.pi1 @@ Proof.run_tactic env Proofview.(tclFOCUS 1 2 shelve) p)