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

Updating prover #260

Merged
merged 15 commits into from
Nov 21, 2023
Merged

Updating prover #260

merged 15 commits into from
Nov 21, 2023

Conversation

dkcumming
Copy link
Collaborator

@dkcumming dkcumming commented Nov 17, 2023

This PR:

  • Adds booster as backend option
  • Adds runLemma doneLemma paradigm
  • Adds enforced simplification of initial CTerm
  • Uncomments previously failing proof (statement.4)
  • Fixed error reporting failure info for proofs
  • module MIR-SYMBOLIC now includes module MIR
  • Adds a trivial empty MIR program to CI (empty-program.k)

@dkcumming dkcumming self-assigned this Nov 17, 2023
Comment on lines 73 to 82
syntax KItem ::= runLemma ( Step ) | doneLemma ( Step )
// -------------------------------------------------------
rule <k> runLemma(S) => doneLemma(S) ... </k>

syntax Step ::= Bool | Int | MIRValue
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I imagine it is not ideal to have this in MIR-SYMBOLIC, in truth I was running into errors trying to add this in any other file because of adding declarations in proof module. Exactly how to avoid that error I am unsure of.

@dkcumming dkcumming added the kmir-prove prover support label Nov 17, 2023
@dkcumming dkcumming marked this pull request as ready for review November 20, 2023 03:28
Copy link
Contributor

@Baltoli Baltoli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

kmir/k-src/mir.md Outdated Show resolved Hide resolved
// imports MIR-FINALIZATION
imports MIR

syntax KItem ::= runLemma ( Step ) | doneLemma ( Step )
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe that the RPC-based prover supports functional claims directly these days, so this run / done workaround is only strictly needed for the text-based kprove workflow. Feel free to leave it in for your own development purposes, but just making you aware!

@dkcumming dkcumming merged commit ccb2f5d into master Nov 21, 2023
4 checks passed
@dkcumming dkcumming deleted the feature/halt-rule branch November 21, 2023 10:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kmir-prove prover support
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants