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

Interactive prover that stops when oracle returns nothing #644

Merged
merged 4 commits into from
Jun 14, 2024

Conversation

felixlinker
Copy link
Contributor

I implemented a proof-method for the interactive prover that autoproves unless the oracle returns no ranking. I often had to deal with complicated theories that don't terminate in one case. Finding this case was a pain. This method should help in these cases.

I also think that the new Ranking type can be extended with more interesting "instructions" as I call them alter as well, i.e., this typing framework is desirable in its own right. For example, backtracking could be implemented using this framework.

image

@cascremers
Copy link
Member

Does it makes sense to display and provide this option if there is no oracle file? Should we maybe check if the oracle file exists beforehand?

@felixlinker
Copy link
Contributor Author

We could. If there's no oracle, it just behave like pressing a, though. I'll look into it!

@felixlinker
Copy link
Contributor Author

@cascremers Implemented! The only downside now is though that the key combo o still "works". When you press it on a file that does not have an oracle, you jump back to the proof's root. Not the worst, but also not ideal, and could confuse/annoy users. What do you think? Keep the change or don't? Alternatively, I'd suggest to add a comment in parentheses saying that it does the same as pressing a if there's no oracle/tactic).

From how I understand the JavaScript code, there's no easy way to fix this behavior. It's required in other contexts (#249).

if(firstStep.length >= 1) {

@cascremers
Copy link
Member

This looks fine, thanks!

@cascremers cascremers merged commit beb4f03 into tamarin-prover:develop Jun 14, 2024
1 check passed
@felixlinker felixlinker deleted the oracle-prover branch June 18, 2024 09:04
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.

None yet

2 participants