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

The Reprove top-level command #134

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

JimmyZJX
Copy link

This PR implements the feature requested by #133.

I refer to the original feature request and comment on my modifications:

The command added to Abella is Reprove, since most of the top-level commands are capitalized.

Check that the last Top-level command was, in fact, Theorem. The reprove keyword should not be allowed immediately following a Definition, for example.

The check is done by a last_top_command variable introduced.

Check that the previous theorem has a completed proof.

The normal behavior of top-level commands is that one cannot invoke during the proof status. I don't check if the last proof was accepted, aborted, or partially skipped.

Reinstate the previous theorem and start reading the following text as a new proof of that theorem.

This is done by re-invoking the last Theorem command.

Example:

Theorem test_reprove : forall (a : o), a = a.
search.
Reprove.
intros. search.
Reprove.
intros. assert a = a. search.

@JimmyZJX JimmyZJX changed the title The reprove top-level command The Reprove top-level command Mar 11, 2021
@chaudhuri chaudhuri force-pushed the master branch 2 times, most recently from a7577c4 to ddfb615 Compare October 31, 2023 23: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.

1 participant