| ⊦ mon<(nσ) → (∃ m0. (nσ = [] ⊃ m0 = 0 ;(# nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n ⊃ m0 = (# nσ).n ;⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m) ) )) |
mon<(nσ) ⊦ ∃ m0. (nσ = [] ⊃ m0 = 0 ;(# nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n ⊃ m0 = (# nσ).n ;⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m) ) )
| mon<(nσ) ⊦ ∃ m0. (nσ = [] ⊃ m0 = 0 ;(# nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n ⊃ m0 = (# nσ).n ;⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m) ) ) |
mon<(nσ) ⊦ ∃ m0. (nσ = [] ⊃ m0 = 0 ;(# nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n ⊃ m0 = (# nσ).n ;⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m) ) )
| mon<(nσ) ⊦ ∃ m0. (nσ = [] ⊃ m0 = 0 ;(# nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n ⊃ m0 = (# nσ).n ;⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m) ) ) |
nσ ≠ [], mon<(nσ) ⊦ ∃ m0. (nσ = [] ⊃ m0 = 0 ;(# nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n ⊃ m0 = (# nσ).n ;⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m) ) )
Used formulas: nσ = []
| nσ ≠ [], mon<(nσ) ⊦ ∃ m0. (nσ = [] ⊃ m0 = 0 ;(# nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n ⊃ m0 = (# nσ).n ;⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m) ) ) |
nσ ≠ [], mon<(nσ) ⊦ ∃ m0. (# nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n ⊃ m0 = (# nσ).n;⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m))
| nσ ≠ [], mon<(nσ) ⊦ ∃ m0. (# nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n ⊃ m0 = (# nσ).n;⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m)) |
nσ ≠ [], mon<(nσ) ⊦ ∃ m0. (# nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n ⊃ m0 = (# nσ).n;⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m)), # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n
Used formulas: # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n
| nσ ≠ [], mon<(nσ) ⊦ ∃ m0. (# nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n ⊃ m0 = (# nσ).n;⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m)), # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n |
nσ ≠ [], mon<(nσ) ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n
| nσ ≠ [], mon<(nσ) ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n |
nσ ≠ [], mon<(nσ), ∀ n1, nσ. n1 < n → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n
Used simplifier rules: <; (wellfounded) Used terms: n
| nσ ≠ [], mon<(nσ), ∀ n1, nσ. n1 < n → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n |
nσ ≠ [], mon<(nσ), ∀ n1, nσ. n1 < n → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n
| nσ ≠ [], mon<(nσ), ∀ n1, nσ. n1 < n → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n |
n = 0, nσ ≠ [], mon<(nσ), ∀ n1, nσ. n1 < n → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n
n = n0.+1, nσ ≠ [], mon<(nσ), ∀ n1, nσ. n1 < n → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n
Used simplifier rules: Nat freely generated by 0, +1;
| n = 0, nσ ≠ [], mon<(nσ), ∀ n1, nσ. n1 < n → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n |
nσ ≠ [], mon<(nσ), ∀ n1, nσ. n1 < 0 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ → m0 ≤ m)
Used simplifier rules: ⊦ 0 ≤ m; (s) ⊦ ¬ n < 0; (s)
| nσ ≠ [], mon<(nσ), ∀ n1, nσ. n1 < 0 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ → m0 ≤ m) |
Used simplifier rules: ⊦ ⌜0⌝ < # σ ↔ σ ≠ []; (s) ⊦ 0 ≤ m; (s) Used terms: 0
| n = n0.+1, nσ ≠ [], mon<(nσ), ∀ n1, nσ. n1 < n → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n |
nσ ≠ [], mon<(nσ), ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1)
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 = m + 1; (s) ⊦ m < n + 1 ↔ ¬ n < m; (s)
| nσ ≠ [], mon<(nσ), ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1) |
nσ ≠ [], mon<(nσ), (∃ m0. ⌜m0⌝ < # nσ ∧ n0 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n0, ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1)
Used simplifier rules: ⊦ m.+1 = m + 1; (s) ⊦ m < n + 1 ↔ ¬ n < m; (s) ⊦ ¬ n < n; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: n0, nσ
| nσ ≠ [], mon<(nσ), (∃ m0. ⌜m0⌝ < # nσ ∧ n0 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n0, ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1) |
nσ ≠ [], mon<(nσ), ⌜m0⌝ < # nσ ∧ n0 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n0, ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1)
| nσ ≠ [], mon<(nσ), ⌜m0⌝ < # nσ ∧ n0 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n0, ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1) |
nσ ≠ [], mon<(nσ), ⌜m0⌝ < # nσ ∧ n0 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n0, ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1)
Used terms: m0
| nσ ≠ [], mon<(nσ), ⌜m0⌝ < # nσ ∧ n0 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n0, ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1) |
nσ ≠ [], mon<(nσ), ⌜m0⌝ < # nσ ∧ n0 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n0, ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1)
| nσ ≠ [], mon<(nσ), ⌜m0⌝ < # nσ ∧ n0 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n0, ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1) |
n0 ≠ nσ(m0), nσ ≠ [], mon<(nσ), ⌜m0⌝ < # nσ ∧ n0 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n0, ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1)
n0 = nσ(m0), nσ ≠ [], mon<(nσ), ⌜m0⌝ < # nσ ∧ n0 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n0, ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1)
Used formulas: n0 ≠ nσ(m0)
| n0 ≠ nσ(m0), nσ ≠ [], mon<(nσ), ⌜m0⌝ < # nσ ∧ n0 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n0, ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1) |
n0 ≠ nσ(m0), nσ ≠ [], mon<(nσ), ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n0, ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1)
Used simplifier rules: ⊦ m ≠ n → (m ≤ n ↔ m < n); (s)
| n0 ≠ nσ(m0), nσ ≠ [], mon<(nσ), ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n0, ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1) |
n0 ≠ nσ(m0), nσ ≠ [], ⌜m0⌝ < # nσ, mon<(nσ), n0 < nσ(m0), ∀ m. ⌜m⌝ < # nσ ∧ n0 ≤ nσ(m) → m0 ≤ m, ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1)
Used simplifier rules: ⊦ m < n → ¬ n < m; (s)
| n0 ≠ nσ(m0), nσ ≠ [], ⌜m0⌝ < # nσ, mon<(nσ), n0 < nσ(m0), ∀ m. ⌜m⌝ < # nσ ∧ n0 ≤ nσ(m) → m0 ≤ m, ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1) |
n0 ≠ nσ(m0), nσ ≠ [], m < m0, ⌜m⌝ < # nσ, ⌜m0⌝ < # nσ, mon<(nσ), n0 < nσ(m), n0 < nσ(m0), ∀ m. ⌜m⌝ < # nσ ∧ n0 ≤ nσ(m) → m0 ≤ m, ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1)
Used simplifier rules: ⊦ m < n → n ≠ 0; (s) f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic ⊦ m ≤ n ↔ ¬ n < m; (ss)
| n0 ≠ nσ(m0), nσ ≠ [], m < m0, ⌜m⌝ < # nσ, ⌜m0⌝ < # nσ, mon<(nσ), n0 < nσ(m), n0 < nσ(m0), ∀ m. ⌜m⌝ < # nσ ∧ n0 ≤ nσ(m) → m0 ≤ m, ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1) |
Used simplifier rules: ⊦ m < n → m ≤ n; (s) ⊦ m < n → (n ≤ m ↔ false); (s) Used terms: m
| n0 = nσ(m0), nσ ≠ [], mon<(nσ), ⌜m0⌝ < # nσ ∧ n0 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n0, ∀ n1, nσ. n1 < n0.+1 → nσ ≠ [] ∧ mon<(nσ) → (∃ m0. ⌜m0⌝ < # nσ ∧ n1 ≤ nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n1 ≤ nσ(m) → m0 ≤ m)) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < n1 ⊦ ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), ∃ m0. ⌜m0⌝ < # nσ ∧ n0 < nσ(m0) ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ(m) → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ((# nσ).n - 1) |
nσ ≠ [], mon<(nσ), ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1)
Used simplifier rules: ⊦ ¬ n < n; (s) ⊦ m ≤ m; (s)
| nσ ≠ [], mon<(nσ), ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1) |
nσ ≠ [], mon<(nσ), ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), ⌜m0 + 1⌝ < # nσ ∧ nσ(m0) < nσ(m0 + 1) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m0 + 1 ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1)
Used terms: m0 + 1
| nσ ≠ [], mon<(nσ), ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), ⌜m0 + 1⌝ < # nσ ∧ nσ(m0) < nσ(m0 + 1) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m0 + 1 ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1) |
nσ ≠ [], mon<(nσ), ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), ⌜m0⌝ + ⌜1⌝ < # nσ ∧ nσ(m0) < nσ(m0 + 1) ∧ (⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m0 < m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1)
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 + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s)
| nσ ≠ [], mon<(nσ), ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), ⌜m0⌝ + ⌜1⌝ < # nσ ∧ nσ(m0) < nσ(m0 + 1) ∧ (⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m0 < m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1) |
nσ ≠ [], ⌜m0⌝ + ⌜1⌝ < # nσ, mon<(nσ), ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), ⌜m0⌝ + ⌜1⌝ < # nσ ∧ nσ(m0) < nσ(m0 + 1) ∧ (⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m0 < m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1)
nσ ≠ [], mon<(nσ), ¬ ⌜m0⌝ + ⌜1⌝ < # nσ, ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), ⌜m0⌝ + ⌜1⌝ < # nσ ∧ nσ(m0) < nσ(m0 + 1) ∧ (⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m0 < m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1)
Used formulas: ⌜m0⌝ + ⌜1⌝ < # nσ
| nσ ≠ [], ⌜m0⌝ + ⌜1⌝ < # nσ, mon<(nσ), ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), ⌜m0⌝ + ⌜1⌝ < # nσ ∧ nσ(m0) < nσ(m0 + 1) ∧ (⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m0 < m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1) |
nσ ≠ [], ⌜m0⌝ + ⌜1⌝ < # nσ, mon<(nσ), ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1), nσ(m0) < nσ(m0 + 1) ∧ (⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m0 < m1)
| nσ ≠ [], ⌜m0⌝ + ⌜1⌝ < # nσ, mon<(nσ), ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1), nσ(m0) < nσ(m0 + 1) ∧ (⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m0 < m1) |
nσ ≠ [], ⌜m0⌝ + ⌜1⌝ < # nσ, mon<(nσ), ¬ nσ(m0) < nσ(m0 + 1), ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1)
nσ ≠ [], ⌜m0⌝ + ⌜1⌝ < # nσ, ⌜m1⌝ < # nσ, mon<(nσ), nσ(m0) < nσ(m1), ¬ m0 < m1, ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1)
| nσ ≠ [], ⌜m0⌝ + ⌜1⌝ < # nσ, mon<(nσ), ¬ nσ(m0) < nσ(m0 + 1), ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1) |
nσ ≠ [], ⌜m0⌝ + ⌜1⌝ < # nσ, mon<(nσ), nσ(m0 + 1) ≤ nσ(m0), ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1)
Used simplifier rules: ⊦ m < n ↔ ¬ n ≤ m; (ss)
| nσ ≠ [], ⌜m0⌝ + ⌜1⌝ < # nσ, mon<(nσ), nσ(m0 + 1) ≤ nσ(m0), ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1) |
⊦ mon<(nσ) ↔ (∀ n. ⌜n⌝ + ⌜1⌝ < # nσ → nσ(n) < nσ(n + 1))
nσ ≠ [], ⌜m0⌝ + ⌜1⌝ < # nσ, nσ(m0 + 1) ≤ nσ(m0), ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n. ⌜n⌝ + ⌜1⌝ < # nσ → nσ(n) < nσ(n + 1), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1)
Used terms: nσ
| ⊦ mon<(nσ) ↔ (∀ n. ⌜n⌝ + ⌜1⌝ < # nσ → nσ(n) < nσ(n + 1)) |
| nσ ≠ [], ⌜m0⌝ + ⌜1⌝ < # nσ, nσ(m0 + 1) ≤ nσ(m0), ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n. ⌜n⌝ + ⌜1⌝ < # nσ → nσ(n) < nσ(n + 1), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1) |
Used simplifier rules: ⊦ m ≤ n → (n < m ↔ false); (s) Used terms: m0
| nσ ≠ [], ⌜m0⌝ + ⌜1⌝ < # nσ, ⌜m1⌝ < # nσ, mon<(nσ), nσ(m0) < nσ(m1), ¬ m0 < m1, ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1) |
nσ ≠ [], ⌜m0⌝ + ⌜1⌝ < # nσ, m1 ≤ m0, ⌜m1⌝ < # nσ, mon<(nσ), nσ(m0) < nσ(m1), ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1)
Used simplifier rules: ⊦ m < n → n ≠ 0; (s) f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic ⊦ m < n ↔ ¬ n ≤ m; (ss)
| nσ ≠ [], ⌜m0⌝ + ⌜1⌝ < # nσ, m1 ≤ m0, ⌜m1⌝ < # nσ, mon<(nσ), nσ(m0) < nσ(m1), ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1) |
nσ ≠ [], ⌜m0⌝ + ⌜1⌝ < # nσ, ⌜m0⌝ < # nσ, ⌜m1⌝ < # nσ, m1 ≤ m0, mon<(nσ), nσ(m0) < nσ(m1), ∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m, ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1)
Used simplifier rules: ⊦ m < n → ¬ n < m; (s)
| nσ ≠ [], ⌜m0⌝ + ⌜1⌝ < # nσ, ⌜m0⌝ < # nσ, ⌜m1⌝ < # nσ, m1 ≤ m0, mon<(nσ), nσ(m0) < nσ(m1), ∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m, ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1) |
nσ ≠ [], ⌜m0⌝ < # nσ, ⌜m0⌝ + ⌜1⌝ < # nσ, m1 ≤ m0, ⌜m1⌝ < # nσ, mon<(nσ), nσ(m0) < nσ(m1), ∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m, ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1)
| nσ ≠ [], ⌜m0⌝ < # nσ, ⌜m0⌝ + ⌜1⌝ < # nσ, m1 ≤ m0, ⌜m1⌝ < # nσ, mon<(nσ), nσ(m0) < nσ(m1), ∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m, ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1) |
Used simplifier rules: ⊦ m < n → m ≤ n; (s) ⊦ m ≤ n → (n ≤ m ↔ m = n); (s) ⊦ ¬ n < n; (s) Used terms: m1
| nσ ≠ [], mon<(nσ), ¬ ⌜m0⌝ + ⌜1⌝ < # nσ, ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), ⌜m0⌝ + ⌜1⌝ < # nσ ∧ nσ(m0) < nσ(m0 + 1) ∧ (⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m0 < m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1) |
nσ ≠ [], mon<(nσ), ¬ ⌜m0⌝ + ⌜1⌝ < # nσ, ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1)
| nσ ≠ [], mon<(nσ), ¬ ⌜m0⌝ + ⌜1⌝ < # nσ, ⌜m0⌝ < # nσ ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m) ∨ # nσ ≠ ∞ ∧ nσ((# nσ).n - 1) < nσ(m0), ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1) |
nσ ≠ [], ⌜m0⌝ < # nσ, mon<(nσ), ¬ ⌜m0⌝ + ⌜1⌝ < # nσ, ∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m, ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1)
Used simplifier rules: ⊦ m < n → ¬ n < m; (s)
| nσ ≠ [], ⌜m0⌝ < # nσ, mon<(nσ), ¬ ⌜m0⌝ + ⌜1⌝ < # nσ, ∀ m. ⌜m⌝ < # nσ ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m, ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ⌜m⌝ < # nσ ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ(m0) < nσ(m1) → m ≤ m1), # nσ ≠ ∞ ∧ ¬ nσ(m0) < nσ((# nσ).n - 1) |
⌜m0⌝ + ⌜1⌝ = # nσ, nσ ≠ [], mon<(nσ), nσ(m0) < nσ((# nσ).n - 1), ∀ m. ¬ m0 < m ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m, ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ¬ m0 < m ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ¬ m0 < m1 ∧ nσ(m0) < nσ(m1) → m ≤ m1)
Used simplifier rules: ⊦ m < n → n ≠ 0; (s) f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic 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) ⊦ n∞ = ⌜m⌝ + ⌜n0⌝ → (⌜n⌝ < n∞ ↔ n < m + n0); (s) ⊦ n∞ = ⌜m⌝ + ⌜n⌝ → (n∞ = ∞ ↔ false); (s) ⊦ ¬ n < n; (s) add-comm: ⊦ n∞1 + n∞2 = n∞2 + n∞1; from specification nat-inf add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf ⊦ ⌜m⌝ < n∞ → (⌜m⌝ + ⌜1⌝ < n∞ ↔ ⌜m⌝ + ⌜1⌝ ≠ n∞); (ss)
| ⌜m0⌝ + ⌜1⌝ = # nσ, nσ ≠ [], mon<(nσ), nσ(m0) < nσ((# nσ).n - 1), ∀ m. ¬ m0 < m ∧ nσ(m0) ≤ nσ(m) → m0 ≤ m, ∀ n1, nσ0. n1 < (nσ(m0)).+1 → nσ0 ≠ [] ∧ mon<(nσ0) → (∃ m0. ⌜m0⌝ < # nσ0 ∧ n1 ≤ nσ0(m0) ∧ (∀ m. ⌜m⌝ < # nσ0 ∧ n1 ≤ nσ0(m) → m0 ≤ m)) ∨ # nσ0 ≠ ∞ ∧ nσ0((# nσ0).n - 1) < n1 ⊦ ∃ m. ¬ m0 < m ∧ nσ(m0) < nσ(m) ∧ (∀ m1. ¬ m0 < m1 ∧ nσ(m0) < nσ(m1) → m ≤ m1) |
Used simplifier rules: ⊦ ⌜n⌝ ≠ ∞; (s) n∞ ≠ ∞ ⊦ (⌜m⌝ + n∞).n = m + n∞.n; (s) ⊦ ⌜n⌝ .n = n; (s) add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf add-comm: ⊦ n∞1 + n∞2 = n∞2 + n∞1; from specification nat-inf ⊦ n ≤ m → m + n0 - n = (m - n) + n0; (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 ⊦ ¬ n < n; (s)
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.