match exn with
RefineFailure msg -> RefineFailure (f msg)
| Uncertain msg -> Uncertain (f msg)
+ | AssertFailure msg -> prerr_endline (Lazy.force msg); AssertFailure (f msg)
| Sys.Break -> raise exn
- | _ -> assert false in
+ | _ -> prerr_endline (Printexc.to_string exn); assert false
+ in
let loc =
try
Cic.CicHash.find localization_tbl t
exn ->
enrich localization_tbl te'
~f:(fun _ ->
- lazy ("The term " ^
+ lazy ("(3)The term " ^
CicMetaSubst.ppterm_in_context metasenv'' subst'' te'
context ^ " has type " ^
CicMetaSubst.ppterm_in_context metasenv'' subst'' inferredty
| CoercGraph.NotHandled _ ->
enrich localization_tbl t
(RefineFailure
- (lazy ("The term " ^
+ (lazy ("(4)The term " ^
CicMetaSubst.ppterm_in_context ~metasenv subst t context ^
" is not a type since it has type " ^
CicMetaSubst.ppterm_in_context ~metasenv
| CoercGraph.NotMetaClosed ->
enrich localization_tbl t
(Uncertain
- (lazy ("The term " ^
+ (lazy ("(5)The term " ^
CicMetaSubst.ppterm_in_context ~metasenv subst t context ^
" is not a type since it has type " ^
CicMetaSubst.ppterm_in_context ~metasenv
| None ->
enrich localization_tbl t
(RefineFailure
- (lazy ("The term " ^
+ (lazy ("(6)The term " ^
CicMetaSubst.ppterm_in_context ~metasenv
subst t context ^
" is not a type since it has type " ^
| CoercGraph.NotHandled _ ->
enrich localization_tbl s'
(RefineFailure
- (lazy ("The term " ^
+ (lazy ("(7)The term " ^
CicMetaSubst.ppterm_in_context ~metasenv subst s' context ^
" is not a type since it has type " ^
CicMetaSubst.ppterm_in_context ~metasenv
| CoercGraph.NotMetaClosed ->
enrich localization_tbl s'
(Uncertain
- (lazy ("The term " ^
+ (lazy ("(8)The term " ^
CicMetaSubst.ppterm_in_context ~metasenv subst s' context ^
" is not a type since it has type " ^
CicMetaSubst.ppterm_in_context ~metasenv
| None ->
enrich localization_tbl s'
(RefineFailure
- (lazy ("The term " ^
+ (lazy ("(9)The term " ^
CicMetaSubst.ppterm_in_context ~metasenv subst s' context ^
" is not a type since it has type " ^
CicMetaSubst.ppterm_in_context ~metasenv
type_of_aux subst metasenv context expected_type ugraph1
in
let actual_type = CicReduction.whd ~subst context actual_type in
+ prerr_endline (CicPp.ppterm expected_type');
+ prerr_endline (CicPp.ppterm actual_type);
let subst,metasenv,ugraph3 =
try
fo_unif_subst subst context metasenv
expected_type' actual_type ugraph2
with
exn ->
+ prerr_endline (CicMetaSubst.ppmetasenv subst metasenv);
+ prerr_endline (CicMetaSubst.ppsubst subst ~metasenv);
enrich localization_tbl term' exn
~f:(function _ ->
- lazy ("The term " ^
+ lazy ("(10)The term " ^
CicMetaSubst.ppterm_in_context ~metasenv subst term'
context ^ " has type " ^
CicMetaSubst.ppterm_in_context ~metasenv subst actual_type
exn ->
enrich localization_tbl constructor'
~f:(fun _ ->
- lazy ("The term " ^
+ lazy ("(11)The term " ^
CicMetaSubst.ppterm_in_context metasenv subst p'
context ^ " has type " ^
CicMetaSubst.ppterm_in_context metasenv subst actual_type
exn ->
enrich localization_tbl p exn
~f:(function _ ->
- lazy ("The term " ^
+ lazy ("(12)The term " ^
CicMetaSubst.ppterm_in_context ~metasenv subst p
context ^ " has type " ^
CicMetaSubst.ppterm_in_context ~metasenv subst instance'
exn ->
enrich localization_tbl bo exn
~f:(function _ ->
- lazy ("The term " ^
+ lazy ("(13)The term " ^
CicMetaSubst.ppterm_in_context ~metasenv subst bo
context' ^ " has type " ^
CicMetaSubst.ppterm_in_context ~metasenv subst ty_of_bo
exn ->
enrich localization_tbl bo exn
~f:(function _ ->
- lazy ("The term " ^
+ lazy ("(14)The term " ^
CicMetaSubst.ppterm_in_context ~metasenv subst bo
context' ^ " has type " ^
CicMetaSubst.ppterm_in_context ~metasenv subst ty_of_bo
| CoercGraph.NotHandled _ ->
enrich localization_tbl hete exn
~f:(fun _ ->
- (lazy ("The term " ^
+ (lazy ("(15)The term " ^
CicMetaSubst.ppterm_in_context ~metasenv subst hete
context ^ " has type " ^
CicMetaSubst.ppterm_in_context ~metasenv subst hety
| CoercGraph.NotMetaClosed ->
enrich localization_tbl hete exn
~f:(fun _ ->
- (lazy ("The term " ^
+ (lazy ("(16)The term " ^
CicMetaSubst.ppterm_in_context ~metasenv subst hete
context ^ " has type " ^
CicMetaSubst.ppterm_in_context ~metasenv subst hety
| None ->
enrich localization_tbl hete
~f:(fun _ ->
- (lazy ("The term " ^
+ (lazy ("(1)The term " ^
CicMetaSubst.ppterm_in_context ~metasenv subst hete
context ^ " has type " ^
CicMetaSubst.ppterm_in_context ~metasenv subst hety
| exn ->
enrich localization_tbl hete
~f:(fun _ ->
- (lazy ("The term " ^
+ (lazy ("(2)The term " ^
CicMetaSubst.ppterm_in_context ~metasenv subst hete
context ^ " has type " ^
CicMetaSubst.ppterm_in_context ~metasenv subst hety