Should caret NISS notation count as "identical" to its expanded form?
e.g. should this test pass? Or should it maybe fail, and we need a concept separate from "is identical" to test equality/equivalence?
https://github.com/cubing/cubing.js/blob/bc110c4da02e8ab5c21f68079ff2c97e89ab5cb8/src/cubing/alg/parseAlg.spec.ts#L83-L87
depends on definition of "identical" you want to use but if there is value in calling this case not identical, then yes, you need a separate function for equality/equivalence checking
depends on definition of "identical" you want to use but if there is value in calling this case not identical, then yes, you need a separate function for equality/equivalence checking
Yes, that is indeed the tradeoff. 😅
However, we don't necessarily need a separate function. We could instead offer an options argument similar to .expand(…), experimentalSimplify(…), and .experimentalIsSolved(…).
That said, in languages other than JS we will probably need to pick a default interpretation for what counts as "equal".