Skip to content
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

Fix: incorrect pruning of axiom with monomorphization. #4396

Merged
merged 3 commits into from
Aug 7, 2023

Conversation

zafer-esen
Copy link
Collaborator

An axiom in DafnyPrelude was incorrectly being pruned away with the monomorphic type encoding, because it was losing its (polymorphic) quantifier and trigger. This meant automatic edge inference from triggers was no longer applicable. Moved the axiom in question into a uses clause to prevent it from being pruned.

The change has no affect on other type encodings arguments (current default) and predicates.

There is more discussion related to the fix here in Boogie PR 767.

By submitting this pull request, I confirm that my contribution is made under the terms of the MIT license.

An axiom in DafnyPrelude was incorrectly being pruned away with
the monomorphic type encoding. Moved it into a uses clause to prevent
pruning.
@keyboardDrummer keyboardDrummer enabled auto-merge (squash) August 7, 2023 19:21
@zafer-esen zafer-esen changed the title Fix: incorrect pruning of axiom with monomorhphization. Fix: incorrect pruning of axiom with monomorphization. Aug 7, 2023
@keyboardDrummer keyboardDrummer merged commit ea54998 into dafny-lang:master Aug 7, 2023
18 checks passed
keyboardDrummer pushed a commit to keyboardDrummer/dafny that referenced this pull request Sep 15, 2023
)

An axiom in DafnyPrelude was incorrectly being pruned away with the
`monomorphic` type encoding, because it was losing its (polymorphic)
quantifier and trigger. This meant automatic edge inference from
triggers was no longer applicable. Moved the axiom in question into a
uses clause to prevent it from being pruned.

The change has no affect on other type encodings `arguments` (current
default) and `predicates`.

There is more discussion related to the fix here in [Boogie PR
767](boogie-org/boogie#767).

<small>By submitting this pull request, I confirm that my contribution
is made under the terms of the [MIT
license](https://github.com/dafny-lang/dafny/blob/master/LICENSE.txt).</small>
keyboardDrummer pushed a commit that referenced this pull request Sep 19, 2023
An axiom in DafnyPrelude was incorrectly being pruned away with the
`monomorphic` type encoding, because it was losing its (polymorphic)
quantifier and trigger. This meant automatic edge inference from
triggers was no longer applicable. Moved the axiom in question into a
uses clause to prevent it from being pruned.

The change has no affect on other type encodings `arguments` (current
default) and `predicates`.

There is more discussion related to the fix here in [Boogie PR
767](boogie-org/boogie#767).

<small>By submitting this pull request, I confirm that my contribution
is made under the terms of the [MIT
license](https://github.com/dafny-lang/dafny/blob/master/LICENSE.txt).</small>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants