aboutsummaryrefslogtreecommitdiff
path: root/doc/sphinx/proof-engine
diff options
context:
space:
mode:
authorEnrico Tassi2019-01-17 16:17:41 +0100
committerEnrico Tassi2019-01-18 19:05:36 +0100
commit2f3db0b605b3aa345c1fea26c263ba6793a0fa51 (patch)
treee2a10ec2f26d61149129b776693cb4af5cf259a6 /doc/sphinx/proof-engine
parentf059d18c411b4c9e2abba6d158b3a125916f38dc (diff)
[ssr] compile "=> {} y" as "=> {y} y"
Diffstat (limited to 'doc/sphinx/proof-engine')
-rw-r--r--doc/sphinx/proof-engine/ssreflect-proof-language.rst6
1 files changed, 5 insertions, 1 deletions
diff --git a/doc/sphinx/proof-engine/ssreflect-proof-language.rst b/doc/sphinx/proof-engine/ssreflect-proof-language.rst
index 92bd4dbd1d..59d64feece 100644
--- a/doc/sphinx/proof-engine/ssreflect-proof-language.rst
+++ b/doc/sphinx/proof-engine/ssreflect-proof-language.rst
@@ -1559,7 +1559,7 @@ whose general syntax is
i_view ::= {? %{%} } /@term %| /ltac:( @tactic )
.. prodn::
- i_pattern ::= @ident %| > %| _ %| ? %| * %| + %| {? @occ_switch } -> %| {? @occ_switch }<- %| [ {?| @i_item } ] %| - %| [: {+ @ident } ]
+ i_pattern ::= {? %{%} } @ident %| > %| _ %| ? %| * %| + %| {? @occ_switch } -> %| {? @occ_switch }<- %| [ {?| @i_item } ] %| - %| [: {+ @ident } ]
.. prodn::
i_block ::= [^ @ident ] %| [^~ @ident ] %| [^~ @num ]
@@ -1615,6 +1615,10 @@ annotation: views are interpreted opening the ``ssripat`` scope.
a new constant, fact, or defined constant :token:`ident`, respectively.
Note that defined constants cannot be introduced when δ-expansion is
required to expose the top variable or assumption.
+ An empty occurrence switch ``{}`` has the effect of clearing
+ the :token:`ident` before performing the introduction of :token:`ident`.
+ In other words by prefixing the :token:`ident` with ``{}`` one can
+ *replace* the context entry.
``>``
pops every variable occurring in the rest of the stack.
Type class instances are popped even if they don't occur