From 2d30abfc8961b55e5a50671029b94a46a43b0026 Mon Sep 17 00:00:00 2001 From: msozeau Date: Wed, 9 Apr 2008 21:15:42 +0000 Subject: Verify Setoid is loaded only if we're not in Coq.Classes.*. Add explicit loading and exporting of Setoid to ROmega which uses it for iff. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10775 85f007b7-540e-0410-9357-904b9bb8a0f7 --- contrib/romega/ROmega.v | 1 + contrib/romega/ReflOmegaCore.v | 2 +- tactics/class_tactics.ml4 | 13 ++++++++++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/contrib/romega/ROmega.v b/contrib/romega/ROmega.v index 991267ee5..68bc43bb6 100644 --- a/contrib/romega/ROmega.v +++ b/contrib/romega/ROmega.v @@ -7,4 +7,5 @@ *************************************************************************) Require Import ReflOmegaCore. +Require Export Setoid. Require Export PreOmega. diff --git a/contrib/romega/ReflOmegaCore.v b/contrib/romega/ReflOmegaCore.v index ee44d6d21..46512aab0 100644 --- a/contrib/romega/ReflOmegaCore.v +++ b/contrib/romega/ReflOmegaCore.v @@ -7,7 +7,7 @@ *************************************************************************) -Require Import List Bool Sumbool EqNat Ring_theory Decidable. +Require Import List Bool Sumbool EqNat Setoid Ring_theory Decidable. Delimit Scope Int_scope with I. (* Abstract Integers. *) diff --git a/tactics/class_tactics.ml4 b/tactics/class_tactics.ml4 index 8cf4d90a6..f00515ab6 100644 --- a/tactics/class_tactics.ml4 +++ b/tactics/class_tactics.ml4 @@ -1417,13 +1417,20 @@ let general_s_rewrite_in id l2r c ~new_goals gl = let meta = Evarutil.new_meta() in let hypinfo = ref (get_hyp gl c (Some id) l2r) in cl_rewrite_clause_aux ~flags:general_rewrite_flags hypinfo meta [] (Some (([],id), [])) gl - + +let classes_dirpath = + make_dirpath (List.map id_of_string ["Classes";"Coq"]) + +let init_rewrite () = + if is_dirpath_prefix_of classes_dirpath (Lib.cwd ()) then () + else check_required_library ["Coq";"Setoids";"Setoid"] + let general_s_rewrite_clause x = - init_setoid (); + init_rewrite (); match x with | None -> general_s_rewrite | Some id -> general_s_rewrite_in id - + let _ = Equality.register_general_setoid_rewrite_clause general_s_rewrite_clause (* [setoid_]{reflexivity,symmetry,transitivity} tactics *) -- cgit v1.2.3