| ⊦ x + x0 ≠ [] → (min(x + x0) = min(x0 + x) ↔ true) |
x + x0 ≠ [], ¬(min(x + x0) = min(x0 + x) ↔ true) ⊦
| x + x0 ≠ [], ¬(min(x + x0) = min(x0 + x) ↔ true) ⊦ |
x + x0 ≠ [], min(x + x0) ≠ min(x0 + x) ⊦
| x + x0 ≠ [], min(x + x0) ≠ min(x0 + x) ⊦ |
x + x0 ≠ [], min(x + x0) ≠ min(x0 + x), ∀ x1, x2. #(x1 + x2) < #(x + x0) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: <; (wellfounded) Used terms: #(x + x0)
| x + x0 ≠ [], min(x + x0) ≠ min(x0 + x), ∀ x1, x2. #(x1 + x2) < #(x + x0) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
x + x0 ≠ [], min(x + x0) ≠ min(x0 + x), ∀ x1, x2. #(x1 + x2) < #(x + x0) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| x + x0 ≠ [], min(x + x0) ≠ min(x0 + x), ∀ x1, x2. #(x1 + x2) < #(x + x0) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
x = a + x3, x + x0 ≠ [], min(x + x0) ≠ min(x0 + x), ∀ x1, x2. #(x1 + x2) < #(x + x0) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: list('a) freely generated by [], +;; ⊦ [] + x = x; (s) ⊦ x + [] = x; (s) a: ⊦ (x + y) + z = x + y + z; from specification list
| x = a + x3, x + x0 ≠ [], min(x + x0) ≠ min(x0 + x), ∀ x1, x2. #(x1 + x2) < #(x + x0) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min((a ' + x3) + x0) ≠ min(x0 + a ' + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + x0) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ a + x = a ' + x; (s) ⊦ a ' + x ≠ []; (s)
| min((a ' + x3) + x0) ≠ min(x0 + a ' + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + x0) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
x0 = a0 + x, min((a ' + x3) + x0) ≠ min(x0 + a ' + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + x0) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: list('a) freely generated by [], +;; ⊦ x + [] = x; (s) ⊦ [] + x = x; (s) a: ⊦ (x + y) + z = x + y + z; from specification list
| x0 = a0 + x, min((a ' + x3) + x0) ≠ min(x0 + a ' + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + x0) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min((a ' + x3) + a0 ' + x) ≠ min((a0 ' + x) + a ' + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: ⊦ a + x = a ' + x; (s)
| min((a ' + x3) + a0 ' + x) ≠ min((a0 ' + x) + a ' + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x))
x3 + a0 ' + x ≠ [], (a < min(x3 + a0 ' + x) ⊃ a;min(x3 + a0 ' + x)) ≠ min((a0 ' + x) + a ' + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: ⊦ x + y = [] ↔ x = [] ∧ y = []; (as) ⊦ a ' + x ≠ []; (s) a: ⊦ (x + y) + z = x + y + z; from specification list Used terms: x3 + a0 ' + x, a
| ⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x)) |
| x3 + a0 ' + x ≠ [], (a < min(x3 + a0 ' + x) ⊃ a;min(x3 + a0 ' + x)) ≠ min((a0 ' + x) + a ' + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
(a < min(x3 + a0 ' + x) ⊃ a;min(x3 + a0 ' + x)) ≠ min((a0 ' + x) + a ' + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ x + a ' + y ≠ []; (s)
| (a < min(x3 + a0 ' + x) ⊃ a;min(x3 + a0 ' + x)) ≠ min((a0 ' + x) + a ' + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
a ≠ min((a0 ' + x) + a ' + x3), a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
min(x3 + a0 ' + x) ≠ min((a0 ' + x) + a ' + x3), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| a ≠ min((a0 ' + x) + a ' + x3), a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x))
x + a ' + x3 ≠ [], a ≠ (a0 < min(x + a ' + x3) ⊃ a0;min(x + a ' + x3)), a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: ⊦ x + y = [] ↔ x = [] ∧ y = []; (as) ⊦ a ' + x ≠ []; (s) a: ⊦ (x + y) + z = x + y + z; from specification list Used terms: x + a ' + x3, a0
| ⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x)) |
| x + a ' + x3 ≠ [], a ≠ (a0 < min(x + a ' + x3) ⊃ a0;min(x + a ' + x3)), a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
a ≠ (a0 < min(x + a ' + x3) ⊃ a0;min(x + a ' + x3)), a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ x + a ' + y ≠ []; (s)
| a ≠ (a0 < min(x + a ' + x3) ⊃ a0;min(x + a ' + x3)), a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
a ≠ a0, a < min(x3 + a0 ' + x), a0 < min(x + a ' + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
a ≠ min(x + a ' + x3), a < min(x3 + a0 ' + x), ¬ a0 < min(x + a ' + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| a ≠ a0, a < min(x3 + a0 ' + x), a0 < min(x + a ' + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
a ≠ a0, a0 < min(x + a ' + x3), a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ x + a ' + x3 ≠ [] ∧ min(x + a ' + x3) ≠ min((a ' + x3) + x)
Used simplifier rules: ⊦ a + x = a ' + x; (s) ⊦ #(x + y) = # x + # y; (s) ⊦ # a ' = 0 +1; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ m + n < m + n0 ↔ n < n0; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: x, a ' + x3
| a ≠ a0, a0 < min(x + a ' + x3), a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ x + a ' + x3 ≠ [] ∧ min(x + a ' + x3) ≠ min((a ' + x3) + x) |
min(x + a ' + x3) = min((a ' + x3) + x), a ≠ a0, a < min(x3 + a0 ' + x), a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ x + a ' + y ≠ []; (s)
| min(x + a ' + x3) = min((a ' + x3) + x), a ≠ a0, a < min(x3 + a0 ' + x), a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min((a ' + x3) + x), a ≠ a0, a0 < min((a ' + x3) + x), a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ x3 + a0 ' + x ≠ [] ∧ min(x3 + a0 ' + x) ≠ min((a0 ' + x) + x3)
Used simplifier rules: ⊦ a + x = a ' + x; (s) ⊦ #(x + y) = # x + # y; (s) ⊦ # a ' = 0 +1; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ m + n < m + n0 ↔ n < n0; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: x3, a0 ' + x
| min(x + a ' + x3) = min((a ' + x3) + x), a ≠ a0, a0 < min((a ' + x3) + x), a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ x3 + a0 ' + x ≠ [] ∧ min(x3 + a0 ' + x) ≠ min((a0 ' + x) + x3) |
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min((a0 ' + x) + x3), a ≠ a0, a < min((a0 ' + x) + x3), a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ x + a ' + y ≠ []; (s)
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min((a0 ' + x) + x3), a ≠ a0, a < min((a0 ' + x) + x3), a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x))
min(x3 + a0 ' + x) = (a0 < min(x + x3) ⊃ a0;min(x + x3)), min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], a ≠ a0, a0 < min((a ' + x3) + x), a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: min-base: ⊦ min(a ') = a; ⊦ x + y = [] ↔ x = [] ∧ y = []; (as) ⊦ [] + x = x; (s) ⊦ x + [] = x; (s) a: ⊦ (x + y) + z = x + y + z; from specification list transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord] ⊦ ¬ a < a; (s) Used terms: x + x3, a0
| ⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x)) |
| min(x3 + a0 ' + x) = (a0 < min(x + x3) ⊃ a0;min(x + x3)), min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], a ≠ a0, a0 < min((a ' + x3) + x), a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = (a0 < min(x + x3) ⊃ a0;min(x + x3)), x + x3 ≠ [], a ≠ a0, a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = (a0 < min(x + x3) ⊃ a0;min(x + x3)), x + x3 ≠ [], a ≠ a0, a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = a0, x + x3 ≠ [], a ≠ a0, a0 < min((a ' + x3) + x), a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), a0 < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min(x + x3), x + x3 ≠ [], a ≠ a0, a0 < min((a ' + x3) + x), a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ¬ a0 < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = a0, x + x3 ≠ [], a ≠ a0, a0 < min((a ' + x3) + x), a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), a0 < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) = a0, min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], a ≠ a0, a0 < min((a ' + x3) + x), a0 < min(x + x3), a < a0, a < min((a ' + x3) + x), a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord]
| min(x3 + a0 ' + x) = a0, min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], a ≠ a0, a0 < min((a ' + x3) + x), a0 < min(x + x3), a < a0, a < min((a ' + x3) + x), a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x))
Used simplifier rules: min-base: ⊦ min(a ') = a; transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord] ⊦ ¬ a < a; (s) ⊦ x + y = [] ↔ x = [] ∧ y = []; (as) ⊦ x + [] = x; (s) ⊦ [] + x = x; (s) a: ⊦ (x + y) + z = x + y + z; from specification list Used terms: x3 + x, a
| ⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x)) |
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min(x + x3), x + x3 ≠ [], a ≠ a0, a0 < min((a ' + x3) + x), a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ¬ a0 < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min(x + x3), x + x3 ≠ [], a ≠ a0, min(x + x3) < min((a ' + x3) + x), a < min(x + x3), a0 < min((a ' + x3) + x), a < min((a ' + x3) + x), ¬ a0 < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord] nll: ⊦ ¬ b < a ∧ b < c → a < c; (forward) from specification weakord[tord]
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min(x + x3), x + x3 ≠ [], a ≠ a0, min(x + x3) < min((a ' + x3) + x), a < min(x + x3), a0 < min((a ' + x3) + x), a < min((a ' + x3) + x), ¬ a0 < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x))
Used simplifier rules: min-base: ⊦ min(a ') = a; ⊦ ¬ a < a; (s) transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord] nll: ⊦ ¬ b < a ∧ b < c → a < c; (forward) from specification weakord[tord] ⊦ x + y = [] ↔ x = [] ∧ y = []; (as) ⊦ x + [] = x; (s) ⊦ [] + x = x; (s) a: ⊦ (x + y) + z = x + y + z; from specification list Used terms: x3 + x, a
| ⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x)) |
| a ≠ min(x + a ' + x3), a < min(x3 + a0 ' + x), ¬ a0 < min(x + a ' + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
a ≠ min(x + a ' + x3), a < min(x3 + a0 ' + x), ¬ a0 < min(x + a ' + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| a ≠ min(x + a ' + x3), a < min(x3 + a0 ' + x), ¬ a0 < min(x + a ' + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
a ≠ min(x + a ' + x3), a < min(x3 + a0 ' + x), ¬ a0 < min(x + a ' + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ x + a ' + x3 ≠ [] ∧ min(x + a ' + x3) ≠ min((a ' + x3) + x)
Used simplifier rules: ⊦ a + x = a ' + x; (s) ⊦ #(x + y) = # x + # y; (s) ⊦ # a ' = 0 +1; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ m + n < m + n0 ↔ n < n0; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: x, a ' + x3
| a ≠ min(x + a ' + x3), a < min(x3 + a0 ' + x), ¬ a0 < min(x + a ' + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ x + a ' + x3 ≠ [] ∧ min(x + a ' + x3) ≠ min((a ' + x3) + x) |
min(x + a ' + x3) = min((a ' + x3) + x), a ≠ min((a ' + x3) + x), a < min(x3 + a0 ' + x), ¬ a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ x + a ' + y ≠ []; (s)
| min(x + a ' + x3) = min((a ' + x3) + x), a ≠ min((a ' + x3) + x), a < min(x3 + a0 ' + x), ¬ a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min((a ' + x3) + x), a ≠ min((a ' + x3) + x), a < min(x3 + a0 ' + x), ¬ a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ x3 + a0 ' + x ≠ [] ∧ min(x3 + a0 ' + x) ≠ min((a0 ' + x) + x3)
Used simplifier rules: ⊦ a + x = a ' + x; (s) ⊦ #(x + y) = # x + # y; (s) ⊦ # a ' = 0 +1; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ m + n < m + n0 ↔ n < n0; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: x3, a0 ' + x
| min(x + a ' + x3) = min((a ' + x3) + x), a ≠ min((a ' + x3) + x), a < min(x3 + a0 ' + x), ¬ a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ x3 + a0 ' + x ≠ [] ∧ min(x3 + a0 ' + x) ≠ min((a0 ' + x) + x3) |
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min((a0 ' + x) + x3), a ≠ min((a ' + x3) + x), a < min((a0 ' + x) + x3), ¬ a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ x + a ' + y ≠ []; (s)
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min((a0 ' + x) + x3), a ≠ min((a ' + x3) + x), a < min((a0 ' + x) + x3), ¬ a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x))
min(x3 + a0 ' + x) = (a0 < min(x + x3) ⊃ a0;min(x + x3)), min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], a ≠ min((a ' + x3) + x), a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ¬ a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: min-base: ⊦ min(a ') = a; ⊦ x + y = [] ↔ x = [] ∧ y = []; (as) ⊦ [] + x = x; (s) ⊦ x + [] = x; (s) a: ⊦ (x + y) + z = x + y + z; from specification list Used terms: x + x3, a0
| ⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x)) |
| min(x3 + a0 ' + x) = (a0 < min(x + x3) ⊃ a0;min(x + x3)), min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], a ≠ min((a ' + x3) + x), a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ¬ a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = (a0 < min(x + x3) ⊃ a0;min(x + x3)), x + x3 ≠ [], a ≠ min((a ' + x3) + x), a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ¬ a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = (a0 < min(x + x3) ⊃ a0;min(x + x3)), x + x3 ≠ [], a ≠ min((a ' + x3) + x), a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ¬ a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = a0, x + x3 ≠ [], a ≠ min((a ' + x3) + x), a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), a0 < min(x + x3), ¬ a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min(x + x3), x + x3 ≠ [], a ≠ min((a ' + x3) + x), a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ¬ a0 < min(x + x3), ¬ a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = a0, x + x3 ≠ [], a ≠ min((a ' + x3) + x), a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), a0 < min(x + x3), ¬ a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) = a0, min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], a ≠ min((a ' + x3) + x), a0 < min(x + x3), a < a0, min((a ' + x3) + x) < min(x + x3), a < min(x + x3), ¬ a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: nll: ⊦ ¬ b < a ∧ b < c → a < c; (forward) from specification weakord[tord] transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord]
| min(x3 + a0 ' + x) = a0, min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], a ≠ min((a ' + x3) + x), a0 < min(x + x3), a < a0, min((a ' + x3) + x) < min(x + x3), a < min(x + x3), ¬ a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x))
min(x + a ' + x3) = (a < min(x3 + x) ⊃ a;min(x3 + x)), min(x3 + a0 ' + x) = a0, x3 + x ≠ [], x + x3 ≠ [], a ≠ (a < min(x3 + x) ⊃ a;min(x3 + x)), a < min(x + x3), (a < min(x3 + x) ⊃ a;min(x3 + x)) < min(x + x3), a < a0, a0 < min(x + x3), ¬ a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: min-base: ⊦ min(a ') = a; ⊦ x + y = [] ↔ x = [] ∧ y = []; (as) ⊦ [] + x = x; (s) ⊦ x + [] = x; (s) a: ⊦ (x + y) + z = x + y + z; from specification list Used terms: x3 + x, a
| ⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x)) |
| min(x + a ' + x3) = (a < min(x3 + x) ⊃ a;min(x3 + x)), min(x3 + a0 ' + x) = a0, x3 + x ≠ [], x + x3 ≠ [], a ≠ (a < min(x3 + x) ⊃ a;min(x3 + x)), a < min(x + x3), (a < min(x3 + x) ⊃ a;min(x3 + x)) < min(x + x3), a < a0, a0 < min(x + x3), ¬ a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) = a0, min(x + a ' + x3) = min(x3 + x), x + x3 ≠ [], x3 + x ≠ [], a ≠ (a < min(x3 + x) ⊃ a;min(x3 + x)), a < min(x + x3), a < a0, a0 < min(x + x3), min(x3 + x) < min(x + x3), ¬ a0 < min(x3 + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: nll: ⊦ ¬ b < a ∧ b < c → a < c; (forward) from specification weakord[tord]
| min(x3 + a0 ' + x) = a0, min(x + a ' + x3) = min(x3 + x), x + x3 ≠ [], x3 + x ≠ [], a ≠ (a < min(x3 + x) ⊃ a;min(x3 + x)), a < min(x + x3), a < a0, a0 < min(x + x3), min(x3 + x) < min(x + x3), ¬ a0 < min(x3 + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min(x3 + x), min(x3 + a0 ' + x) = a0, x + x3 ≠ [], x3 + x ≠ [], a ≠ min(x3 + x), min(x3 + x) < min(x + x3), a0 < min(x + x3), a < a0, a < min(x + x3), ¬ a < min(x3 + x), ¬ a0 < min(x3 + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x + a ' + x3) = min(x3 + x), min(x3 + a0 ' + x) = a0, x + x3 ≠ [], x3 + x ≠ [], a ≠ min(x3 + x), min(x3 + x) < min(x + x3), a0 < min(x + x3), a < a0, a < min(x + x3), ¬ a < min(x3 + x), ¬ a0 < min(x3 + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min(x3 + x), min(x3 + a0 ' + x) = a0, x3 + x ≠ [], x + x3 ≠ [], a ≠ min(x3 + x), min(x3 + x) < a0, min(x3 + x) < a, min(x3 + x) < min(x + x3), a0 < min(x + x3), a < a0, a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: ⊦ a < b → (b < a ↔ false); (ss) transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord] ⊦ a ≠ b → (a < b ↔ ¬ b < a); (ss)
| min(x + a ' + x3) = min(x3 + x), min(x3 + a0 ' + x) = a0, x3 + x ≠ [], x + x3 ≠ [], a ≠ min(x3 + x), min(x3 + x) < a0, min(x3 + x) < a, min(x3 + x) < min(x + x3), a0 < min(x + x3), a < a0, a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
Used simplifier rules: transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord] ⊦ ¬ a < a; (s) ⊦ a + x = a ' + x; (s) ⊦ #(x + y) = # x + # y; (s) ⊦ # a ' = 0 +1; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ m + n < m + n0 ↔ n < n0; (s) ⊦ m < n ↔ ¬ n ≤ m; (ss) ⊦ m + m0 ≤ m ↔ m0 = 0; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: x3, x
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min(x + x3), x + x3 ≠ [], a ≠ min((a ' + x3) + x), a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ¬ a0 < min(x + x3), ¬ a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], a ≠ min((a ' + x3) + x), a < min(x + x3), ¬ a0 < min(x + x3), ¬ a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], a ≠ min((a ' + x3) + x), a < min(x + x3), ¬ a0 < min(x + x3), ¬ a0 < min((a ' + x3) + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x))
min(x + a ' + x3) = (a < min(x3 + x) ⊃ a;min(x3 + x)), min(x3 + a0 ' + x) = min(x + x3), x3 + x ≠ [], x + x3 ≠ [], a ≠ (a < min(x3 + x) ⊃ a;min(x3 + x)), a < min(x + x3), ¬ a0 < min(x + x3), ¬ a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: min-base: ⊦ min(a ') = a; ⊦ x + y = [] ↔ x = [] ∧ y = []; (as) ⊦ [] + x = x; (s) ⊦ x + [] = x; (s) a: ⊦ (x + y) + z = x + y + z; from specification list Used terms: x3 + x, a
| ⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x)) |
| min(x + a ' + x3) = (a < min(x3 + x) ⊃ a;min(x3 + x)), min(x3 + a0 ' + x) = min(x + x3), x3 + x ≠ [], x + x3 ≠ [], a ≠ (a < min(x3 + x) ⊃ a;min(x3 + x)), a < min(x + x3), ¬ a0 < min(x + x3), ¬ a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = min(x3 + x), x + x3 ≠ [], x3 + x ≠ [], a ≠ (a < min(x3 + x) ⊃ a;min(x3 + x)), a < min(x + x3), ¬ a0 < min(x + x3), ¬ a0 < min(x3 + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = min(x3 + x), x + x3 ≠ [], x3 + x ≠ [], a ≠ (a < min(x3 + x) ⊃ a;min(x3 + x)), a < min(x + x3), ¬ a0 < min(x + x3), ¬ a0 < min(x3 + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min(x3 + x), min(x3 + a0 ' + x) = min(x + x3), x + x3 ≠ [], x3 + x ≠ [], a ≠ min(x3 + x), a < min(x + x3), ¬ a < min(x3 + x), ¬ a0 < min(x + x3), ¬ a0 < min(x3 + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x + a ' + x3) = min(x3 + x), min(x3 + a0 ' + x) = min(x + x3), x + x3 ≠ [], x3 + x ≠ [], a ≠ min(x3 + x), a < min(x + x3), ¬ a < min(x3 + x), ¬ a0 < min(x + x3), ¬ a0 < min(x3 + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = min(x3 + x), x + x3 ≠ [], x3 + x ≠ [], a ≠ min(x3 + x), a < min(x + x3), min(x3 + x) < a, min(x3 + x) < min(x + x3), ¬ a0 < min(x + x3), ¬ a0 < min(x3 + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord] ⊦ a ≠ b → (a < b ↔ ¬ b < a); (ss)
| min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = min(x3 + x), x + x3 ≠ [], x3 + x ≠ [], a ≠ min(x3 + x), a < min(x + x3), min(x3 + x) < a, min(x3 + x) < min(x + x3), ¬ a0 < min(x + x3), ¬ a0 < min(x3 + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
Used simplifier rules: transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord] ⊦ ¬ a < a; (s) ⊦ a + x = a ' + x; (s) ⊦ #(x + y) = # x + # y; (s) ⊦ # a ' = 0 +1; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ m + n < m + n0 ↔ n < n0; (s) ⊦ m < n ↔ ¬ n ≤ m; (ss) ⊦ m + m0 ≤ m ↔ m0 = 0; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: x3, x
| min(x3 + a0 ' + x) ≠ min((a0 ' + x) + a ' + x3), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) ≠ min((a0 ' + x) + a ' + x3), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x3 + a0 ' + x) ≠ min((a0 ' + x) + a ' + x3), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x))
x + a ' + x3 ≠ [], min(x3 + a0 ' + x) ≠ (a0 < min(x + a ' + x3) ⊃ a0;min(x + a ' + x3)), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: ⊦ x + y = [] ↔ x = [] ∧ y = []; (as) ⊦ a ' + x ≠ []; (s) a: ⊦ (x + y) + z = x + y + z; from specification list Used terms: x + a ' + x3, a0
| ⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x)) |
| x + a ' + x3 ≠ [], min(x3 + a0 ' + x) ≠ (a0 < min(x + a ' + x3) ⊃ a0;min(x + a ' + x3)), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) ≠ (a0 < min(x + a ' + x3) ⊃ a0;min(x + a ' + x3)), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ x + a ' + y ≠ []; (s)
| min(x3 + a0 ' + x) ≠ (a0 < min(x + a ' + x3) ⊃ a0;min(x + a ' + x3)), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) ≠ a0, a0 < min(x + a ' + x3), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
min(x3 + a0 ' + x) ≠ min(x + a ' + x3), ¬ a0 < min(x + a ' + x3), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x3 + a0 ' + x) ≠ a0, a0 < min(x + a ' + x3), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) ≠ a0, a0 < min(x + a ' + x3), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ x + a ' + x3 ≠ [] ∧ min(x + a ' + x3) ≠ min((a ' + x3) + x)
Used simplifier rules: ⊦ a + x = a ' + x; (s) ⊦ #(x + y) = # x + # y; (s) ⊦ # a ' = 0 +1; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ m + n < m + n0 ↔ n < n0; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: x, a ' + x3
| min(x3 + a0 ' + x) ≠ a0, a0 < min(x + a ' + x3), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ x + a ' + x3 ≠ [] ∧ min(x + a ' + x3) ≠ min((a ' + x3) + x) |
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) ≠ a0, a0 < min((a ' + x3) + x), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ x + a ' + y ≠ []; (s)
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) ≠ a0, a0 < min((a ' + x3) + x), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) ≠ a0, a0 < min((a ' + x3) + x), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ x3 + a0 ' + x ≠ [] ∧ min(x3 + a0 ' + x) ≠ min((a0 ' + x) + x3)
Used simplifier rules: ⊦ a + x = a ' + x; (s) ⊦ #(x + y) = # x + # y; (s) ⊦ # a ' = 0 +1; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ m + n < m + n0 ↔ n < n0; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: x3, a0 ' + x
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) ≠ a0, a0 < min((a ' + x3) + x), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ x3 + a0 ' + x ≠ [] ∧ min(x3 + a0 ' + x) ≠ min((a0 ' + x) + x3) |
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min((a0 ' + x) + x3), min((a0 ' + x) + x3) ≠ a0, a0 < min((a ' + x3) + x), ¬ a < min((a0 ' + x) + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ x + a ' + y ≠ []; (s)
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min((a0 ' + x) + x3), min((a0 ' + x) + x3) ≠ a0, a0 < min((a ' + x3) + x), ¬ a < min((a0 ' + x) + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x))
min(x3 + a0 ' + x) = (a0 < min(x + x3) ⊃ a0;min(x + x3)), min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], (a0 < min(x + x3) ⊃ a0;min(x + x3)) ≠ a0, a0 < min((a ' + x3) + x), ¬ a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: min-base: ⊦ min(a ') = a; ⊦ x + y = [] ↔ x = [] ∧ y = []; (as) ⊦ [] + x = x; (s) ⊦ x + [] = x; (s) a: ⊦ (x + y) + z = x + y + z; from specification list Used terms: x + x3, a0
| ⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x)) |
| min(x3 + a0 ' + x) = (a0 < min(x + x3) ⊃ a0;min(x + x3)), min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], (a0 < min(x + x3) ⊃ a0;min(x + x3)) ≠ a0, a0 < min((a ' + x3) + x), ¬ a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min(x + x3), x + x3 ≠ [], (a0 < min(x + x3) ⊃ a0;min(x + x3)) ≠ a0, a0 < min((a ' + x3) + x), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min(x + x3), x + x3 ≠ [], (a0 < min(x + x3) ⊃ a0;min(x + x3)) ≠ a0, a0 < min((a ' + x3) + x), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], min(x + x3) ≠ a0, a0 < min((a ' + x3) + x), ¬ a0 < min(x + x3), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], min(x + x3) ≠ a0, a0 < min((a ' + x3) + x), ¬ a0 < min(x + x3), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min(x + x3), x + x3 ≠ [], min(x + x3) ≠ a0, a0 < min((a ' + x3) + x), min(x + x3) < a0, min(x + x3) < min((a ' + x3) + x), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord] ⊦ a ≠ b → (a < b ↔ ¬ b < a); (ss)
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min(x + x3), x + x3 ≠ [], min(x + x3) ≠ a0, a0 < min((a ' + x3) + x), min(x + x3) < a0, min(x + x3) < min((a ' + x3) + x), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x))
min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = (a < min(x3 + x) ⊃ a;min(x3 + x)), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ a0, min(x + x3) < (a < min(x3 + x) ⊃ a;min(x3 + x)), min(x + x3) < a0, a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: min-base: ⊦ min(a ') = a; ⊦ x + y = [] ↔ x = [] ∧ y = []; (as) ⊦ x + [] = x; (s) ⊦ [] + x = x; (s) a: ⊦ (x + y) + z = x + y + z; from specification list Used terms: x3 + x, a
| ⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x)) |
| min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = (a < min(x3 + x) ⊃ a;min(x3 + x)), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ a0, min(x + x3) < (a < min(x3 + x) ⊃ a;min(x3 + x)), min(x + x3) < a0, a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = (a < min(x3 + x) ⊃ a;min(x3 + x)), min(x3 + a0 ' + x) = min(x + x3), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ a0, a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), min(x + x3) < a0, min(x + x3) < (a < min(x3 + x) ⊃ a;min(x3 + x)), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord]
| min(x + a ' + x3) = (a < min(x3 + x) ⊃ a;min(x3 + x)), min(x3 + a0 ' + x) = min(x + x3), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ a0, a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), min(x + x3) < a0, min(x + x3) < (a < min(x3 + x) ⊃ a;min(x3 + x)), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = a, x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ a0, min(x + x3) < (a < min(x3 + x) ⊃ a;min(x3 + x)), min(x + x3) < a0, a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), a < min(x3 + x), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = min(x3 + x), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ a0, min(x + x3) < (a < min(x3 + x) ⊃ a;min(x3 + x)), min(x + x3) < a0, a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), ¬ a < min(x3 + x), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = a, x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ a0, min(x + x3) < (a < min(x3 + x) ⊃ a;min(x3 + x)), min(x + x3) < a0, a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), a < min(x3 + x), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = a, min(x3 + a0 ' + x) = min(x + x3), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ a0, a < min(x3 + x), a0 < a, min(x + x3) < a0, a0 < min(x3 + x), min(x + x3) < a, min(x + x3) < min(x3 + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord] ⊦ a < b → (b < a ↔ false); (ss)
| min(x + a ' + x3) = a, min(x3 + a0 ' + x) = min(x + x3), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ a0, a < min(x3 + x), a0 < a, min(x + x3) < a0, a0 < min(x3 + x), min(x + x3) < a, min(x + x3) < min(x3 + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
Used simplifier rules: transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord] ⊦ ¬ a < a; (s) ⊦ a + x = a ' + x; (s) ⊦ #(x + y) = # x + # y; (s) ⊦ # a ' = 0 +1; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ m + n < m + n0 ↔ n < n0; (s) ⊦ m < n ↔ ¬ n ≤ m; (ss) ⊦ m + m0 ≤ m ↔ m0 = 0; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: x, x3
| min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = min(x3 + x), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ a0, min(x + x3) < (a < min(x3 + x) ⊃ a;min(x3 + x)), min(x + x3) < a0, a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), ¬ a < min(x3 + x), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min(x3 + x), min(x3 + a0 ' + x) = min(x + x3), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ a0, a0 < min(x3 + x), min(x + x3) < a0, min(x + x3) < min(x3 + x), ¬ a < min(x3 + x), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord]
| min(x + a ' + x3) = min(x3 + x), min(x3 + a0 ' + x) = min(x + x3), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ a0, a0 < min(x3 + x), min(x + x3) < a0, min(x + x3) < min(x3 + x), ¬ a < min(x3 + x), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
Used simplifier rules: transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord] ⊦ ¬ a < a; (s) ⊦ a + x = a ' + x; (s) ⊦ #(x + y) = # x + # y; (s) ⊦ # a ' = 0 +1; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ m + n < m + n0 ↔ n < n0; (s) ⊦ m < n ↔ ¬ n ≤ m; (ss) ⊦ m + m0 ≤ m ↔ m0 = 0; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: x, x3
| min(x3 + a0 ' + x) ≠ min(x + a ' + x3), ¬ a0 < min(x + a ' + x3), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) ≠ min(x + a ' + x3), ¬ a0 < min(x + a ' + x3), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x3 + a0 ' + x) ≠ min(x + a ' + x3), ¬ a0 < min(x + a ' + x3), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) ≠ min(x + a ' + x3), ¬ a0 < min(x + a ' + x3), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ x + a ' + x3 ≠ [] ∧ min(x + a ' + x3) ≠ min((a ' + x3) + x)
Used simplifier rules: ⊦ a + x = a ' + x; (s) ⊦ #(x + y) = # x + # y; (s) ⊦ # a ' = 0 +1; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ m + n < m + n0 ↔ n < n0; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: x, a ' + x3
| min(x3 + a0 ' + x) ≠ min(x + a ' + x3), ¬ a0 < min(x + a ' + x3), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ x + a ' + x3 ≠ [] ∧ min(x + a ' + x3) ≠ min((a ' + x3) + x) |
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) ≠ min((a ' + x3) + x), ¬ a0 < min((a ' + x3) + x), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ x + a ' + y ≠ []; (s)
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) ≠ min((a ' + x3) + x), ¬ a0 < min((a ' + x3) + x), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) ≠ min((a ' + x3) + x), ¬ a0 < min((a ' + x3) + x), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ x3 + a0 ' + x ≠ [] ∧ min(x3 + a0 ' + x) ≠ min((a0 ' + x) + x3)
Used simplifier rules: ⊦ a + x = a ' + x; (s) ⊦ #(x + y) = # x + # y; (s) ⊦ # a ' = 0 +1; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ m + n < m + n0 ↔ n < n0; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: x3, a0 ' + x
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) ≠ min((a ' + x3) + x), ¬ a0 < min((a ' + x3) + x), ¬ a < min(x3 + a0 ' + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ x3 + a0 ' + x ≠ [] ∧ min(x3 + a0 ' + x) ≠ min((a0 ' + x) + x3) |
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min((a0 ' + x) + x3), min((a0 ' + x) + x3) ≠ min((a ' + x3) + x), ¬ a0 < min((a ' + x3) + x), ¬ a < min((a0 ' + x) + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ x + a ' + y ≠ []; (s)
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min((a0 ' + x) + x3), min((a0 ' + x) + x3) ≠ min((a ' + x3) + x), ¬ a0 < min((a ' + x3) + x), ¬ a < min((a0 ' + x) + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x))
min(x3 + a0 ' + x) = (a0 < min(x + x3) ⊃ a0;min(x + x3)), min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], (a0 < min(x + x3) ⊃ a0;min(x + x3)) ≠ min((a ' + x3) + x), ¬ a0 < min((a ' + x3) + x), ¬ a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: min-base: ⊦ min(a ') = a; ⊦ x + y = [] ↔ x = [] ∧ y = []; (as) ⊦ [] + x = x; (s) ⊦ x + [] = x; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ a ≠ b → (a < b ↔ ¬ b < a); (ss) transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord] ⊦ ¬ a < a; (s) Used terms: x + x3, a0
| ⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x)) |
| min(x3 + a0 ' + x) = (a0 < min(x + x3) ⊃ a0;min(x + x3)), min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], (a0 < min(x + x3) ⊃ a0;min(x + x3)) ≠ min((a ' + x3) + x), ¬ a0 < min((a ' + x3) + x), ¬ a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = (a0 < min(x + x3) ⊃ a0;min(x + x3)), x + x3 ≠ [], (a0 < min(x + x3) ⊃ a0;min(x + x3)) ≠ min((a ' + x3) + x), ¬ a0 < min((a ' + x3) + x), ¬ a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = (a0 < min(x + x3) ⊃ a0;min(x + x3)), x + x3 ≠ [], (a0 < min(x + x3) ⊃ a0;min(x + x3)) ≠ min((a ' + x3) + x), ¬ a0 < min((a ' + x3) + x), ¬ a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) = (a0 < min(x + x3) ⊃ a0;min(x + x3)), min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], a0 ≠ min((a ' + x3) + x), a0 < min(x + x3), ¬ a0 < min((a ' + x3) + x), ¬ a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
min(x3 + a0 ' + x) = (a0 < min(x + x3) ⊃ a0;min(x + x3)), min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], min(x + x3) ≠ min((a ' + x3) + x), ¬ a0 < min(x + x3), ¬ a0 < min((a ' + x3) + x), ¬ a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x3 + a0 ' + x) = (a0 < min(x + x3) ⊃ a0;min(x + x3)), min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], a0 ≠ min((a ' + x3) + x), a0 < min(x + x3), ¬ a0 < min((a ' + x3) + x), ¬ a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = a0, x + x3 ≠ [], a0 ≠ min((a ' + x3) + x), a0 < min(x + x3), min((a ' + x3) + x) < a0, min((a ' + x3) + x) < min(x + x3), ¬ a < a0, ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord] ⊦ a ≠ b → (a < b ↔ ¬ b < a); (ss)
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = a0, x + x3 ≠ [], a0 ≠ min((a ' + x3) + x), a0 < min(x + x3), min((a ' + x3) + x) < a0, min((a ' + x3) + x) < min(x + x3), ¬ a < a0, ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x))
min(x3 + a0 ' + x) = a0, min(x + a ' + x3) = (a < min(x3 + x) ⊃ a;min(x3 + x)), x3 + x ≠ [], x + x3 ≠ [], a0 ≠ (a < min(x3 + x) ⊃ a;min(x3 + x)), (a < min(x3 + x) ⊃ a;min(x3 + x)) < min(x + x3), (a < min(x3 + x) ⊃ a;min(x3 + x)) < a0, a0 < min(x + x3), ¬ a < a0, ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: min-base: ⊦ min(a ') = a; ⊦ x + y = [] ↔ x = [] ∧ y = []; (as) ⊦ x + [] = x; (s) ⊦ [] + x = x; (s) a: ⊦ (x + y) + z = x + y + z; from specification list Used terms: x3 + x, a
| ⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x)) |
| min(x3 + a0 ' + x) = a0, min(x + a ' + x3) = (a < min(x3 + x) ⊃ a;min(x3 + x)), x3 + x ≠ [], x + x3 ≠ [], a0 ≠ (a < min(x3 + x) ⊃ a;min(x3 + x)), (a < min(x3 + x) ⊃ a;min(x3 + x)) < min(x + x3), (a < min(x3 + x) ⊃ a;min(x3 + x)) < a0, a0 < min(x + x3), ¬ a < a0, ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) = a0, min(x + a ' + x3) = min(x3 + x), x + x3 ≠ [], x3 + x ≠ [], a0 ≠ min(x3 + x), (a < min(x3 + x) ⊃ a;min(x3 + x)) < a0, a0 < min(x + x3), min(x3 + x) < min(x + x3), ¬ a < a0, ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: ⊦ ¬ a < a; (s) nll: ⊦ ¬ b < a ∧ b < c → a < c; (forward) from specification weakord[tord] transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord] ⊦ a ≠ b → (a < b ↔ ¬ b < a); (ss)
| min(x3 + a0 ' + x) = a0, min(x + a ' + x3) = min(x3 + x), x + x3 ≠ [], x3 + x ≠ [], a0 ≠ min(x3 + x), (a < min(x3 + x) ⊃ a;min(x3 + x)) < a0, a0 < min(x + x3), min(x3 + x) < min(x + x3), ¬ a < a0, ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min(x3 + x), min(x3 + a0 ' + x) = a0, x + x3 ≠ [], x3 + x ≠ [], a0 ≠ min(x3 + x), min(x3 + x) < min(x + x3), a0 < min(x + x3), min(x3 + x) < a0, ¬ a < min(x3 + x), ¬ a < a0, ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x + a ' + x3) = min(x3 + x), min(x3 + a0 ' + x) = a0, x + x3 ≠ [], x3 + x ≠ [], a0 ≠ min(x3 + x), min(x3 + x) < min(x + x3), a0 < min(x + x3), min(x3 + x) < a0, ¬ a < min(x3 + x), ¬ a < a0, ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) = a0, min(x + a ' + x3) = min(x3 + x), x + x3 ≠ [], x3 + x ≠ [], a0 ≠ min(x3 + x), min(x3 + x) < a0, a0 < min(x + x3), min(x3 + x) < min(x + x3), ¬ a < min(x3 + x), ¬ a < a0, ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord]
| min(x3 + a0 ' + x) = a0, min(x + a ' + x3) = min(x3 + x), x + x3 ≠ [], x3 + x ≠ [], a0 ≠ min(x3 + x), min(x3 + x) < a0, a0 < min(x + x3), min(x3 + x) < min(x + x3), ¬ a < min(x3 + x), ¬ a < a0, ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
Used simplifier rules: transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord] ⊦ ¬ a < a; (s) ⊦ a + x = a ' + x; (s) ⊦ #(x + y) = # x + # y; (s) ⊦ # a ' = 0 +1; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ m + n < m + n0 ↔ n < n0; (s) ⊦ m < n ↔ ¬ n ≤ m; (ss) ⊦ m + m0 ≤ m ↔ m0 = 0; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: x3, x
| min(x3 + a0 ' + x) = (a0 < min(x + x3) ⊃ a0;min(x + x3)), min(x + a ' + x3) = min((a ' + x3) + x), x + x3 ≠ [], min(x + x3) ≠ min((a ' + x3) + x), ¬ a0 < min(x + x3), ¬ a0 < min((a ' + x3) + x), ¬ a < (a0 < min(x + x3) ⊃ a0;min(x + x3)), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min(x + x3), x + x3 ≠ [], min(x + x3) ≠ min((a ' + x3) + x), ¬ a0 < min(x + x3), ¬ a0 < min((a ' + x3) + x), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x + a ' + x3) = min((a ' + x3) + x), min(x3 + a0 ' + x) = min(x + x3), x + x3 ≠ [], min(x + x3) ≠ min((a ' + x3) + x), ¬ a0 < min(x + x3), ¬ a0 < min((a ' + x3) + x), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x))
min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = (a < min(x3 + x) ⊃ a;min(x3 + x)), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ (a < min(x3 + x) ⊃ a;min(x3 + x)), ¬ a0 < min(x + x3), ¬ a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: min-base: ⊦ min(a ') = a; ⊦ x + y = [] ↔ x = [] ∧ y = []; (as) ⊦ x + [] = x; (s) ⊦ [] + x = x; (s) a: ⊦ (x + y) + z = x + y + z; from specification list Used terms: x3 + x, a
| ⊦ x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x)) |
| min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = (a < min(x3 + x) ⊃ a;min(x3 + x)), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ (a < min(x3 + x) ⊃ a;min(x3 + x)), ¬ a0 < min(x + x3), ¬ a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x + a ' + x3) = (a < min(x3 + x) ⊃ a;min(x3 + x)), min(x3 + a0 ' + x) = min(x + x3), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ (a < min(x3 + x) ⊃ a;min(x3 + x)), ¬ a0 < min(x + x3), ¬ a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x + a ' + x3) = (a < min(x3 + x) ⊃ a;min(x3 + x)), min(x3 + a0 ' + x) = min(x + x3), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ (a < min(x3 + x) ⊃ a;min(x3 + x)), ¬ a0 < min(x + x3), ¬ a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = (a < min(x3 + x) ⊃ a;min(x3 + x)), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ a, a < min(x3 + x), ¬ a0 < min(x + x3), ¬ a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = (a < min(x3 + x) ⊃ a;min(x3 + x)), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ min(x3 + x), ¬ a < min(x3 + x), ¬ a0 < min(x + x3), ¬ a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = (a < min(x3 + x) ⊃ a;min(x3 + x)), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ a, a < min(x3 + x), ¬ a0 < min(x + x3), ¬ a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = a, x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ a, a < min(x3 + x), min(x + x3) < a, min(x + x3) < min(x3 + x), ¬ a0 < min(x + x3), ¬ a0 < a, ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
Used simplifier rules: transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord] ⊦ a ≠ b → (a < b ↔ ¬ b < a); (ss)
| min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = a, x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ a, a < min(x3 + x), min(x + x3) < a, min(x + x3) < min(x3 + x), ¬ a0 < min(x + x3), ¬ a0 < a, ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
Used simplifier rules: transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification weakord[tord] ⊦ ¬ a < a; (s) ⊦ a + x = a ' + x; (s) ⊦ #(x + y) = # x + # y; (s) ⊦ # a ' = 0 +1; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ m + n < m + n0 ↔ n < n0; (s) ⊦ m < n ↔ ¬ n ≤ m; (ss) ⊦ m + m0 ≤ m ↔ m0 = 0; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: x, x3
| min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = (a < min(x3 + x) ⊃ a;min(x3 + x)), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ min(x3 + x), ¬ a < min(x3 + x), ¬ a0 < min(x + x3), ¬ a0 < (a < min(x3 + x) ⊃ a;min(x3 + x)), ¬ a < min(x + x3), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = min(x3 + x), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ min(x3 + x), ¬ a < min(x + x3), ¬ a < min(x3 + x), ¬ a0 < min(x + x3), ¬ a0 < min(x3 + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦
| min(x3 + a0 ' + x) = min(x + x3), min(x + a ' + x3) = min(x3 + x), x3 + x ≠ [], x + x3 ≠ [], min(x + x3) ≠ min(x3 + x), ¬ a < min(x + x3), ¬ a < min(x3 + x), ¬ a0 < min(x + x3), ¬ a0 < min(x3 + x), ∀ x1, x2. #(x1 + x2) < #((a + x3) + (a0 + x)) → x1 + x2 ≠ [] ∧ min(x1 + x2) ≠ min(x2 + x1) → false ⊦ |
Used simplifier rules: ⊦ a + x = a ' + x; (s) ⊦ #(x + y) = # x + # y; (s) ⊦ # a ' = 0 +1; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ m + n < m + n0 ↔ n < n0; (s) ⊦ m < n ↔ ¬ n ≤ m; (ss) ⊦ m + m0 ≤ m ↔ m0 = 0; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: x, x3
The following image shows the proof tree of sequent calculus. The proved goal is at the bottom. You can click on the nodes to view additional rules. See here for details on colors in a proof tree.