Open
Conversation
* non destructive search **does not** manage typed search, only destructive search does * dmt might be incompatible with typed search
…roofs with Goeland
…ial instructions for lambdapi)
af9ca35 to
35ef441
Compare
35ef441 to
00f7d73
Compare
7f4de60 to
e2d8d75
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bug fix
Closes: #16
Description
Rewrote the deskolemization algorithm to follow the one of the paper. Greatly simplified
the code while doing so, hopefully this is more easily modifiable in the future/more
easily debuggable.
During this process, I added a new type of debug: the interrupt debug. It works as the
others debugs, but instead of printing something, it awaits for the user input. This
probably won't be useful for the main proof search procedure unless we adapt it to
interrupt goroutines etc but for sequential algorithms like deskolemization or a proof
output, it's actually quite handy to be able to follow what the algorithm is doing step by
step and avoid looking at a super long log.
I've also adapted the
GS3Sequentto implement a structure ofIProofin order to makethe proof outputs more generic by simply taking the
IProofinstead of only accepting aGS3Sequent.I hope I've not broken any output. I've taken the occasion to generalize some common
operations between the Rocq and the TPTP output.
PR dependencies
IProofinterface with a tree structure and add relevant adapter for[]Search.ProofStruct#64Test-suite update
% timeoutcommand to a test file (followed by seconds). The test fails if the time is reached.test-suite/bugs/bug_16-1.p: previous problem that made deskolemization loop infinitely.test-suite/bugs/bug_16-2.p: the same kind of problem but for preinner Skolemization.test-suite/bugs/bug_46-n.p: all the problems that failed in inner Skolemization following the optional return ofLib.ListIndexOf.test-suite/bugs_no_chk/bug_46-4.p: this test actually also triggers a substitution bug (most of the time) which makes it impossible to have it formally in the test suite. I still put it here so that we can move it back to thebugsfolder in the future.test-suite/bugs/bug_70-1/2.p: tests the output with a quantified variable that is not used in the formula.test-suite/bugs/bug_70-3.p: tests the output with a reintroduction rule.