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

Fixing #11 #23

Merged
merged 20 commits into from
Mar 20, 2024
Merged

Fixing #11 #23

merged 20 commits into from
Mar 20, 2024

Conversation

aseemr
Copy link
Contributor

@aseemr aseemr commented Mar 20, 2024

The PR fixes #11, following the detective work done by @mtzguido.

When finding a non-informative witness for type t, we were creating the witness term e, and then calling the checker to get the derivation of (e : non_informative t). But we can construct this derivation by appealing to the typing of the non-informative combinators in Pulse.Lib.Core and asking the callers of get_non_informative_witness to provide us typing for t.

The PR follows this route for t being unit, prop, erased, or squash type. There are other cases there, e.g. ghost refs and pcm refs. Will add them soon.

@aseemr aseemr merged commit c59c78b into main Mar 20, 2024
2 checks passed
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.

Pulse re-typechecks postconditions of called functions
1 participant