diff options
| author | barras | 2003-10-10 15:42:22 +0000 |
|---|---|---|
| committer | barras | 2003-10-10 15:42:22 +0000 |
| commit | cc1b83979b9978fb2979ae8cda86daddaa62badb (patch) | |
| tree | a13cc08f374cff641aea74a027cf6b7a85ffeb06 /theories/Init/LogicSyntax.v | |
| parent | db1658f0837918e27885c827cc29392068775fa6 (diff) | |
changement nouvelle syntaxe (pt fixes)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@4559 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/Init/LogicSyntax.v')
| -rw-r--r-- | theories/Init/LogicSyntax.v | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/theories/Init/LogicSyntax.v b/theories/Init/LogicSyntax.v new file mode 100644 index 0000000000..102e67db62 --- /dev/null +++ b/theories/Init/LogicSyntax.v @@ -0,0 +1,47 @@ +(***********************************************************************) +(* v * The Coq Proof Assistant / The Coq Development Team *) +(* <O___,, * INRIA-Rocquencourt & LRI-CNRS-Orsay *) +(* \VV/ *************************************************************) +(* // * This file is distributed under the terms of the *) +(* * GNU Lesser General Public License Version 2.1 *) +(***********************************************************************) + +(*i $Id$ i*) + +Require Export Notations. +Require Export Logic. + +(** Symbolic notations for things in [Logic.v] *) + +(* Order is important to give printing priority to fully typed ALL and + exists *) + +V7only [ Notation All := (all ?). ]. +Notation "'ALL' x | p" := (all ? [x]p) (at level 10, p at level 8) + V8only "'ALL' x , p" (at level 200, p at level 200). +Notation "'ALL' x : t | p" := (all ? [x:t]p) (at level 10, p at level 8) + V8only "'ALL' x : t , p" (at level 200). + +V7only [ Notation Ex := (ex ?). ]. +Notation "'EX' x | p" := (ex ? [x]p) (at level 10, p at level 8) + V8only "'exists' x , p" (at level 200, x at level 80). +Notation "'EX' x : t | p" := (ex ? [x:t]p) (at level 10, p at level 8) + V8only "'exists' x : t , p" (at level 200, x at level 80). + +V7only [ Notation Ex2 := (ex2 ?). ]. +Notation "'EX' x | p & q" := (ex2 ? [x]p [x]q) + (at level 10, p, q at level 8) + V8only "'exists2' x , p & q" (at level 200, x at level 80). +Notation "'EX' x : t | p & q" := (ex2 ? [x:t]p [x:t]q) + (at level 10, p, q at level 8) + V8only "'exists2' x : t , p & q" (at level 200, x at level 80). + +V7only[ +(** Parsing only of things in [Logic.v] *) + +Notation "< A > 'All' ( P )" := (all A P) (A annot, at level 1, only parsing). +Notation "< A > x = y" := (eq A x y) + (A annot, at level 1, x at level 0, only parsing). +Notation "< A > x <> y" := ~(eq A x y) + (A annot, at level 1, x at level 0, only parsing). +]. |
