| 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) |
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)
[Concretesimprules(()), Extrafmas((m0 ≤ n ∧ n < # A))]