Skip to content

Update documentation on syntax and semantics of Kore #2266

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

Merged
merged 6 commits into from
Nov 19, 2020

Conversation

ttuegel
Copy link
Contributor

@ttuegel ttuegel commented Nov 12, 2020


Reviewer checklist
  • Test coverage: stack test --coverage
  • Public API documentation: stack haddock

"Introduction to Matching Logic" is those parts of "The Semantics of K" which
are still relevent to present-day Kore.
@ttuegel ttuegel force-pushed the doc--intro-matching-logic branch 2 times, most recently from 868db6a to bcca2b6 Compare November 12, 2020 18:13
@ttuegel ttuegel force-pushed the doc--intro-matching-logic branch from bcca2b6 to a501cf0 Compare November 12, 2020 18:14
@ttuegel ttuegel marked this pull request as ready for review November 13, 2020 15:09
Copy link
Contributor

@ana-pantilie ana-pantilie left a comment

Choose a reason for hiding this comment

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

I only noticed one issue in kore-syntax, and the rest looks good to me. But, before I approve this, I have a question. I think the introduction-to-matching-logic document used to be part of the old semantics-of-k document, is that correct? Does this PR make any changes to it?

<set-variable>
::= <set-variable-id> ":" <sort>
::= <set-variable-identifier> ":" <sort>
Copy link
Contributor

Choose a reason for hiding this comment

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

Aren't set variables required to be prefixed with @?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That's part of <set-variable-identifier>.

Co-authored-by: Andrei Burdușa <[email protected]>
Note that, by default, symbols are interpreted as relations in matching logic.
It is often the case, though, that we want symbols to be interpreted as
\emph{functions}.
This can be easily done by axiomatically constraining those symbols to evaluate to
Copy link
Contributor

Choose a reason for hiding this comment

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

I think it can be confusing that function in this context means evaluating to exactly one value, while the glossary describes it as evaluating to at most one value.

@ttuegel ttuegel merged commit 5320c08 into runtimeverification:master Nov 19, 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.

4 participants