| max(m, n) < n0, n < m, n0 ≤ m, n < n0 ⊦ n0 = 0, m = max(max(m, n), n0), m = 0 |
n0 < m, n < m, max(m, n) < n0, n < n0, max(m, n) + 1 < m, max(m, n) < m, n + 1 < m ⊦ m = n0, n0 = 0, m = 0
Used simplifier rules: Max-left: ⊦ m < n → max(m, n) = n;%succ: ⊦ m +1 = m + 1; from specification nat-basic2%trans-1: ⊦ n < n0 ∧ n0 < n1 → n < n1; (forward) from specification nat-basic1%lf: ⊦ m < n ∧ n < n0 → m +1 < n0; (forward) from specification nat-basic1%lels-02: ⊦ m ≠ n → (m ≤ n ↔ m < n); from specification nat