Skip to content

Remove proof field from Prover #4250

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

Merged
merged 2 commits into from
Apr 16, 2024
Merged

Remove proof field from Prover #4250

merged 2 commits into from
Apr 16, 2024

Conversation

nwatson22
Copy link
Contributor

Porting runtimeverification/pyk#960 to K repo.

APRProver.step_proof currently assumes the proof being passed in the APRProofStep it takes as argument is the same as self.proof, i.e. when it calls self.nonzero_depth, self._check_subsume, and self._checked_for_bounded assumes the proof being passed in is always the same for a single APRProver instance.

This is a problem in itself, but changing this should also move us closer an implementation that can run step_proof on different nodes in parallel, by reducing its dependency on external data. A next step could be initializing a new KCFGExplore every step_proof instead of using self.kcfg_explore to access the KoreClient.

  • Removes proof field from Prover and APRProver.
  • Makes methods that read/write self.prover take a prover argument
  • Proof initialization is performed separately in init_proof at the beginning of advance_proof rather than in the Prover constructor.
  • Moves _checked_for_terminal and _checked_for_bounded into APRProof, as they refer to nodes of a specific proof.

@ehildenb
Copy link
Member

@nwatson22 you probably based this on master and need to rebase your changes onto develop instead.

@nwatson22
Copy link
Contributor Author

@nwatson22 you probably based this on master and need to rebase your changes onto develop instead.

@ehildenb I think I did this correctly but could you check to make sure it looks right now?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants