Дело в том, что когда мы пишем f[x_]=x/x, то сначала вычисляется правая часть, которая еще не знает, что вместо

будет подставлено какое-то число. Правая часть рассматривается как некое отношение двух полиномов, которое вообще-то не очень хорошо понимает, над каким кольцом они определены (ибо один и тот же символ / у нас определяет в зависимости от контекста, который системе пока что неизвестен, операции над самыми разными множествами). И вычисляется по общим правилам операций над полиномами как 1. Требовать, чтобы Mathematica выводила что-то вроде

грустно именно в силу того, что над другими кольцами (матрицы, например) множество исключений будет совсем другим. Требовать, чтобы не упрощала совсем никак,

еще грустнее.