| ∀ n0. n0 < m → nP0(n + n0) ⊆ nP1(n + n0) ⊦ nP0.⊗_(n, m) ⊆ nP1.⊗_(n, m) |
¬ nP0.⊗_(n, m) ⊆ nP1.⊗_(n, m), ∀ n0. n0 < m → nP0(n + n0) ⊆ nP1(n + n0) ⊦
| ¬ nP0.⊗_(n, m) ⊆ nP1.⊗_(n, m), ∀ n0. n0 < m → nP0(n + n0) ⊆ nP1(n + n0) ⊦ |
¬ nP0.⊗_(n, m0.+1) ⊆ nP1.⊗_(n, m0.+1), ∀ n0. n0 < m0.+1 → nP0(n + n0) ⊆ nP1(n + n0), ∀ nP0, n, nP1. ¬(¬ nP0.⊗_(n, m0) ⊆ nP1.⊗_(n, m0) ∧ (∀ n0. n0 < m0 → nP0(n + n0) ⊆ nP1(n + n0))) ⊦
Used simplifier rules: Sep-base: ⊦ nP.⊗_(n, 0) = emp; Nat freely generated by 0, +1; ⊦ hP ⊆ hP; (s)
| ¬ nP0.⊗_(n, m0.+1) ⊆ nP1.⊗_(n, m0.+1), ∀ n0. n0 < m0.+1 → nP0(n + n0) ⊆ nP1(n + n0), ∀ nP0, n, nP1. ¬(¬ nP0.⊗_(n, m0) ⊆ nP1.⊗_(n, m0) ∧ (∀ n0. n0 < m0 → nP0(n + n0) ⊆ nP1(n + n0))) ⊦ |
¬ nP0.⊗_(n, m0 + 1) ⊆ nP1.⊗_(n, m0 + 1), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0), ∀ nP, n0, nP2. nP.⊗_(n0, m0) ⊆ nP2.⊗_(n0, m0) ∨ ¬(∀ n1. n1 < m0 → nP(n0 + n1) ⊆ nP2(n0 + n1)) ⊦
Used simplifier rules: c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ m < n + 1 ↔ ¬ n < m; (s) ⊦ m.+1 = m + 1; (s)
| ¬ nP0.⊗_(n, m0 + 1) ⊆ nP1.⊗_(n, m0 + 1), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0), ∀ nP, n0, nP2. nP.⊗_(n0, m0) ⊆ nP2.⊗_(n0, m0) ∨ ¬(∀ n1. n1 < m0 → nP(n0 + n1) ⊆ nP2(n0 + n1)) ⊦ |
⊦ nP.⊗_(n, m + 1) = nP(n) * nP.⊗_(n + 1, m)
¬ nP0(n) * nP0.⊗_(n + 1, m0) ⊆ nP1.⊗_(n, m0 + 1), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0), ∀ nP, n0, nP2. nP.⊗_(n0, m0) ⊆ nP2.⊗_(n0, m0) ∨ ¬(∀ n1. n1 < m0 → nP(n0 + n1) ⊆ nP2(n0 + n1)) ⊦
Used terms: m0, n, nP0
| ⊦ nP.⊗_(n, m + 1) = nP(n) * nP.⊗_(n + 1, m) |
| ¬ nP0(n) * nP0.⊗_(n + 1, m0) ⊆ nP1.⊗_(n, m0 + 1), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0), ∀ nP, n0, nP2. nP.⊗_(n0, m0) ⊆ nP2.⊗_(n0, m0) ∨ ¬(∀ n1. n1 < m0 → nP(n0 + n1) ⊆ nP2(n0 + n1)) ⊦ |
⊦ nP.⊗_(n, m + 1) = nP(n) * nP.⊗_(n + 1, m)
¬ nP0(n) * nP0.⊗_(n + 1, m0) ⊆ nP1(n) * nP1.⊗_(n + 1, m0), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0), ∀ nP, n0, nP2. nP.⊗_(n0, m0) ⊆ nP2.⊗_(n0, m0) ∨ ¬(∀ n1. n1 < m0 → nP(n0 + n1) ⊆ nP2(n0 + n1)) ⊦
Used terms: m0, n, nP1
| ⊦ nP.⊗_(n, m + 1) = nP(n) * nP.⊗_(n + 1, m) |
| ¬ nP0(n) * nP0.⊗_(n + 1, m0) ⊆ nP1(n) * nP1.⊗_(n + 1, m0), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0), ∀ nP, n0, nP2. nP.⊗_(n0, m0) ⊆ nP2.⊗_(n0, m0) ∨ ¬(∀ n1. n1 < m0 → nP(n0 + n1) ⊆ nP2(n0 + n1)) ⊦ |
⊦ hP0 ⊆ hP1 ∧ hP2 ⊆ hP3 → hP0 * hP2 ⊆ hP1 * hP3
¬ nP0(n) * nP0.⊗_(n + 1, m0) ⊆ nP1(n) * nP1.⊗_(n + 1, m0), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0), ∀ nP, n0, nP2. nP.⊗_(n0, m0) ⊆ nP2.⊗_(n0, m0) ∨ ¬(∀ n1. n1 < m0 → nP(n0 + n1) ⊆ nP2(n0 + n1)) ⊦ nP0(n) ⊆ nP1(n) ∧ nP0.⊗_(n + 1, m0) ⊆ nP1.⊗_(n + 1, m0)
Used terms: nP1.⊗_(n + 1, m0), nP1(n), nP0.⊗_(n + 1, m0), nP0(n)
| ⊦ hP0 ⊆ hP1 ∧ hP2 ⊆ hP3 → hP0 * hP2 ⊆ hP1 * hP3 |
| ¬ nP0(n) * nP0.⊗_(n + 1, m0) ⊆ nP1(n) * nP1.⊗_(n + 1, m0), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0), ∀ nP, n0, nP2. nP.⊗_(n0, m0) ⊆ nP2.⊗_(n0, m0) ∨ ¬(∀ n1. n1 < m0 → nP(n0 + n1) ⊆ nP2(n0 + n1)) ⊦ nP0(n) ⊆ nP1(n) ∧ nP0.⊗_(n + 1, m0) ⊆ nP1.⊗_(n + 1, m0) |
nP0(n) ⊆ nP1(n), ¬ nP0(n) * nP0.⊗_(n + 1, m0) ⊆ nP1(n) * nP1.⊗_(n + 1, m0), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0), ∀ nP, n0, nP2. nP.⊗_(n0, m0) ⊆ nP2.⊗_(n0, m0) ∨ ¬(∀ n1. n1 < m0 → nP(n0 + n1) ⊆ nP2(n0 + n1)) ⊦ nP0(n) ⊆ nP1(n) ∧ nP0.⊗_(n + 1, m0) ⊆ nP1.⊗_(n + 1, m0)
¬ nP0(n) ⊆ nP1(n), ¬ nP0(n) * nP0.⊗_(n + 1, m0) ⊆ nP1(n) * nP1.⊗_(n + 1, m0), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0), ∀ nP, n0, nP2. nP.⊗_(n0, m0) ⊆ nP2.⊗_(n0, m0) ∨ ¬(∀ n1. n1 < m0 → nP(n0 + n1) ⊆ nP2(n0 + n1)) ⊦ nP0(n) ⊆ nP1(n) ∧ nP0.⊗_(n + 1, m0) ⊆ nP1.⊗_(n + 1, m0)
Used formulas: nP0(n) ⊆ nP1(n)
| nP0(n) ⊆ nP1(n), ¬ nP0(n) * nP0.⊗_(n + 1, m0) ⊆ nP1(n) * nP1.⊗_(n + 1, m0), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0), ∀ nP, n0, nP2. nP.⊗_(n0, m0) ⊆ nP2.⊗_(n0, m0) ∨ ¬(∀ n1. n1 < m0 → nP(n0 + n1) ⊆ nP2(n0 + n1)) ⊦ nP0(n) ⊆ nP1(n) ∧ nP0.⊗_(n + 1, m0) ⊆ nP1.⊗_(n + 1, m0) |
nP0(n) ⊆ nP1(n), ¬ nP0(n) * nP0.⊗_(n + 1, m0) ⊆ nP1(n) * nP1.⊗_(n + 1, m0), ¬ nP0.⊗_(n + 1, m0) ⊆ nP1.⊗_(n + 1, m0), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0), ∀ nP, n0, nP2. nP.⊗_(n0, m0) ⊆ nP2.⊗_(n0, m0) ∨ ¬(∀ n1. n1 < m0 → nP(n0 + n1) ⊆ nP2(n0 + n1)) ⊦
| nP0(n) ⊆ nP1(n), ¬ nP0(n) * nP0.⊗_(n + 1, m0) ⊆ nP1(n) * nP1.⊗_(n + 1, m0), ¬ nP0.⊗_(n + 1, m0) ⊆ nP1.⊗_(n + 1, m0), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0), ∀ nP, n0, nP2. nP.⊗_(n0, m0) ⊆ nP2.⊗_(n0, m0) ∨ ¬(∀ n1. n1 < m0 → nP(n0 + n1) ⊆ nP2(n0 + n1)) ⊦ |
nP0(n) ⊆ nP1(n), ¬ nP0(n) * nP0.⊗_(n + 1, m0) ⊆ nP1(n) * nP1.⊗_(n + 1, m0), ¬ nP0.⊗_(n + 1, m0) ⊆ nP1.⊗_(n + 1, m0), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0), nP0.⊗_(n + 1, m0) ⊆ nP1.⊗_(n + 1, m0) ∨ ¬(∀ n1. n1 < m0 → nP0((n + 1) + n1) ⊆ nP1((n + 1) + n1)) ⊦
Used terms: nP0, n + 1, nP1
| nP0(n) ⊆ nP1(n), ¬ nP0(n) * nP0.⊗_(n + 1, m0) ⊆ nP1(n) * nP1.⊗_(n + 1, m0), ¬ nP0.⊗_(n + 1, m0) ⊆ nP1.⊗_(n + 1, m0), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0), nP0.⊗_(n + 1, m0) ⊆ nP1.⊗_(n + 1, m0) ∨ ¬(∀ n1. n1 < m0 → nP0((n + 1) + n1) ⊆ nP1((n + 1) + n1)) ⊦ |
n1 < m0, nP0(n) ⊆ nP1(n), ¬ nP0((n + 1) + n1) ⊆ nP1((n + 1) + n1), ¬ nP0.⊗_(n + 1, m0) ⊆ nP1.⊗_(n + 1, m0), ¬ nP0(n) * nP0.⊗_(n + 1, m0) ⊆ nP1(n) * nP1.⊗_(n + 1, m0), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0) ⊦
Used simplifier rules: ⊦ m < n → n ≠ 0; (s) f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic
| n1 < m0, nP0(n) ⊆ nP1(n), ¬ nP0((n + 1) + n1) ⊆ nP1((n + 1) + n1), ¬ nP0.⊗_(n + 1, m0) ⊆ nP1.⊗_(n + 1, m0), ¬ nP0(n) * nP0.⊗_(n + 1, m0) ⊆ nP1(n) * nP1.⊗_(n + 1, m0), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0) ⊦ |
Used simplifier rules: ⊦ m < n + 1 ↔ ¬ n < m; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: n1 + 1
| ¬ nP0(n) ⊆ nP1(n), ¬ nP0(n) * nP0.⊗_(n + 1, m0) ⊆ nP1(n) * nP1.⊗_(n + 1, m0), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0), ∀ nP, n0, nP2. nP.⊗_(n0, m0) ⊆ nP2.⊗_(n0, m0) ∨ ¬(∀ n1. n1 < m0 → nP(n0 + n1) ⊆ nP2(n0 + n1)) ⊦ nP0(n) ⊆ nP1(n) ∧ nP0.⊗_(n + 1, m0) ⊆ nP1.⊗_(n + 1, m0) |
¬ nP0(n) ⊆ nP1(n), ¬ nP0(n) * nP0.⊗_(n + 1, m0) ⊆ nP1(n) * nP1.⊗_(n + 1, m0), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0), ∀ nP, n0, nP2. nP.⊗_(n0, m0) ⊆ nP2.⊗_(n0, m0) ∨ ¬(∀ n1. n1 < m0 → nP(n0 + n1) ⊆ nP2(n0 + n1)) ⊦
| ¬ nP0(n) ⊆ nP1(n), ¬ nP0(n) * nP0.⊗_(n + 1, m0) ⊆ nP1(n) * nP1.⊗_(n + 1, m0), ∀ n0. ¬ m0 < n0 → nP0(n + n0) ⊆ nP1(n + n0), ∀ nP, n0, nP2. nP.⊗_(n0, m0) ⊆ nP2.⊗_(n0, m0) ∨ ¬(∀ n1. n1 < m0 → nP(n0 + n1) ⊆ nP2(n0 + n1)) ⊦ |
Used simplifier rules: ⊦ ¬ n < 0; (s) ⊦ n + 0 = n; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: 0
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.