Skip to content

WIP: Reference terms#159

Open
mattulbrich wants to merge 1 commit intomasterfrom
muRefTerm
Open

WIP: Reference terms#159
mattulbrich wants to merge 1 commit intomasterfrom
muRefTerm

Conversation

@mattulbrich
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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