| nodups(A), m < # A ⊦ (n < m → #oc(A[n], A, m) = 1) ∧ (m ≤ n ∧ n < # A → #oc(A[n], A, m) = 0) |
∀ A, n. nodups(A) ∧ m0 < # A → (n < m0 → #oc(A[n], A, m0) = 1) ∧ (m0 ≤ n ∧ n < # A → #oc(A[n], A, m0) = 0), nodups(A), m0 +1 < # A ⊦ (n < m0 +1 → #oc(A[n], A, m0 +1) = 1) ∧ (m0 +1 ≤ n ∧ n < # A → #oc(A[n], A, m0 +1) = 0)
[Concretesimprules((Csimpgen(nat freely generated by 0, +1;) Csimpnamedseq(nat-basic1,,zero, ⊦ 0 < m ↔ m ≠ 0) Csimpnamedseq(nat-basic1,,zero-01, ⊦ ¬ m < 0) Csimpnamedseq(nat,,lez, ⊦ 0 ≤ m) Csimpnamedseq(array-perm,array_of_nat,numoc-base, ⊦ #oc(n, A, 0) = 0)))]