aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--toplevel/command.ml12
1 files changed, 10 insertions, 2 deletions
diff --git a/toplevel/command.ml b/toplevel/command.ml
index 44e1b2d941..f4887ae4d8 100644
--- a/toplevel/command.ml
+++ b/toplevel/command.ml
@@ -314,7 +314,7 @@ let declare_eq_scheme sp =
definition_message nam
done
with Not_found ->
- error "Your type contains Parameter without a boolean equality"
+ error "Your type contains Parameters without a boolean equality"
(* decidability of eq *)
@@ -441,7 +441,11 @@ let declare_eliminations sp =
if (!eq_flag) then (declare_eq_scheme sp);
for i = 0 to Array.length mib.mind_packets - 1 do
declare_one_elimination (sp,i);
- if (!eq_flag) then (make_eq_decidability (sp,i));
+ try
+ if (!eq_flag) then (make_eq_decidability (sp,i))
+ with _ ->
+ Pfedit.delete_current_proof();
+ message "Error while computing decidability scheme. Please report."
done;
end
@@ -970,7 +974,11 @@ tried to declare different schemes at once *)
List.iter ( fun indname ->
let ind = Nametab.inductive_of_reference indname
in declare_eq_scheme (fst ind);
+ try
make_eq_decidability ind
+ with _ ->
+ Pfedit.delete_current_proof();
+ message "Error while computing decidability scheme. Please report."
) escheme
)