diff options
author | Matthieu Sozeau <matthieu.sozeau@inria.fr> | 2014-09-30 01:18:24 +0200 |
---|---|---|
committer | Matthieu Sozeau <matthieu.sozeau@inria.fr> | 2014-09-30 01:21:02 +0200 |
commit | 2bbf1305a080667d8547c44b2684010aba3d8d45 (patch) | |
tree | 42d2575fa01cc6f13eda2fb08ab26967f7834c04 /kernel/term.ml | |
parent | 09d13ea251ba9f271fd698edd0d6560b88996a65 (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.ml | 6 |
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 |