| max(m, n) < n0, n ≤ m, n0 ≤ n, n0 ≤ m ⊦ m = max(max(m, n), n0) |
max(m, n) < n, max(m, n) < m, n0 < m, n0 ≤ n, n ≤ m, max(m, n) < n0, max(m, n) + 1 < m ⊦ m = 0, n0 = 0, m = n0, n = 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%fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat%lf: ⊦ m < n ∧ n < n0 → m +1 < n0; (forward) from specification nat-basic1%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1%lels-02: ⊦ m ≠ n → (m ≤ n ↔ m < n); from specification nat