diff options
| author | Enrico Tassi | 2019-01-17 16:17:41 +0100 |
|---|---|---|
| committer | Enrico Tassi | 2019-01-18 19:05:36 +0100 |
| commit | 2f3db0b605b3aa345c1fea26c263ba6793a0fa51 (patch) | |
| tree | e2a10ec2f26d61149129b776693cb4af5cf259a6 /doc/sphinx/proof-engine | |
| parent | f059d18c411b4c9e2abba6d158b3a125916f38dc (diff) | |
[ssr] compile "=> {} y" as "=> {y} y"
Diffstat (limited to 'doc/sphinx/proof-engine')
| -rw-r--r-- | doc/sphinx/proof-engine/ssreflect-proof-language.rst | 6 |
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 |
