diff options
| author | Gaëtan Gilbert | 2017-11-06 13:09:38 +0100 |
|---|---|---|
| committer | Gaëtan Gilbert | 2018-02-10 01:34:19 +0100 |
| commit | b641379bb1ce569e46f39e16736640a4223a5758 (patch) | |
| tree | e47b0d15f9ea08a02818cd86f362069678d9e36f /kernel/reduction.mli | |
| parent | e6bffa602c0d744a24d7ea7418020ebd8b7dfbbf (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.mli | 11 |
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 |
