fix(frontends/lean/elaborator): whnf may produce assertion violation if term contains free variables
fix(frontends/lean/class): take whnf into account in add_instance
refactor(library): replace decidable_eq with abbreviation