aboutsummaryrefslogtreecommitdiffhomepage
path: root/theories/FSets/FSetWeakInterface.v
diff options
context:
space:
mode:
authorGravatar letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7>2006-03-17 09:56:54 +0000
committerGravatar letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7>2006-03-17 09:56:54 +0000
commitf78ee253bfced259d29b2e25ae6f8890be750ce3 (patch)
tree65bb9af152f223d08c271778aeacf6fa4c993c98 /theories/FSets/FSetWeakInterface.v
parent9547e150c40e43cb7ae7c39f008d33b15a182829 (diff)
ajout d'un debut de proprietes pour les FSetWeak
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@8641 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/FSets/FSetWeakInterface.v')
-rw-r--r--theories/FSets/FSetWeakInterface.v20
1 files changed, 12 insertions, 8 deletions
diff --git a/theories/FSets/FSetWeakInterface.v b/theories/FSets/FSetWeakInterface.v
index 2cf5d5d22..598a75924 100644
--- a/theories/FSets/FSetWeakInterface.v
+++ b/theories/FSets/FSetWeakInterface.v
@@ -38,7 +38,18 @@ Module Type S.
Definition elt := E.t.
Parameter t : Set. (** the abstract type of sets *)
-
+
+ (** Logical predicates *)
+ Parameter In : elt -> t -> Prop.
+ Definition Equal s s' := forall a : elt, In a s <-> In a s'.
+ Definition Subset s s' := forall a : elt, In a s -> In a s'.
+ Definition Empty s := forall a : elt, ~ In a s.
+ Definition For_all (P : elt -> Prop) s := forall x, In x s -> P x.
+ Definition Exists (P : elt -> Prop) s := exists x, In x s /\ P x.
+
+ Notation "s [=] t" := (Equal s t) (at level 70, no associativity).
+ Notation "s [<=] t" := (Subset s t) (at level 70, no associativity).
+
Parameter empty : t.
(** The empty set. *)
@@ -124,13 +135,6 @@ Module Type S.
Variable s s' s'' : t.
Variable x y z : elt.
- Parameter In : elt -> t -> Prop.
- Definition Equal s s' := forall a : elt, In a s <-> In a s'.
- Definition Subset s s' := forall a : elt, In a s -> In a s'.
- Definition Empty s := forall a : elt, ~ In a s.
- Definition For_all (P : elt -> Prop) s := forall x, In x s -> P x.
- Definition Exists (P : elt -> Prop) s := exists x, In x s /\ P x.
-
(** Specification of [In] *)
Parameter In_1 : E.eq x y -> In x s -> In y s.