aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel/term.ml
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <matthieu.sozeau@inria.fr>2014-09-30 01:18:24 +0200
committerGravatar Matthieu Sozeau <matthieu.sozeau@inria.fr>2014-09-30 01:21:02 +0200
commit2bbf1305a080667d8547c44b2684010aba3d8d45 (patch)
tree42d2575fa01cc6f13eda2fb08ab26967f7834c04 /kernel/term.ml
parent09d13ea251ba9f271fd698edd0d6560b88996a65 (diff)
Simplify evarconv thanks to new delta status of projections,
using whd_state_gen to handle unfolding. Add an isProj/destProj in term. Use the proper environment everywhere in unification.ml.
Diffstat (limited to 'kernel/term.ml')
-rw-r--r--kernel/term.ml6
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/term.ml b/kernel/term.ml
index ab678666f..734b7853f 100644
--- a/kernel/term.ml
+++ b/kernel/term.ml
@@ -310,6 +310,12 @@ let destCase c = match kind_of_term c with
let isCase c = match kind_of_term c with Case _ -> true | _ -> false
+let isProj c = match kind_of_term c with Proj _ -> true | _ -> false
+
+let destProj c = match kind_of_term c with
+ | Proj (p, c) -> (p, c)
+ | _ -> raise DestKO
+
let destFix c = match kind_of_term c with
| Fix fix -> fix
| _ -> raise DestKO