diff options
author | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2018-03-24 17:15:28 +0100 |
---|---|---|
committer | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2018-03-27 18:49:46 +0200 |
commit | 0ca486fad19fc3da5160148ee4bce72b1e39ded3 (patch) | |
tree | 64339dfab2cb1b8c1056d52f87299a333f4aec40 /test-suite/success | |
parent | 18dca1c4310b66e012bea9a47c481676190baa5e (diff) |
Congruence: Fixing a bug with native projections.
There is a code to turn constants denoting projections into proper
primitive projections, but it did not drop parameters.
The code seems anyway redundant with an "expand_projections" which is
already present in Cctac.decompose_term. After removal of this code,
the two calls to congruence added to cc.v work.
Diffstat (limited to 'test-suite/success')
-rw-r--r-- | test-suite/success/cc.v | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test-suite/success/cc.v b/test-suite/success/cc.v index bbfe5ec42..49a8b9cf4 100644 --- a/test-suite/success/cc.v +++ b/test-suite/success/cc.v @@ -151,3 +151,17 @@ Section JLeivant. congruence. Qed. End JLeivant. + +(* An example with primitive projections *) + +Module PrimitiveProjections. +Set Primitive Projections. +Record t (A:Type) := { f : A }. +Goal forall g (a:t nat), @f nat = g -> f a = 0 -> g a = 0. +congruence. +Undo. +intros. +unfold f in H0. (* internally turn the projection to unfolded form *) +congruence. +Qed. +End PrimitiveProjections. |