Я дам технический ответ.
Пусть A = делится на 4, B = делится на 100, C = делится на 400. Определение високосного года:
(A and (not B)) or C
Но вы написали:
(A === B) === C
Нам нужно спросить, являются ли эти формулы логически эквивалентными для всех возможных непротиворечивых значений A, B и C. Нам не нужно пробовать все комбинации A, B и C, потому что эти формулы НЕ логически эквивалентны в общем:
A B C (A & !B) (A & !B | C) A==B (A==B)==C
------------------------------------------------------
T T T F T T T
T T F F F T F
T F T T T F F x
T F F T T F T
F T T F T F F x
F T F F F F T x
F F T F T T T
F F F F F T F
ОДНАКО не все возможные значения A, B и C согласованы, так как они зависят друг от друга. Всякий раз, когда C истинно (делится на 400), остальные также должны быть. Всякий раз, когда B истинно, A также должно быть. Итак, единственные случаи, которые мы должны рассмотреть:
A B C (A & !B) (A & !B | C) A==B (A==B)==C
------------------------------------------------------
T T T F T T T
T T F F F T F
T F F T T F T
F F F F F T F
Это только четыре возможных случая (TTT, TTF, TFF и FFF). В каждом из этих четырех случаев (A &! B | C) имеет то же значение истинности, что и (A == B) == C, поэтому ваш код работал.
В общем, формулы не эквивалентны друг другу, но в этом случае вы были в порядке.