| ⊦ ∃ n∞. (n∞ = ∞ ⊃ (∀ n. ∃ n0. n < n0 ∧ np(n0)) ∨ (∀ n. ¬ np(n));(∃ n. np(n∞.n)) ∧ (∀ m. np(m) → ¬ n∞ < ⌜m⌝ )) |
⊦ (∞ = ∞ ⊃ (∀ n. ∃ n0. n < n0 ∧ np(n0)) ∨ (∀ n. ¬ np(n));(∃ n. np(∞.n)) ∧ (∀ m. np(m) → ¬ ∞ < ⌜m⌝ )), ∃ n∞. (n∞ = ∞ ⊃ (∀ n. ∃ n0. n < n0 ∧ np(n0)) ∨ (∀ n. ¬ np(n));(∃ n. np(n∞.n)) ∧ (∀ m. np(m) → ¬ n∞ < ⌜m⌝ ))
Used terms: ∞
| ⊦ (∞ = ∞ ⊃ (∀ n. ∃ n0. n < n0 ∧ np(n0)) ∨ (∀ n. ¬ np(n));(∃ n. np(∞.n)) ∧ (∀ m. np(m) → ¬ ∞ < ⌜m⌝ )), ∃ n∞. (n∞ = ∞ ⊃ (∀ n. ∃ n0. n < n0 ∧ np(n0)) ∨ (∀ n. ¬ np(n));(∃ n. np(n∞.n)) ∧ (∀ m. np(m) → ¬ n∞ < ⌜m⌝ )) |
np(n0) ⊦ ∃ n∞. (n∞ = ∞ ⊃ (∀ n. ∃ n0. n < n0 ∧ np(n0)) ∨ (∀ n. ¬ np(n));np(n∞.n) ∧ (∀ m. np(m) → ¬ n∞ < ⌜m⌝ )), ∃ n0. n < n0 ∧ np(n0)
| np(n0) ⊦ ∃ n∞. (n∞ = ∞ ⊃ (∀ n. ∃ n0. n < n0 ∧ np(n0)) ∨ (∀ n. ¬ np(n));np(n∞.n) ∧ (∀ m. np(m) → ¬ n∞ < ⌜m⌝ )), ∃ n0. n < n0 ∧ np(n0) |
np(n0), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)) ⊦ ∃ n0. n < n0 ∧ np(n0), ∃ n∞. (n∞ = ∞ ⊃ (∀ n. ∃ n0. n < n0 ∧ np(n0)) ∨ (∀ n. ¬ np(n));np(n∞.n) ∧ (∀ m. np(m) → ¬ n∞ < ⌜m⌝ ))
np(n0) ⊦ ∃ n0. n < n0 ∧ np(n0), ∃ n∞. (n∞ = ∞ ⊃ (∀ n. ∃ n0. n < n0 ∧ np(n0)) ∨ (∀ n. ¬ np(n));np(n∞.n) ∧ (∀ m. np(m) → ¬ n∞ < ⌜m⌝ )), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))
Used formulas: ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))
| np(n0), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)) ⊦ ∃ n0. n < n0 ∧ np(n0), ∃ n∞. (n∞ = ∞ ⊃ (∀ n. ∃ n0. n < n0 ∧ np(n0)) ∨ (∀ n. ¬ np(n));np(n∞.n) ∧ (∀ m. np(m) → ¬ n∞ < ⌜m⌝ )) |
np(n1), np(n0), ∀ n0. n1 < n0 → ¬ np(n0) ⊦ ∃ n∞. (n∞ = ∞ ⊃ (∀ n. ∃ n0. n < n0 ∧ np(n0)) ∨ (∀ n. ¬ np(n));np(n∞.n) ∧ (∀ m. np(m) → ¬ n∞ < ⌜m⌝ )), ∃ n0. n < n0 ∧ np(n0)
| np(n1), np(n0), ∀ n0. n1 < n0 → ¬ np(n0) ⊦ ∃ n∞. (n∞ = ∞ ⊃ (∀ n. ∃ n0. n < n0 ∧ np(n0)) ∨ (∀ n. ¬ np(n));np(n∞.n) ∧ (∀ m. np(m) → ¬ n∞ < ⌜m⌝ )), ∃ n0. n < n0 ∧ np(n0) |
np(n0), np(n1), ∀ n0. n1 < n0 → ¬ np(n0) ⊦ (⌜n1⌝ = ∞ ⊃ (∀ n. ∃ n0. n < n0 ∧ np(n0)) ∨ (∀ n. ¬ np(n));np(⌜n1⌝ .n) ∧ (∀ m. np(m) → ¬ ⌜n1⌝ < ⌜m⌝ )), ∃ n0. n < n0 ∧ np(n0)
Used terms: ⌜n1⌝
| np(n0), np(n1), ∀ n0. n1 < n0 → ¬ np(n0) ⊦ (⌜n1⌝ = ∞ ⊃ (∀ n. ∃ n0. n < n0 ∧ np(n0)) ∨ (∀ n. ¬ np(n));np(⌜n1⌝ .n) ∧ (∀ m. np(m) → ¬ ⌜n1⌝ < ⌜m⌝ )), ∃ n0. n < n0 ∧ np(n0) |
n1 < m, np(m), np(n0), np(n1), ∀ n0. n1 < n0 → ¬ np(n0) ⊦ ∃ n0. n < n0 ∧ np(n0)
Used simplifier rules: ⊦ m < n → n ≠ 0; (s) f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s) ⊦ ⌜n⌝ .n = n; (s) ⊦ ⌜n⌝ ≠ ∞; (s)
| n1 < m, np(m), np(n0), np(n1), ∀ n0. n1 < n0 → ¬ np(n0) ⊦ ∃ n0. n < n0 ∧ np(n0) |
Used terms: m
| np(n0) ⊦ ∃ n0. n < n0 ∧ np(n0), ∃ n∞. (n∞ = ∞ ⊃ (∀ n. ∃ n0. n < n0 ∧ np(n0)) ∨ (∀ n. ¬ np(n));np(n∞.n) ∧ (∀ m. np(m) → ¬ n∞ < ⌜m⌝ )), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)) |
np(n0) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n0. n < n0 ∧ np(n0)
| np(n0) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n0. n < n0 ∧ np(n0) |
np(n0), ∀ n2, n3, np. n2 - n3 < n - n0 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n0. n < n0 ∧ np(n0)
Used simplifier rules: <; (wellfounded) Used terms: n - n0
| np(n0), ∀ n2, n3, np. n2 - n3 < n - n0 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n0. n < n0 ∧ np(n0) |
np(n0), ∀ n2, n3, np. n2 - n3 < n - n0 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n0. n < n0 ∧ np(n0), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))
| np(n0), ∀ n2, n3, np. n2 - n3 < n - n0 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n0. n < n0 ∧ np(n0), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)) |
np(n0), ∀ n2, n3, np. n2 - n3 < n - n0 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n0. n < n0 ∧ np(n0), np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))
Used terms: n
| np(n0), ∀ n2, n3, np. n2 - n3 < n - n0 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n0. n < n0 ∧ np(n0), np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)) |
np(n0), ∀ n2, n3, np. n2 - n3 < n - n0 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n0. n < n0 ∧ np(n0), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), np(n) ∧ (n < n1 → ¬ np(n1))
| np(n0), ∀ n2, n3, np. n2 - n3 < n - n0 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n0. n < n0 ∧ np(n0), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), np(n) ∧ (n < n1 → ¬ np(n1)) |
np(n0), ¬ np(n), ∀ n2, n3, np. n2 - n3 < n - n0 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n0. n < n0 ∧ np(n0)
n < n1, np(n1), np(n0), ∀ n2, n3, np. n2 - n3 < n - n0 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n0. n < n0 ∧ np(n0)
| np(n0), ¬ np(n), ∀ n2, n3, np. n2 - n3 < n - n0 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n0. n < n0 ∧ np(n0) |
np(n0), ¬ np(n), ∀ n2, n3, np. n2 - n3 < n - n0 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n0. n < n0 ∧ np(n0), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), n < n0 ∧ np(n0)
Used terms: n0
| np(n0), ¬ np(n), ∀ n2, n3, np. n2 - n3 < n - n0 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n0. n < n0 ∧ np(n0), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), n < n0 ∧ np(n0) |
np(n0), n0 ≤ n, ¬ np(n), ∀ n2, n3, np. n2 - n3 < n - n0 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n0. n < n0 ∧ np(n0)
Used simplifier rules: ⊦ m < n ↔ ¬ n ≤ m; (ss)
| np(n0), n0 ≤ n, ¬ np(n), ∀ n2, n3, np. n2 - n3 < n - n0 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n0. n < n0 ∧ np(n0) |
n = n1 + n0, np(n0), n0 ≤ n, ¬ np(n), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n0. n < n0 ∧ np(n0), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))
Used simplifier rules: n ≤ m ⊦ n0 = m - n ↔ m = n0 + n; (elim) Used terms: n, n0, n1
| n = n1 + n0, np(n0), n0 ≤ n, ¬ np(n), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n0. n < n0 ∧ np(n0), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)) |
np(n0), ¬ np(n1 + n0), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n2. n1 + n0 < n2 ∧ np(n2)
Used simplifier rules: c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ m ≤ m + n; (s)
| np(n0), ¬ np(n1 + n0), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n2. n1 + n0 < n2 ∧ np(n2) |
np(n0), ¬ n1 + n0 - 1 - n0 < n1, ¬ np(n1 + n0), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n2. n1 + n0 < n2 ∧ np(n2), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))
np(n0), ¬ np(n1 + n0), (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n. n1 + n0 - 1 < n ∧ np(n)), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n2. n1 + n0 < n2 ∧ np(n2), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))
Used terms: n1 + n0 - 1, n0, np
| np(n0), ¬ n1 + n0 - 1 - n0 < n1, ¬ np(n1 + n0), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n2. n1 + n0 < n2 ∧ np(n2), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)) |
n1 + n0 = m + 1, n1 + n0 ≠ 0, np(n0), ¬ m - n0 < n1, ¬ np(n1 + n0), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n2. n1 + n0 < n2 ∧ np(n2)
Used simplifier rules: ⊦ m + n = 0 ↔ m = 0 ∧ n = 0; (ws) n0 ≤ n ⊦ n - n0 < m ↔ n < m + n0; (s) ⊦ m < n ↔ ¬ n ≤ m; (ss) leprf: ⊦ m ≤ m - 1 → m = 0; (forward) from specification nat ⊦ 0 ≤ m; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic n ≠ 0 ⊦ m = n - 1 ↔ n = m + 1; (elim) Used terms: n1 + n0, m
| n1 + n0 = m + 1, n1 + n0 ≠ 0, np(n0), ¬ m - n0 < n1, ¬ np(n1 + n0), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n2. n1 + n0 < n2 ∧ np(n2) |
n1 + n0 = m + 1, np(n0), n1 ≤ m - n0, ¬ np(m + 1), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n2. m + 1 < n2 ∧ np(n2)
Used simplifier rules: c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ m + 1 ≠ 0; (s) ⊦ m < n ↔ ¬ n ≤ m; (ss)
| n1 + n0 = m + 1, np(n0), n1 ≤ m - n0, ¬ np(m + 1), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n2. m + 1 < n2 ∧ np(n2) |
n1 + n0 = m + 1, np(n0), n1 ≤ m - n0, ¬ np(m + 1), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n2. m + 1 < n2 ∧ np(n2), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), m + 1 < n0 ∧ np(n0)
Used terms: n0
| n1 + n0 = m + 1, np(n0), n1 ≤ m - n0, ¬ np(m + 1), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n2. m + 1 < n2 ∧ np(n2), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), m + 1 < n0 ∧ np(n0) |
n1 + n0 = m + 1, np(n0), n1 ≤ m - n0, n0 ≤ m + 1, ¬ np(m + 1), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n2. m + 1 < n2 ∧ np(n2)
Used simplifier rules: ⊦ m < n ↔ ¬ n ≤ m; (ss)
| n1 + n0 = m + 1, np(n0), n1 ≤ m - n0, n0 ≤ m + 1, ¬ np(m + 1), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n2. m + 1 < n2 ∧ np(n2) |
n1 + n0 = m + 1, np(n0), n0 ≤ m + 1, n1 ≤ m - n0, ¬ np(m + 1), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n2. m + 1 < n2 ∧ np(n2), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), np(n0) ∧ (∀ n1. n0 < n1 → ¬ np(n1))
Used terms: n0
| n1 + n0 = m + 1, np(n0), n0 ≤ m + 1, n1 ≤ m - n0, ¬ np(m + 1), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n2. m + 1 < n2 ∧ np(n2), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), np(n0) ∧ (∀ n1. n0 < n1 → ¬ np(n1)) |
n1 + n0 = m + 1, n0 < n, np(n), np(n0), n0 ≤ m + 1, n1 ≤ m - n0, ¬ np(m + 1), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n2. m + 1 < n2 ∧ np(n2), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))
Used simplifier rules: ⊦ m < n → n ≠ 0; (s) f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic
| n1 + n0 = m + 1, n0 < n, np(n), np(n0), n0 ≤ m + 1, n1 ≤ m - n0, ¬ np(m + 1), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n2. m + 1 < n2 ∧ np(n2), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)) |
Used simplifier rules: ⊦ m ≤ n ↔ ¬ n < m; (ss) ⊦ m < n → (n ≤ m + 1 ↔ n = m + 1); (s) ⊦ m < n ↔ ¬ n ≤ m; (ss) eqle-one: ⊦ m = n + 1 ∧ n < n0 → m ≤ n0; (forward) from specification nat le-one: ⊦ m ≤ n + 1 ∧ n < n0 → m ≤ n0; (forward) from specification nat lf-02: ⊦ m < n ∧ m = n0 → n0 < n; (forward) from specification nat-basic fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic lf: ⊦ m < n ∧ n < n0 → m +1 < n0; (forward) from specification nat-basic lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic trans-nat: ⊦ n < n0 ∧ n0 < n1 → n < n1; (forward) from specification nat-basic ⊦ m < n → n ≠ 0; (s) ⊦ m ≤ m; (s) ⊦ 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 ⊦ m < n → (n ≤ m ↔ false); (s) n0 ≤ n ⊦ m ≤ n - n0 ↔ m + n0 ≤ n; (s) ⊦ m = n + 1 → ¬ m ≤ n; (s) Used terms: n
| np(n0), ¬ np(n1 + n0), (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n. n1 + n0 - 1 < n ∧ np(n)), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n2. n1 + n0 < n2 ∧ np(n2), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)) |
n1 + n0 - 1 < n, np(n), np(n0), ¬ np(n1 + n0), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n2. n1 + n0 < n2 ∧ np(n2), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))
Used simplifier rules: ⊦ m < n → n ≠ 0; (s) f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic
| n1 + n0 - 1 < n, np(n), np(n0), ¬ np(n1 + n0), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n2. n1 + n0 < n2 ∧ np(n2), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)) |
n1 + n0 = m + 1, n1 + n0 ≠ 0, m < n, np(n0), np(n), ¬ np(n1 + n0), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n2. n1 + n0 < n2 ∧ np(n2)
Used simplifier rules: ⊦ m + n = 0 ↔ m = 0 ∧ n = 0; (ws) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic n ≠ 0 ⊦ m = n - 1 ↔ n = m + 1; (elim) Used terms: n1 + n0, m
| n1 + n0 = m + 1, n1 + n0 ≠ 0, m < n, np(n0), np(n), ¬ np(n1 + n0), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n2. n1 + n0 < n2 ∧ np(n2) |
n1 + n0 = m + 1, m < n, np(n), np(n0), ¬ np(m + 1), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n2. m + 1 < n2 ∧ np(n2), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))
Used simplifier rules: c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ m + 1 ≤ n ↔ m < n; (s) ⊦ m + 1 ≠ 0; (s) eqle-one: ⊦ m = n + 1 ∧ n < n0 → m ≤ n0; (forward) from specification nat
| n1 + n0 = m + 1, m < n, np(n), np(n0), ¬ np(m + 1), ∀ n2, n3, np. n2 - n3 < n1 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n2. m + 1 < n2 ∧ np(n2), ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)) |
Used simplifier rules: ⊦ m < n ↔ ¬ n ≤ m; (ss) ⊦ m < n → (n ≤ m + 1 ↔ n = m + 1); (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: n
| n < n1, np(n1), np(n0), ∀ n2, n3, np. n2 - n3 < n - n0 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n0. n < n0 ∧ np(n0) |
n < n1, np(n1), np(n0), ∀ n2, n3, np. n2 - n3 < n - n0 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n0. n < n0 ∧ np(n0)
Used simplifier rules: ⊦ m < n → n ≠ 0; (s) f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic
| n < n1, np(n1), np(n0), ∀ n2, n3, np. n2 - n3 < n - n0 → np(n3) → (∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0))) ∨ (∃ n0. n2 < n0 ∧ np(n0)) ⊦ ∃ n. np(n) ∧ (∀ n0. n < n0 → ¬ np(n0)), ∃ n0. n < n0 ∧ np(n0) |
Used terms: n1
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.