diff options
author | Maxime Dénès <mail@maximedenes.fr> | 2018-03-08 11:30:52 +0100 |
---|---|---|
committer | Maxime Dénès <mail@maximedenes.fr> | 2018-03-08 11:30:52 +0100 |
commit | 88ac5d92ce1a2f97c805f715021b2fed3f4c624f (patch) | |
tree | aab22e99f61c5330e68c3d4570e8ea005bf22a84 | |
parent | bf80766b128f8f520f640193b5fb782e31fbc7aa (diff) | |
parent | ac7222c70266ee2b729b81e743adc7076191e6c0 (diff) |
Merge PR #6743: Add notation {x & P} for sigT
-rw-r--r-- | CHANGES | 1 | ||||
-rw-r--r-- | theories/Init/Notations.v | 1 | ||||
-rw-r--r-- | theories/Init/Specif.v | 1 |
3 files changed, 3 insertions, 0 deletions
@@ -281,6 +281,7 @@ Standard Library lemmas such as INR_IZR_INZ should be used instead. - Real constants are now represented using IZR rather than R0 and R1; this might cause rewriting rules to fail to apply to constants. +- Added new notation {x & P} for sigT (without a type for x) Plugins diff --git a/theories/Init/Notations.v b/theories/Init/Notations.v index 683a442cb..72073bb4f 100644 --- a/theories/Init/Notations.v +++ b/theories/Init/Notations.v @@ -77,6 +77,7 @@ Reserved Notation "{ x | P & Q }" (at level 0, x at level 99). Reserved Notation "{ x : A | P }" (at level 0, x at level 99). Reserved Notation "{ x : A | P & Q }" (at level 0, x at level 99). +Reserved Notation "{ x & P }" (at level 0, x at level 99). Reserved Notation "{ x : A & P }" (at level 0, x at level 99). Reserved Notation "{ x : A & P & Q }" (at level 0, x at level 99). diff --git a/theories/Init/Specif.v b/theories/Init/Specif.v index 137bd3a0f..b6afba29a 100644 --- a/theories/Init/Specif.v +++ b/theories/Init/Specif.v @@ -51,6 +51,7 @@ Notation "{ x | P & Q }" := (sig2 (fun x => P) (fun x => Q)) : type_scope. Notation "{ x : A | P }" := (sig (A:=A) (fun x => P)) : type_scope. Notation "{ x : A | P & Q }" := (sig2 (A:=A) (fun x => P) (fun x => Q)) : type_scope. +Notation "{ x & P }" := (sigT (fun x => P)) : type_scope. Notation "{ x : A & P }" := (sigT (A:=A) (fun x => P)) : type_scope. Notation "{ x : A & P & Q }" := (sigT2 (A:=A) (fun x => P) (fun x => Q)) : type_scope. |