aboutsummaryrefslogtreecommitdiff
path: root/vernac
diff options
context:
space:
mode:
authorEmilio Jesus Gallego Arias2020-03-02 01:50:26 -0500
committerEmilio Jesus Gallego Arias2020-03-19 17:18:10 -0400
commit92b61209c60b368bbc095950786187b94b167632 (patch)
tree5cceb7b23780618d89143d674aca2b3ccb481742 /vernac
parent139d206294f98194e9bdb19a7d5da73f9b104db5 (diff)
[declare] Remove one use of inline_private_constants
We instead favor the `build_by_tactic` function which should at some point better integrated in the declare core.
Diffstat (limited to 'vernac')
-rw-r--r--vernac/auto_ind_decl.ml16
-rw-r--r--vernac/obligations.ml12
-rw-r--r--vernac/vernacentries.ml4
3 files changed, 15 insertions, 17 deletions
diff --git a/vernac/auto_ind_decl.ml b/vernac/auto_ind_decl.ml
index 9ed371bcfb..0c9b9c7255 100644
--- a/vernac/auto_ind_decl.ml
+++ b/vernac/auto_ind_decl.ml
@@ -691,10 +691,10 @@ let make_bl_scheme mode mind =
let lnonparrec,lnamesparrec = (* TODO subst *)
context_chop (nparams-nparrec) mib.mind_params_ctxt in
let bl_goal, eff = compute_bl_goal ind lnamesparrec nparrec in
- let ctx = UState.make ~lbound:(Global.universes_lbound ()) (Global.universes ()) in
+ let uctx = UState.make ~lbound:(Global.universes_lbound ()) (Global.universes ()) in
let side_eff = side_effect_of_mode mode in
let bl_goal = EConstr.of_constr bl_goal in
- let (ans, _, ctx) = Pfedit.build_by_tactic ~poly:false ~side_eff (Global.env()) ctx bl_goal
+ let (ans, _, _, ctx) = Pfedit.build_by_tactic ~poly:false ~side_eff (Global.env()) ~uctx ~typ:bl_goal
(compute_bl_tact mode (!bl_scheme_kind_aux()) (ind, EConstr.EInstance.empty) lnamesparrec nparrec)
in
([|ans|], ctx), eff
@@ -821,10 +821,10 @@ let make_lb_scheme mode mind =
let lnonparrec,lnamesparrec =
context_chop (nparams-nparrec) mib.mind_params_ctxt in
let lb_goal, eff = compute_lb_goal ind lnamesparrec nparrec in
- let ctx = UState.make ~lbound:(Global.universes_lbound ()) (Global.universes ()) in
+ let uctx = UState.make ~lbound:(Global.universes_lbound ()) (Global.universes ()) in
let side_eff = side_effect_of_mode mode in
let lb_goal = EConstr.of_constr lb_goal in
- let (ans, _, ctx) = Pfedit.build_by_tactic ~poly:false ~side_eff (Global.env()) ctx lb_goal
+ let (ans, _, _, ctx) = Pfedit.build_by_tactic ~poly:false ~side_eff (Global.env()) ~uctx ~typ:lb_goal
(compute_lb_tact mode (!lb_scheme_kind_aux()) ind lnamesparrec nparrec)
in
([|ans|], ctx), eff
@@ -997,13 +997,13 @@ let make_eq_decidability mode mind =
let nparams = mib.mind_nparams in
let nparrec = mib.mind_nparams_rec in
let u = Univ.Instance.empty in
- let ctx = UState.make ~lbound:(Global.universes_lbound ()) (Global.universes ()) in
+ let uctx = UState.make ~lbound:(Global.universes_lbound ()) (Global.universes ()) in
let lnonparrec,lnamesparrec =
context_chop (nparams-nparrec) mib.mind_params_ctxt in
let side_eff = side_effect_of_mode mode in
- let (ans, _, ctx) = Pfedit.build_by_tactic ~poly:false ~side_eff (Global.env()) ctx
- (EConstr.of_constr (compute_dec_goal (ind,u) lnamesparrec nparrec))
- (compute_dec_tact ind lnamesparrec nparrec)
+ let (ans, _, _, ctx) = Pfedit.build_by_tactic ~poly:false ~side_eff (Global.env()) ~uctx
+ ~typ:(EConstr.of_constr (compute_dec_goal (ind,u) lnamesparrec nparrec))
+ (compute_dec_tact ind lnamesparrec nparrec)
in
([|ans|], ctx), Evd.empty_side_effects
diff --git a/vernac/obligations.ml b/vernac/obligations.ml
index b38c23631f..c022d93f34 100644
--- a/vernac/obligations.ml
+++ b/vernac/obligations.ml
@@ -416,16 +416,14 @@ let warn_solve_errored = CWarnings.create ~name:"solve_obligation_error" ~catego
Pp.seq [str "Solve Obligations tactic returned error: "; err; fnl ();
str "This will become an error in the future"])
-let solve_by_tac ?loc name evi t poly ctx =
- (* spiwack: the status is dropped. *)
+let solve_by_tac ?loc name evi t poly uctx =
try
- let (entry,_,ctx') =
- Pfedit.build_constant_by_tactic
- ~name ~poly ctx evi.evar_hyps evi.evar_concl t in
+ (* the status is dropped. *)
let env = Global.env () in
- let body, ctx' = Declare.inline_private_constants ~univs:ctx' env entry in
+ let body, types, _, ctx' =
+ Pfedit.build_by_tactic env ~uctx ~poly ~typ:evi.evar_concl t in
Inductiveops.control_only_guard env (Evd.from_ctx ctx') (EConstr.of_constr body);
- Some (body, entry.Declare.proof_entry_type, ctx')
+ Some (body, types, ctx')
with
| Refiner.FailError (_, s) as exn ->
let _ = Exninfo.capture exn in
diff --git a/vernac/vernacentries.ml b/vernac/vernacentries.ml
index b5ecd62dad..e7930cc091 100644
--- a/vernac/vernacentries.ml
+++ b/vernac/vernacentries.ml
@@ -474,8 +474,8 @@ let program_inference_hook env sigma ev =
if not (Evarutil.is_ground_env sigma env &&
Evarutil.is_ground_term sigma concl)
then raise Exit;
- let c, _, ctx =
- Pfedit.build_by_tactic ~poly:false env (Evd.evar_universe_context sigma) concl tac
+ let c, _, _, ctx =
+ Pfedit.build_by_tactic ~poly:false env ~uctx:(Evd.evar_universe_context sigma) ~typ:concl tac
in Evd.set_universe_context sigma ctx, EConstr.of_constr c
with Logic_monad.TacticFailure e when noncritical e ->
user_err Pp.(str "The statement obligations could not be resolved \