In PR #140, support for tuple quantifiers was added wherever support existed for ordinary quantification. This included adding support for the following syntax:
---- MODULE Test ----
THEOREM
ASSUME NEW <<x, y >> \in {}
PROVE TRUE
====
While this is a reasonable extension to the language (as is the invalid syntax NEW x, y \in S), it is not currently part of the TLA+ language standard, which only supports syntax of the form NEW x \in S here:
https://github.com/tlaplus/rfcs/blob/2a772d9dd11acec5d7dedf30abfab91a49de48b8/language_standard/grammar/TLAPlus2Grammar.tla#L243-L247
SANY also does not support it. Thus unless this extended syntax is proposed then approved as a RFC, support for it should be removed from TLAPM.
The specific offending code is the new FreshTuply variant of Expr.T.hyp (and all code that processes it):
|
and hyp = hyp_ wrapped |
|
and hyp_ = |
|
| Fresh of hint * shape * kind * hdom |
|
| FreshTuply of hints * hdom |
|
| Flex of hint |
|
| Defn of defn * wheredef * visibility * export |
|
| Fact of expr * visibility * time |
Found during work on #229. cc @johnyf
In PR #140, support for tuple quantifiers was added wherever support existed for ordinary quantification. This included adding support for the following syntax:
While this is a reasonable extension to the language (as is the invalid syntax
NEW x, y \in S), it is not currently part of the TLA+ language standard, which only supports syntax of the formNEW x \in Shere:https://github.com/tlaplus/rfcs/blob/2a772d9dd11acec5d7dedf30abfab91a49de48b8/language_standard/grammar/TLAPlus2Grammar.tla#L243-L247
SANY also does not support it. Thus unless this extended syntax is proposed then approved as a RFC, support for it should be removed from TLAPM.
The specific offending code is the new
FreshTuplyvariant ofExpr.T.hyp(and all code that processes it):tlapm/src/expr.mli
Lines 169 to 175 in 386cb32
Found during work on #229. cc @johnyf