| less#(a, x0) = 0, violations(x0) = 0, x0[n] < (a ' + x0)[n], n < # x0 ⊦ x0 = [], ∃ n0. x0[n0 + 1] < x0[n0] ∧ n0 + 1 < # x0, a ' + x0 ≠ [] ∧ n ≠ 0 |
less#(a, x0) = 0, violations(x0) = 0, x0.head < a ⊦ x0 = [], ∃ n0. x0[n0 + 1] < x0[n0] ∧ n0 + 1 < # x0
Used simplifier rules: ⊦ (a ' + x)[0] = a; (s)% ⊦ x ≠ [] → x[0] = x.head; (s)% ⊦ # x = 0 ↔ x = []; (s)% ⊦ 0 < m ↔ m ≠ 0; (s)%lf-02: ⊦ m < n ∧ m = n0 → n0 < n; (forward) from specification nat-basic%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ a ' + x ≠ []; (s)