-
Notifications
You must be signed in to change notification settings - Fork 44
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
Update documentation on syntax and semantics of Kore #2266
Conversation
"Introduction to Matching Logic" is those parts of "The Semantics of K" which are still relevent to present-day Kore.
868db6a
to
bcca2b6
Compare
bcca2b6
to
a501cf0
Compare
There was a problem hiding this 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> |
There was a problem hiding this comment.
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 @
?
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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.
Reviewer checklist
stack test --coverage
stack haddock