| m0 ≤ n ∧ n < # A, nodups(A), m0 + 1 < # A, m0 < # A, ∀ A, n. nodups(A) ∧ m0 < # A → (n < m0 → #oc(A[n], A, m0) = 1) ∧ (m0 ≤ n ∧ n < # A → #oc(A[n], A, m0) = 0), n < m0 → #oc(A[n], A, m0) = 1, m0 ≤ n ∧ n < # A → #oc(A[n], A, m0) = 0 ⊦ (¬ m0 < n → #oc(A[n], A, m0) + (A[m0] = A[n] ⊃ 1;0) = 1) ∧ (m0 < n ∧ n < # A → #oc(A[n], A, m0) + (A[m0] = A[n] ⊃ 1;0) = 0) |
#oc(A[n], A, m0) = 0, m0 < # A, m0 + 1 < # A, nodups(A), n < # A, m0 ≤ n, ∀ A, n. nodups(A) ∧ m0 < # A → (n < m0 → #oc(A[n], A, m0) = 1) ∧ (m0 ≤ n ∧ n < # A → #oc(A[n], A, m0) = 0) ⊦ (¬ m0 < n → A[m0] = A[n]) ∧ (m0 < n → A[m0] ≠ A[n])
[Concretesimprules((Csimpnamedseq(nat-basic2,,ax-08, ⊦ n + 0 = n) Csimpnamedforward(nat,,fle-01, ⊦ m ≤ n ∧ n < n0 → m < n0) Csimpnamedseq(nat-basic2,,c, ⊦ m + n = n + m) Csimpnamedseq(nat-basic2,,a, ⊦ (m + n0) + n1 = m + n0 + n1) Csimpnamedseq(nat-basic2,,z-01, ⊦ m + n = 0 ↔ m = 0 ∧ n = 0) Csimpnamedseq(nat,,le-ls-simp, ⊦ m ≤ n → (n < m ↔ false))))]