aboutsummaryrefslogtreecommitdiff
path: root/kernel/reduction.mli
diff options
context:
space:
mode:
authorGaëtan Gilbert2017-11-06 13:09:38 +0100
committerGaëtan Gilbert2018-02-10 01:34:19 +0100
commitb641379bb1ce569e46f39e16736640a4223a5758 (patch)
treee47b0d15f9ea08a02818cd86f362069678d9e36f /kernel/reduction.mli
parente6bffa602c0d744a24d7ea7418020ebd8b7dfbbf (diff)
Factorize code for comparing maybe-cumulative inductives.
The part in Reduction should be semantics preserving, but Reductionops only tried cumulativity if equality fails. This is probably wrong so I changed it.
Diffstat (limited to 'kernel/reduction.mli')
-rw-r--r--kernel/reduction.mli11
1 files changed, 4 insertions, 7 deletions
diff --git a/kernel/reduction.mli b/kernel/reduction.mli
index 573e4c8bde..0f1d681bc2 100644
--- a/kernel/reduction.mli
+++ b/kernel/reduction.mli
@@ -35,15 +35,12 @@ type 'a extended_conversion_function =
type conv_pb = CONV | CUMUL
-type 'a universe_compare =
+type 'a universe_compare =
{ (* Might raise NotConvertible *)
- compare : env -> conv_pb -> Sorts.t -> Sorts.t -> 'a -> 'a;
+ compare_sorts : env -> conv_pb -> Sorts.t -> Sorts.t -> 'a -> 'a;
compare_instances: flex:bool -> Univ.Instance.t -> Univ.Instance.t -> 'a -> 'a;
- conv_inductives : conv_pb -> (Declarations.mutual_inductive_body * int) -> Univ.Instance.t -> int ->
- Univ.Instance.t -> int -> 'a -> 'a;
- conv_constructors : (Declarations.mutual_inductive_body * int * int) ->
- Univ.Instance.t -> int -> Univ.Instance.t -> int -> 'a -> 'a;
- }
+ compare_cumul_instances : conv_pb -> Univ.abstract_cumulativity_info ->
+ Univ.Instance.t -> Univ.Instance.t -> 'a -> 'a }
type 'a universe_state = 'a * 'a universe_compare