Closed patham9 closed 8 years ago
Ah because it uses the "equal" of the Lisp expression. Hm variable normalization will at least to soe extent resolve the issue, but probably we find a better way.
we have now a strict equality plus the ability to apply unification. In 1.7.0 we had: strict equality (only used for conceptual grouping), equality under variable renaming (used for rule matching), and unification
As expected variable normalization is sufficient for 99% of the relevant cases, however this one I will resolve completely when there is time (after AGI-16).
closed as a design decision that is now done differently. using unification instead of structure keying for all rules would be too expensive.
Rules shouldn't only match if it is called $1 in both the first and second premise. Why is this the case that these have to be equal altough they are just variable names? Any idea, Roman?