aboutsummaryrefslogtreecommitdiffhomepage
path: root/plugins/funind/g_indfun.ml4
diff options
context:
space:
mode:
authorGravatar jforest <jforest@daneel.lan.home>2015-04-09 22:19:31 +0200
committerGravatar jforest <jforest@daneel.lan.home>2015-04-14 20:56:32 +0200
commit6f40831dc1d0fecfbaf9fbc8116da0e74b6e8726 (patch)
tree64e84a45fc215d458bc220366399f65ef67307ae /plugins/funind/g_indfun.ml4
parentefbc8eef69dd66c51d7f4b666d7b3ffeb99a35c7 (diff)
Function now supports puniveres
Diffstat (limited to 'plugins/funind/g_indfun.ml4')
-rw-r--r--plugins/funind/g_indfun.ml46
1 files changed, 4 insertions, 2 deletions
diff --git a/plugins/funind/g_indfun.ml4 b/plugins/funind/g_indfun.ml4
index fd48ab59f..043d4328c 100644
--- a/plugins/funind/g_indfun.ml4
+++ b/plugins/funind/g_indfun.ml4
@@ -217,7 +217,7 @@ VERNAC COMMAND EXTEND NewFunctionalScheme
begin
make_graph (Smartlocate.global_with_alias fun_name)
end
- ;
+ ;
try Functional_principles_types.build_scheme fas
with Functional_principles_types.No_graph_found ->
Errors.error ("Cannot generate induction principle(s)")
@@ -386,7 +386,9 @@ let finduction (oid:Id.t option) (heuristic: fapp_info list -> fapp_info list)
(nexttac:Proof_type.tactic) g =
let test = match oid with
| Some id ->
- let idconstr = mkConst (const_of_id id) in
+ let idref = const_of_id id in
+ (* JF : FIXME : we probably need to keep trace of evd in presence of universe polymorphism *)
+ let idconstr = snd (Evd.fresh_global (Global.env ()) Evd.empty idref) in
(fun u -> constr_head_match u idconstr) (* select only id *)
| None -> (fun u -> isApp u) in (* select calls to any function *)
let info_list = find_fapp test g in