-
Notifications
You must be signed in to change notification settings - Fork 152
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
Generate rewrite relation #4745
base: develop
Are you sure you want to change the base?
Conversation
b2c798c
to
ea1e82e
Compare
ea1e82e
to
a9a34dd
Compare
e755d92
to
b10dbf0
Compare
The |
Where do the names of rewrite rules such as |
I guess from unnamed rules. But maybe it's better to have something like A related question: Even if we named all rules in K definitions, will there be generated rules by the compiler that we cannot name? |
It's a prefix of the
I can make that change, but that'll make it significantly harder to manually trace back and forth between K and Lean source. Right now you can look up the
The only frontend-generated rules I can think of are heating-cooling rules, but they seem to have a label. Still, it's possible there are unlabeled generated rules. |
Is it correct that the frontend will generate such
Makes sense! Let's leave it like this then. |
Yes, the
That would be ideal, I agree. Similarly, all symbol productions should have the
|
Closes #4728
Generates an inductive type
Rewrites : GeneratedTopCell -> GeneratedTopCell -> Prop
where each constructor (except for the first one which expresses transitivity) encodes a K rewrite rule.Each constructor has the following signature:
Rewrites <lhs> <rhs>
.