Hi, I am wondering if there is a decision procedure for deciding whether two expressions from the same commutative monoid are equal? in a sense, it is also a permutation decision procedure. if not, how do I write such procedure?
What is your setting here? Are you using a typeclass like comm_monoid_mult
or are you in HOL-Algebra?
In either case, isn't this decidable simply be adding the ac rules (associativity and commutativity) and the neutral element rules to the simp set and running the simplifier?
is that this easy? the simplifier can solve this?
yes: the simplifer (with AC) will reorder terms in canonical form (getting a + b + c + ...
where a is larger (for a certain order) than b, itself larger than c and so one). So something like simp add: ac_simps
or similar should work
Or just simp add: algebra_simps
.
Last updated: Dec 21 2024 at 16:20 UTC