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

Support for Goéland and SC-TPTP #211

Merged
merged 11 commits into from
Apr 8, 2024
Merged

Conversation

SimonGuilloud
Copy link
Collaborator

This adds support for Goéland as a proof tactic, and for parsing of proofs in SC-TPTP format.

… file to use my fork of it.

Support annotations in the tptp package, support extracting inferences and parameters for proof steps. Reconstruct Hypothesis now, rest should be straightforward.
…actic. Update documentation and manual. Some improvements can still be done (support for equality, axioms...)
Copy link
Member

@sankalpgambhir sankalpgambhir left a comment

Choose a reason for hiding this comment

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

Small suggestions and a couple questions below Merge at your discretion after looking at them.

Thanks for the great work!

Copy link
Member

Choose a reason for hiding this comment

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

Should we keep generated proofs on the main repository? (opinion)

Copy link
Member

Choose a reason for hiding this comment

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

I see this relies on the Goeland files. Should this be moved to src/test/scala and also run on the CI?

case Success(value) => proof.ValidProofTactic(bot, value.steps, Seq())
case Failure(e) => e match
case e: FileNotFoundException => throw new Exception("For compatibility reasons, external provers can't be called in non-draft mode" +
" and all proofs must have already been generated and be available in static files. You can enable draft mode by adding `draft()` at the top of your workingfile.")
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
" and all proofs must have already been generated and be available in static files. You can enable draft mode by adding `draft()` at the top of your workingfile.")
" and all proofs must have already been generated and be available in static files. You can enable draft mode by adding `draft()` at the top of your working file.")


/**
* Solve a sequent using the Goéland automated theorem prover, and return the kernel proof.
* At the moment, this option is only available on Linux system.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
* At the moment, this option is only available on Linux system.
* At the moment, this option is only available on Linux systems.

else if OS.contains("win") then
Failure(OsNotSupportedException("The Goeland automated theorem prover is not yet supported on Windows."))
else
Failure(OsNotSupportedException("The Goeland automated theorem prover is for now only supported on Linux."))
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Failure(OsNotSupportedException("The Goeland automated theorem prover is for now only supported on Linux."))
Failure(OsNotSupportedException("The Goeland automated theorem prover is only supported on Linux for now."))

Copy link
Member

Choose a reason for hiding this comment

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

Question: Is the proof parser not part of the customTstpParser dependency?

@sankalpgambhir
Copy link
Member

sankalpgambhir commented Mar 8, 2024

One more thing: we should probably not keep the Goeland executable on the top level of the project. I propose making a bin/ folder for it.

@SimonGuilloud SimonGuilloud merged commit 0e2b6b7 into epfl-lara:main Apr 8, 2024
1 check 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.

2 participants