Skip to content

Comments

Add IProof interface with a tree structure and add relevant adapter for []Search.ProofStruct#64

Open
jrosain wants to merge 20 commits intoGoelandProver:masterfrom
jrosain:add-proof-adapter
Open

Add IProof interface with a tree structure and add relevant adapter for []Search.ProofStruct#64
jrosain wants to merge 20 commits intoGoelandProver:masterfrom
jrosain:add-proof-adapter

Conversation

@jrosain
Copy link
Member

@jrosain jrosain commented Sep 1, 2025

Description

Added a tableaux-like proof interface which all proof structures should implement. Added an adapter to []Search.ProofStruct as an example. This interface makes a proof have a tree structure, with all the relevant informations on a node: the rule and the kind of rule, the formula on which the rule is applied on, the resulting formulas, the possible formula it has been rewritten with, the possible term generated and the children proofs.

I plan to make type GS3Proof *GS3Sequent implement IProof in the near future.

This PR should make it easy to communicate between the different proof structures if needed.

PR dependencies

@jrosain jrosain requested a review from jcailler September 1, 2025 10:55
@github-actions github-actions bot added the needs:ci Needs a CI run before merging label Sep 1, 2025
@jrosain jrosain added kind:cleanup Refactoring or improvement of existing code part:proof-output About the vanilla proof output (in custom format) needs:ci Needs a CI run before merging request:ci Requests a CI run from the workflow and removed needs:ci Needs a CI run before merging labels Sep 1, 2025
@jrosain jrosain added this to the 1.2 milestone Sep 1, 2025
@github-actions github-actions bot removed needs:ci Needs a CI run before merging request:ci Requests a CI run from the workflow labels Sep 1, 2025
@jrosain jrosain added kind:enhancement New feature or upgrade of a previous one has:other-pr-dependency This PR cannot be merged before another PR (the maintainer should specify the dependency(ies)) and removed kind:cleanup Refactoring or improvement of existing code labels Sep 1, 2025
@github-actions github-actions bot added the needs:ci Needs a CI run before merging label Nov 3, 2025
Comment on lines +261 to +265
switch f := form.(type) {
case AST.All:
return f.GetForm()
case AST.Ex:
return f.GetForm()
Copy link
Member Author

Choose a reason for hiding this comment

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

This is wrong, it makes the assumption that there are no nested AST.All / AST.Ex, which isn't always the case.

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

Labels

has:other-pr-dependency This PR cannot be merged before another PR (the maintainer should specify the dependency(ies)) kind:enhancement New feature or upgrade of a previous one needs:ci Needs a CI run before merging part:proof-output About the vanilla proof output (in custom format)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants