Help debugging seemingly-erroneous backwards rewrites #224
Replies: 2 comments 2 replies
-
|
pinging @oflatt, the resident proofs wizard 🧙 |
Beta Was this translation helpful? Give feedback.
-
|
Hi @silversquirl, great to see people using this feature for debugging. The second proof you show is as specific as it gets: it's exactly one rewrite application. Did that help? "Backwards" rewrites are just like forwards rewrites, but the right-hand side of the rule application is the previous term. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
The following rewrites for a pure language are able to optimize expressions such as
(let a 0 (let b a b))to0. However, they are also able to optimize the same expression toa, which is obviously invalid asais unbound in that context.I find explanation provided for this proof somewhat confusing, as it doesn't show how the
let-distribequivalence is found.Asking it to narrow in on the specific issue point (the proof that
(let a (let b a 0) (let b a b))is equivalent to(let b a (let a 0 b))) doesn't help at all:Is there any way to have it show more information on these backwards rewrites so I can figure out how it's finding the equivalences?
(Full code example, for reference)
Beta Was this translation helpful? Give feedback.
All reactions