-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Branch updated_enabled_cdot
on top of dune, ocaml-5 and lsp.
#95
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Otherwise the already computed weights of an operator can rely on the arity of the operator before the dependence on parameters of the definition (`Foo(x) == INSTANCE Inner`) is added to the instantiated operator signature. Parametric instantiation changes the arity of operators, so the weights list needs to be recomputed, based on the arity after instantiation has been performed.
This change ensures that the testing commands are read after the closing horizontal rule (`=====*`) of the module. To do this, the nesting depth of submodules is tracked, by incrementing the counter `submodule_nesting_depth` when encountering a module opening (`-----*\s*MODULE`), and decrementing this counter when encountering a module closing (`=====*`). Commands are read after the module's end. Previously, commands were read after the first module closing (`=====*`), which results in errors in the presence of submodules.
"VARIABLES" otherwise.
that prints the names of modules in a module context.
When instantiating inside a LET, definitions are kept, and other module units omitted. A negative shift is applied to the remaining module units. This negative shift should equal minus the number of hypotheses that the omitted module unit introduces in the context. The number of hypotheses for each module unit is computed by the function `M_t.hyps_of_modunit`.
`Module.Elab` replaces each `INSTANCE` statement with definitions. If the instantiated module extends the module `TLAPS`, then the definitions include backend pragmas (constructor `Bpragma`).
`Module.Elab` replaces each `INSTANCE` statement with definitions. If the instantiated module extends the module `TLAPS`, then the definitions include backend pragmas (constructor `Bpragma`).
This change makes fingerprints take into account the result of the proof directive AutoUSE. Previously, fingerprinting was done before any expansion of definitions, normalization, and automated expansion of definitions, expansion of ENABLED and of \cdot. This approach worked correctly for BY DEF definitions, because those definitions were included in the fingerprint as context. With this change, only for proof obligations that include the proof directive AutoUSE, the fingerprint is computed after expansion of definitions, normalization, automated expansion of definitions, expansion of ENABLED, and of \cdot. This change ensures that the proof obligation is fingerprinted with all automatic expansions of definitions applied. A test is added that catches this error.
summary of changes - test fingerprints by running `tlapm` twice - add new proof directive `ENABLEDrules` - rewrite `ENABLEDaxioms` to remove the Boolean typeness assumptions - rewrite two proof rules that previously were in `ENABLEDaxioms` and now are in `ENABLEDrules`, to remove the Boolean typeness assumptions - correct soundness check for `ENABLEDrules` (previously for `ENABLEDaxioms`) - fingerprint the level correctness of proof obligations - revise renaming of variables in `ExpandENABLED` - removal of older implementation of `ENABLEDaxioms` - `ENABLEDaxioms` was not correctly collecting primed variables - use expression level in fingerprint of definition - record name of `Bpragma` in fingerprint - implement rewriting system for `ENABLEDrewrites` - add new proof directive `ENABLEDrewrites` - add test modules
These changes are for now kept as a separate commit, in case further rebasing is needed before preparing the pull request for the branch `update_enabled_cdot`.
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
As a consequence, the TLAPS now accepts JAR paths. Closes tlaplus#3 Signed-off-by: Karolis Petrauskas <[email protected]>
… solve tlaplus#118. Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
… number of arguments. Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
Signed-off-by: Karolis Petrauskas <[email protected]>
This PR is not relevant anymore. #148 is more up to date. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is the
updated_enabled_cdot
branch merged on top of:The merge conflicts are fixed, and all the tests are passing.
It is better to merge this after the above-mentioned PRs are merged.