feat: De-Bruijn Style Nameless Bound Variables#79
Open
jrosain wants to merge 30 commits intoGoelandProver:masterfrom
Open
feat: De-Bruijn Style Nameless Bound Variables#79jrosain wants to merge 30 commits intoGoelandProver:masterfrom
jrosain wants to merge 30 commits intoGoelandProver:masterfrom
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)
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.
Description
Simplify internal representation of formulas by using De Bruijn's variables (i.e., bound variables are now integers). It greatly simplifies the operations we want to do on formulas and terms, e.g., instantiation and substitution, as well as the representation of quantifiers (that do not have multiple variables anymore).
I've also tried to remove unused stuff that complexified the base structure of terms and formulas. I couldn't get rid of the formula field in the metavariables though. I've also factorized the operations on n-ari and binary formulas, like it has been done for the quantifiers. Note that as we don't preserve the names anymore, a meta is always called
Miwhereiis its unique index. A bound variable is calledXi.I've temporarily disabled the cache of the metavariables, introducing hashconsing will fix this.
PR dependencies
Test-suite update
Updated the expected output of the .out files with the de bruijn bound variables.