| n < n0, m < n0 ⊦ n0 = max(max(m, n), n0), max(m, n) < n0 |
m < max(m, n), n0 < max(m, n), n < n0, m < n0, n + 1 < max(m, n), n < max(m, n), m + 1 < max(m, n) ⊦ n0 = max(m, n)
Used simplifier rules: Max-right: ⊦ ¬ m < n → max(m, n) = m;% ⊦ m +1 = m + 1; (s)% ⊦ m < n → n ≠ 0; (s)%trans: ⊦ n < n0 ∧ n0 < n1 → n < n1; (forward) from specification nat-basic%trans-01: ⊦ n < n0 ∧ n0 < n1 → n +1 < n1; (forward) from specification nat-basic%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m ≠ n → (m < n ↔ ¬ n < m); (ss)