diff options
| author | Matthieu Sozeau | 2014-09-30 01:18:24 +0200 |
|---|---|---|
| committer | Matthieu Sozeau | 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 ab678666fa..734b7853f5 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 |
