-
Notifications
You must be signed in to change notification settings - Fork 181
Open
Description
Hi everyone!
I was exploring proof construction with egg. I needed to have non-symmetrical rules, so that when I check (a, b) for equivalence it is true, and (b, a) is not. I used a hack from tests/prop.rs with multi_rewrite, but I am facing something weird right now. If an Explanation<L> provided by explain_equivalence contains a multi_rewrite rule, its name in the graph is something like .../.cargo/registry/src/github.com-1ecc6299db9ec823/egg-0.9.3/src/multipattern.rs:167:32. I have just added a printing of a proof to tests/prop.rs here.
Trying to prove goal 5: (-> x z)
Explanation: (& (-> x y) (-> y z))
(Rewrite<= /Users/andrei/.cargo/registry/src/github.com-1ecc6299db9ec823/egg-0.9.3/src/multipattern.rs:167:32 (| (~ x) z))
(Rewrite=> def_imply_flip (-> x z))
test prove_chain ... ok
Metadata
Metadata
Assignees
Labels
No labels