| ∀ i0. ¬(i0 ^ n→i(# ints0) < Π ints0 ∧ (∀ i. i ∈ ints0 → 0 < i ∧ i ≤ i0)), i0 ^ n→i(#(i + ints0)) < Π(i + ints0), ∀ i1. i1 ∈ i + ints0 → 0 < i1 ∧ i1 ≤ i0 ⊦ |
i0 ^ (1 + n→i(# ints0)) < i * Π ints0, ∀ i1. ¬ i1 ^ n→i(# ints0) < Π ints0 ∨ (∃ i. ¬(i ∈ ints0 → 0 < i ∧ i ≤ i1)), ∀ i1. i1 = i ∨ i1 ∈ ints0 → 0 < i1 ∧ i1 ≤ i0 ⊦
Used simplifier rules: in-17: ⊦ i ∈ i0 ' ↔ i = i0; from specification list[intlista]%in-append: ⊦ i ∈ ints + ints0 ↔ ¬ ¬(i ∈ ints ∨ i ∈ ints0); from specification list[intlista]%prod-rec: ⊦ Π(i ' + ints) = i * Π ints; from specification intlist%c: ⊦ m + n = n + m; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%n2i-add: ⊦ n→i(m + n) = n→i(m) + n→i(n); from specification intnat%a: ⊦ (ints + ints0) + ints1 = ints + ints0 + ints1; from specification list[intlista]%len-02: ⊦ # i ' = 0 +1; from specification list[intlista]%len: ⊦ #(ints + ints0) = # ints + # ints0; from specification list[intlista]%c: ⊦ i + ints = i ' + ints; from specification list[intlista]