+ 1 история из жизни. Наш преподаватель матана, линейной алгебры и других высокоматематических предметов, Юрий Викторович Богданский, о котором до сих пор с ужасом и благоговением отзываются студенты прошедшие Институт Прикладного Системного Анализа, как-то раз показал нам что 2 + 2 может быть равно 1.
Это было на курсе абстрактной алгебры. Рассматривалось пространство в котором целые неотрицательные числа сводились к остатку их деления на три, то есть 0, 1, 2 -- были, а 3, 4, 5 не было, они были снова 0, 1, 2.
Прежде чем вы скажете что это слишком абстрактный пример, я вам скажу что так вообще-то работали и работают компьютерные операции -- если у вас есть один байт на целое число, то 128 + 128 может быть равно 1. И это реальная жизнь, а Юрий Викторович для абстрактной алгебры просто взял пример попроще.
На реальные баги в реальной жизни с подобными операциями я натыкался "вот этими руками". До широко известной в кругах игры "Цивилизация" Сид Мейер был знаменит игрой "Пираты", и вот в первых "Пиратах", в которые я играл в 90-х, если ты набирал больше 327670 золотых, начинался лютейший трэш.
Это, опять таки, к спору про "общие термины" / "общие правила". Тут 2 + 2 или 128 + 128 может быть равно 1, логично и по математике и/или вычислительной технике.
И результаты других операций могут давать неожиданные результаты.
И есть ещё "конструктивистская математика", в которой есть только те числа которые можно построить-представить -- а иррациональных чисел нет. И это тоже работает близко к тому как работают операции в компьютере: квадрат корня из двух не равен двум, потому что в квадрат возводится корень вычисленный с определённой точностью до энного знака после запятой, но результат его возведения в квадрат даёт число немножко отличное от двух.
А вы общих правил для языка хотите :)