| ⊦ 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), # nσ ≠ ∞ ∧ ¬ n0 < nσ[(# nσ).n - 1], ⌜m0⌝ < # nσ ∧ n0 < nσ[m0] ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ[m] → m0 ≤ m)
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), # nσ ≠ ∞ ∧ ¬ n0 < nσ[(# nσ).n - 1], ⌜m0⌝ < # nσ ∧ n0 < nσ[m0] ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ[m] → m0 ≤ m) |
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], ⌜m0⌝ < # nσ ∧ n0 < nσ[m0] ∧ (⌜m⌝ < # nσ ∧ n0 < nσ[m] → m0 ≤ m)
| 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], ⌜m0⌝ < # nσ ∧ n0 < nσ[m0] ∧ (⌜m⌝ < # nσ ∧ n0 < nσ[m] → m0 ≤ 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. ⌜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. ⌜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 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. ⌜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. ⌜m0⌝ < # nσ ∧ n0 < nσ[m0] ∧ (∀ m. ⌜m⌝ < # nσ ∧ n0 < nσ[m] → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ[(# nσ).n - 1], ⌜m0⌝ < # nσ ∧ n0 < nσ[m0] ∧ (⌜m⌝ < # nσ ∧ n0 < nσ[m] → m0 ≤ m)
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), # nσ ≠ ∞ ∧ ¬ n0 < nσ[(# nσ).n - 1], ⌜m0⌝ < # nσ ∧ n0 < nσ[m0] ∧ (⌜m⌝ < # nσ ∧ n0 < nσ[m] → m0 ≤ m) |
n0 ≠ nσ[m0], nσ ≠ [], ⌜m0⌝ < # nσ, n0 < nσ[m0], mon<(nσ), ∀ 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), ⌜m0⌝ < # nσ ∧ n0 < nσ[m0] ∧ (⌜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σ, n0 < nσ[m0], mon<(nσ), ∀ 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), ⌜m0⌝ < # nσ ∧ n0 < nσ[m0] ∧ (⌜m⌝ < # nσ ∧ n0 < nσ[m] → m0 ≤ m), # nσ ≠ ∞ ∧ ¬ n0 < nσ[(# nσ).n - 1] |
n0 ≠ nσ[m0], nσ ≠ [], m < m0, n0 < nσ[m], ⌜m⌝ < # nσ, ⌜m0⌝ < # nσ, n0 < nσ[m0], mon<(nσ), ∀ 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, n0 < nσ[m], ⌜m⌝ < # nσ, ⌜m0⌝ < # nσ, n0 < nσ[m0], mon<(nσ), ∀ 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. ⌜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σ ∧ (∀ 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), # nσ ≠ ∞ ∧ ¬ nσ[m0] < nσ[(# nσ).n - 1], ⌜m0 + 1⌝ < # nσ ∧ nσ[m0] < nσ[m0 + 1] ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ[m0] < nσ[m1] → m0 + 1 ≤ m1)
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), # nσ ≠ ∞ ∧ ¬ nσ[m0] < nσ[(# nσ).n - 1], ⌜m0 + 1⌝ < # nσ ∧ nσ[m0] < nσ[m0 + 1] ∧ (∀ m1. ⌜m1⌝ < # nσ ∧ nσ[m0] < nσ[m1] → m0 + 1 ≤ m1) |
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], ⌜m0⌝ + ⌜1⌝ < # nσ ∧ nσ[m0] < nσ[m0 + 1] ∧ (⌜m1⌝ < # nσ ∧ nσ[m0] < nσ[m1] → m0 < m1)
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), # nσ ≠ ∞ ∧ ¬ nσ[m0] < nσ[(# nσ).n - 1], ⌜m0⌝ + ⌜1⌝ < # nσ ∧ 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), ⌜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σ ≠ [], ⌜m1⌝ < # nσ, nσ[m0] < nσ[m1], ⌜m0⌝ + ⌜1⌝ < # nσ, mon<(nσ), ¬ 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], ∀ n. ⌜n⌝ + ⌜1⌝ < # nσ → nσ[n] < nσ[n + 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]
Used terms: nσ
| ⊦ mon<(nσ) ↔ (∀ n. ⌜n⌝ + ⌜1⌝ < # nσ → nσ[n] < nσ[n + 1]) |
| nσ ≠ [], ⌜m0⌝ + ⌜1⌝ < # nσ, nσ[m0 + 1] ≤ nσ[m0], ∀ n. ⌜n⌝ + ⌜1⌝ < # nσ → nσ[n] < nσ[n + 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] |
Used simplifier rules: ⊦ m ≤ n → (n < m ↔ false); (s) Used terms: m0
| nσ ≠ [], ⌜m1⌝ < # nσ, nσ[m0] < nσ[m1], ⌜m0⌝ + ⌜1⌝ < # nσ, mon<(nσ), ¬ 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σ ≠ [], ⌜m1⌝ < # nσ, nσ[m0] < nσ[m1], ⌜m0⌝ + ⌜1⌝ < # nσ, mon<(nσ), m1 ≤ 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 ≠ 0; (s) f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic ⊦ m < n ↔ ¬ n ≤ m; (ss)
| nσ ≠ [], ⌜m1⌝ < # nσ, nσ[m0] < nσ[m1], ⌜m0⌝ + ⌜1⌝ < # nσ, mon<(nσ), m1 ≤ 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] |
nσ ≠ [], ⌜m0⌝ + ⌜1⌝ < # nσ, nσ[m0] < nσ[m1], ⌜m1⌝ < # nσ, ⌜m0⌝ < # nσ, mon<(nσ), m1 ≤ m0, ∀ 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σ, nσ[m0] < nσ[m1], ⌜m1⌝ < # nσ, ⌜m0⌝ < # nσ, mon<(nσ), m1 ≤ m0, ∀ 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σ, ⌜m1⌝ < # nσ, nσ[m0] < nσ[m1], ⌜m0⌝ + ⌜1⌝ < # nσ, mon<(nσ), m1 ≤ m0, ∀ 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σ, ⌜m1⌝ < # nσ, nσ[m0] < nσ[m1], ⌜m0⌝ + ⌜1⌝ < # nσ, mon<(nσ), m1 ≤ m0, ∀ 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σ ≠ [], nσ[m0] < nσ[(# nσ).n - 1], mon<(nσ), ∀ 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σ ≠ [], nσ[m0] < nσ[(# nσ).n - 1], mon<(nσ), ∀ 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.