aboutsummaryrefslogtreecommitdiff
path: root/theories/Init
diff options
context:
space:
mode:
authorherbelin2006-02-23 07:52:24 +0000
committerherbelin2006-02-23 07:52:24 +0000
commitc98c25749b0fb2383f21339aa6b67ae58e53ad42 (patch)
tree5e57a638b61e4a2bf7ba1f64679d3e1931489678 /theories/Init
parenta533eea9dbff0c9393345b2e42a0c388ba32523d (diff)
Ajout 'exists! x:A, P
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@8085 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/Init')
-rwxr-xr-xtheories/Init/Logic.v9
1 files changed, 9 insertions, 0 deletions
diff --git a/theories/Init/Logic.v b/theories/Init/Logic.v
index cefbb989de..f50e796827 100755
--- a/theories/Init/Logic.v
+++ b/theories/Init/Logic.v
@@ -141,6 +141,15 @@ Notation "'exists2' x : t , p & q" := (ex2 (fun x:t => p) (fun x:t => q))
format "'[' 'exists2' '/ ' x : t , '/ ' '[' p & '/' q ']' ']'")
: type_scope.
+Notation "'exists' ! x , P" :=
+ (exists x', (fun x => P) x' /\ forall x'', (fun x => P) x'' -> x' = x'')
+ (at level 200, x ident, right associativity,
+ format "'[' 'exists' ! '/ ' x , '/ ' P ']'") : type_scope.
+Notation "'exists' ! x : A , P" :=
+ (exists x' : A, (fun x => P) x' /\ forall x'':A, (fun x => P) x'' -> x' = x'')
+ (at level 200, x ident, right associativity,
+ format "'[' 'exists' ! '/ ' x : A , '/ ' P ']'") : type_scope.
+
(** Derived rules for universal quantification *)