diff options
author | Matthieu Sozeau <mattam@mattam.org> | 2014-05-26 13:58:56 +0200 |
---|---|---|
committer | Matthieu Sozeau <mattam@mattam.org> | 2014-05-26 14:16:26 +0200 |
commit | 15999903f875f4b5dbb3d5240d2ca39acc3cd777 (patch) | |
tree | 9906d3cf7d95d4d3f0e996811aa429532b825f0d /theories/Classes/CEquivalence.v | |
parent | d8176e6baaa33692ed82b9ac3c6e57e85f51dff0 (diff) |
- Fix in kernel conversion not folding the universe constraints
correctly when comparing stacks.
- Disallow Type i <= Prop/Set constraints, that would otherwise allow
constraints that make a universe lower than Prop.
- Fix stm/lemmas that was pushing constraints to the global context,
it is done depending on the constant/variable polymorphic status now.
- Adapt generalized rewriting in Type code to these fixes.
Diffstat (limited to 'theories/Classes/CEquivalence.v')
-rw-r--r-- | theories/Classes/CEquivalence.v | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/theories/Classes/CEquivalence.v b/theories/Classes/CEquivalence.v index b540feabf..8610f18c3 100644 --- a/theories/Classes/CEquivalence.v +++ b/theories/Classes/CEquivalence.v @@ -107,11 +107,11 @@ Section Respecting. Definition respecting `(eqa : Equivalence A (R : crelation A), eqb : Equivalence B (R' : crelation B)) : Type := - { morph : A -> B | respectful R R' morph morph }. + { morph : A -> B & respectful R R' morph morph }. Program Instance respecting_equiv `(eqa : Equivalence A R, eqb : Equivalence B R') : Equivalence (fun (f g : respecting eqa eqb) => - forall (x y : A), R x y -> R' (proj1_sig f x) (proj1_sig g y)). + forall (x y : A), R x y -> R' (projT1 f x) (projT1 g y)). Solve Obligations with unfold respecting in * ; simpl_crelation ; program_simpl. |