aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <matthieu.sozeau@inria.fr>2014-10-08 23:28:06 +0200
committerGravatar Matthieu Sozeau <matthieu.sozeau@inria.fr>2014-10-10 20:40:04 +0200
commit8a9de08c0e6a5130103cedf05cbcebcf5f621d1e (patch)
tree8dd91ad2d43fb99cb99115c5b5377f4a142f8947
parent32653d69478992d55dc45a5562aeb6b41ae67f21 (diff)
Add debug printers for projections, fix printing of evar constraints
and unsatisfiable constraints which were not done in the right environment.
-rw-r--r--dev/base_include1
-rw-r--r--dev/top_printers.ml5
-rw-r--r--pretyping/evd.ml4
-rw-r--r--toplevel/himsg.ml5
4 files changed, 9 insertions, 6 deletions
diff --git a/dev/base_include b/dev/base_include
index 1d43e64df..c2da8b18a 100644
--- a/dev/base_include
+++ b/dev/base_include
@@ -34,6 +34,7 @@
#install_printer (* qualid *) ppqualid;;
#install_printer (* kernel_name *) ppkn;;
#install_printer (* constant *) ppcon;;
+#install_printer (* projection *) ppproj;;
#install_printer (* cl_index *) ppclindex;;
#install_printer (* recarg Rtree.t *) ppwf_paths;;
#install_printer (* constr *) print_pure_constr;;
diff --git a/dev/top_printers.ml b/dev/top_printers.ml
index 1d903f30f..75310163f 100644
--- a/dev/top_printers.ml
+++ b/dev/top_printers.ml
@@ -43,6 +43,7 @@ let ppmbid mbid = pp (str (MBId.debug_to_string mbid))
let ppdir dir = pp (pr_dirpath dir)
let ppmp mp = pp(str (string_of_mp mp))
let ppcon con = pp(debug_pr_con con)
+let ppproj con = pp(debug_pr_con (Projection.constant con))
let ppkn kn = pp(pr_kn kn)
let ppmind kn = pp(debug_pr_mind kn)
let ppind (kn,i) = pp(debug_pr_mind kn ++ str"," ++int i)
@@ -146,8 +147,8 @@ let pp_state_t n = pp (Reductionops.pr_state n)
(* proof printers *)
let pr_evar ev = Pp.int (Evar.repr ev)
let ppmetas metas = pp(pr_metaset metas)
-let ppevm evd = pp(pr_evar_map (Some 2) evd)
-let ppevmall evd = pp(pr_evar_map None evd)
+let ppevm evd = pp(pr_evar_map ~with_univs:!Flags.univ_print (Some 2) evd)
+let ppevmall evd = pp(pr_evar_map ~with_univs:!Flags.univ_print None evd)
let pr_existentialset evars =
prlist_with_sep spc pr_evar (Evar.Set.elements evars)
let ppexistentialset evars =
diff --git a/pretyping/evd.ml b/pretyping/evd.ml
index 822a3cb7c..028361185 100644
--- a/pretyping/evd.ml
+++ b/pretyping/evd.ml
@@ -1777,11 +1777,11 @@ let print_env_short env =
let pr_evar_constraints pbs =
let pr_evconstr (pbty, env, t1, t2) =
print_env_short env ++ spc () ++ str "|-" ++ spc () ++
- print_constr t1 ++ spc () ++
+ print_constr_env env t1 ++ spc () ++
str (match pbty with
| Reduction.CONV -> "=="
| Reduction.CUMUL -> "<=") ++
- spc () ++ print_constr t2
+ spc () ++ print_constr_env env t2
in
prlist_with_sep fnl pr_evconstr pbs
diff --git a/toplevel/himsg.ml b/toplevel/himsg.ml
index 90df17427..37205e404 100644
--- a/toplevel/himsg.ml
+++ b/toplevel/himsg.ml
@@ -696,16 +696,17 @@ let pr_constraints printenv env sigma evars cstrs =
eq_named_context_val evi.evar_hyps evi'.evar_hyps) evars
then
let l = Evar.Map.bindings evars in
+ let env' = reset_with_named_context evi.evar_hyps env in
let pe =
if printenv then
pr_ne_context_of (str "In environment:") (mt ())
- (reset_with_named_context evi.evar_hyps env) sigma ++ fnl ()
+ env' sigma ++ fnl ()
else mt ()
in
let evs =
prlist_with_sep (fun () -> fnl ())
(fun (ev, evi) -> pr_existential_key sigma ev ++
- str " : " ++ pr_lconstr_env env sigma evi.evar_concl) l
+ str " : " ++ pr_lconstr_env env' sigma evi.evar_concl) l
in
pe ++ evs ++ fnl() ++ h 0 (pr_evar_constraints cstrs)
else