aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel/declarations.ml
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/declarations.ml')
-rw-r--r--kernel/declarations.ml8
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/declarations.ml b/kernel/declarations.ml
index b995f2e4a..3e5b10f3b 100644
--- a/kernel/declarations.ml
+++ b/kernel/declarations.ml
@@ -180,6 +180,12 @@ type recarg =
| Mrec of inductive
| Imbr of inductive
+let eq_recarg r1 r2 = match r1, r2 with
+| Norec, Norec -> true
+| Mrec i1, Mrec i2 -> eq_ind i1 i2
+| Imbr i1, Imbr i2 -> eq_ind i1 i2
+| _ -> false
+
let subst_recarg sub r = match r with
| Norec -> r
| Mrec (kn,i) -> let kn' = subst_ind sub kn in
@@ -204,7 +210,7 @@ let dest_recarg p = fst (Rtree.dest_node p)
*)
let dest_subterms p =
let (ra,cstrs) = Rtree.dest_node p in
- assert (ra<>Norec);
+ assert (match ra with Norec -> false | _ -> true);
Array.map (fun t -> Array.to_list (snd (Rtree.dest_node t))) cstrs
let recarg_length p j =