aboutsummaryrefslogtreecommitdiffhomepage
path: root/contrib/setoid_ring/newring.ml4
diff options
context:
space:
mode:
authorGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-08-27 15:48:29 +0000
committerGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-08-27 15:48:29 +0000
commit1b127e845bb8043de12c965d0407a23bfb5def70 (patch)
tree3d116529a4346c1aa822c6e46b40f0d598967a5d /contrib/setoid_ring/newring.ml4
parentee7680a6ec45ee7c3367479fecc562aae56c6843 (diff)
Major speed and space improvements in setoid rewrite:
- Avoid using projections for singleton classes. Divides the size of proofs by 2 and simplifies the typechecking as well. - Switch to the new discrimination net implementation for classes, with the current convention that all constants are unfoldable. Users can add "Typeclasses Opaque" declarations make the dnet discriminate more, otherwise it should be entirely backward-compatible. - Fix bug introduced in r11333 in "transitivity" tactic in presence of coercions. Up to 15% gains on setoid-intensive files like Ring_polynom and Field_theory. More importantly, performance should not decrease significantly by adding new Morphism/Setoid declarations. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11337 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'contrib/setoid_ring/newring.ml4')
-rw-r--r--contrib/setoid_ring/newring.ml47
1 files changed, 4 insertions, 3 deletions
diff --git a/contrib/setoid_ring/newring.ml4 b/contrib/setoid_ring/newring.ml4
index 70087b2d4..a0ef16438 100644
--- a/contrib/setoid_ring/newring.ml4
+++ b/contrib/setoid_ring/newring.ml4
@@ -452,12 +452,13 @@ let (theory_to_obj, obj_to_theory) =
let setoid_of_relation env a r =
+ let evm = Evd.empty in
try
lapp coq_mk_Setoid
[|a ; r ;
- Class_tactics.reflexive_proof env a r ;
- Class_tactics.symmetric_proof env a r ;
- Class_tactics.transitive_proof env a r |]
+ Class_tactics.reflexive_proof env evm a r ;
+ Class_tactics.symmetric_proof env evm a r ;
+ Class_tactics.transitive_proof env evm a r |]
with Not_found ->
error "cannot find setoid relation"