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

WIP: Reference terms #159

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

WIP: Reference terms #159

wants to merge 1 commit into from

Conversation

mattulbrich
Copy link
Owner

Introduce reference term. They can be used to model reference dependencies over rule applications.
They will be removed from the terms before adding them to the sequent. But before they indicate dependencies.

If we apply swapAdd on the sequent

phi |- 0 < x+y

then the proof application would contain the replacement

S.0.1  ---->  y«S.0.1.1» + x«S.0.1.0»

which allows the reference mapping to track that.

Still needs discussion. Not ready for merge yet. @JonasKlamroth

@JonasKlamroth
Copy link
Collaborator

i like the basic idea however i am not quite sure if we do in fact need those or if this is already possible to be modeled with the existing TermParameters. As long as those references are only needed after rule applications i feel like TermParameters should already be able to capture this

@mattulbrich
Copy link
Owner Author

Ok.

In the above example: How would you resolve the reference for "x" if the substitution read

S.0.1 ---> y+x

From this information alone it is not possible to know the origin of "x".
Yes, it may be possible to compute this from the object identities ("x" is the same term which used to be at S.0.1.0 and we can attach it. But this has two drawbacks:

  • if anyone uses object sharing (reusing objects for the same term), this mechanism breaks.
  • One is restricted to referencing objects which occur verbatim in the sequent.

@JonasKlamroth
Copy link
Collaborator

ok now i get it. thats purely for the reference highlighting! The replacement itself could be done anyway but the references could get lost.

@mattulbrich mattulbrich changed the title Reference terms WIP: Reference terms Mar 11, 2020
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