-
Notifications
You must be signed in to change notification settings - Fork 1
Description
In the same vein as #17 and #18, some "janitorial"-level changes to the language spec. Actually it isn't really clear that this construct was ever fully part of the language spec, but it is fully supported by SANY so that probably elevates it to the level of deserving discussion.
Many TLAPM users will be familiar with the ASSUME/PROVE construct:
---- MODULE Test ----
THEOREM
ASSUME TRUE
PROVE TRUE
====SANY also supports another construct, seemingly a temporal variant:
---- MODULE Test ----
THEOREM
[]ASSUME TRUE
[]PROVE TRUE
====TLAPM does not parse this file. What the construct does or means I have no idea, as it is not covered in the TLA+2 language guide nor in any other document I can find. It is, however, supported at both the syntactic and semantic level of the SANY TLA+ parser; see references to it here: https://github.com/search?q=repo%3Atlaplus%2Ftlaplus%20%5B%5DASSUME&type=code
A comment reveals it was added by Leslie Lamport February 9th, 2011.
Unless this construct enables writing proofs that can currently not be written or could be associated with some compelling feature, I propose removing it from (not adding it to?) the TLA+ language specification. Work entailed:
- Remove SANY support for this construct at the semantic level
- Remove SANY support for this construct at the syntax level
- Amend the various standardized test corpora to ensure all TLA+ parsers reject this syntax
Found during work on tlaplus/tlaplus#1140