| ¬ (n1 = # ar ∨ ar[n2] ≠ ar[n1]), lcp(ar, n0 + 1, n1 + 1) + 1 ≤ lcp(ar, n0 + 1, n2 + 1), ar[n0] = ar[n2], n0 < # ar, n2 < # ar, n1 < # ar, ∀ ar0, n, n3, n4. lcp(ar, n0 + 1, n2 + 1) ≠ lcp(ar0, n, n3) ∨ ¬ lcp(ar0, n, n4) < lcp(ar0, n, n3) ∨ ¬ suffix(ar0, n4) < suffix(ar0, n3) ∨ ¬ suffix(ar0, n) < suffix(ar0, n4) ∨ ¬ n3 ≤ # ar0 ∨ ¬ n4 ≤ # ar0 ∨ ¬ n ≤ # ar0, ar[n2] < ar[n1] ∨ suffix(ar, n0 + 1) < suffix(ar, n1 + 1) ∧ ar[n2] = ar[n1], ar[n1] < ar[n2] ∨ suffix(ar, n1 + 1) < suffix(ar, n2 + 1) ∧ ar[n1] = ar[n2] ⊦ n0 = # ar, n2 = # ar |
ar[n2] = ar[n1], ar[n0] = ar[n1], n0 < # ar, n2 < # ar, n1 < # ar, lcp(ar, n0 + 1, n1 + 1) < lcp(ar, n0 + 1, n2 + 1), suffix(ar, n0 + 1) < suffix(ar, n1 + 1), suffix(ar, n1 + 1) < suffix(ar, n2 + 1), ∀ ar0, n, n3, n4. lcp(ar, n0 + 1, n2 + 1) ≠ lcp(ar0, n, n3) ∨ ¬ lcp(ar0, n, n4) < lcp(ar0, n, n3) ∨ ¬ suffix(ar0, n4) < suffix(ar0, n3) ∨ ¬ suffix(ar0, n) < suffix(ar0, n4) ∨ ¬ n3 ≤ # ar0 ∨ ¬ n4 ≤ # ar0 ∨ ¬ n ≤ # ar0 ⊦ n0 = # ar, n2 = # ar, n1 = # ar
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ ¬ b < a ∧ a = c → ¬ b < c], [CSIMPSEQ : ⊦ ¬ b < a → (¬ a < b ↔ a = b)], [CSIMPSEQ : ⊦ a < b → (¬ b < a ↔ true)], [CSIMPSEQ : ⊦ ¬ a < a], [CSIMPSEQ : ⊦ m < n → n ≠ 0], [CSIMPFORWARD : ⊦ a < b ∧ a = c → c < b], [CSIMPFORWARD : ⊦ m < n → n ≠ 0], [CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ m + 1 ≤ n ↔ m < n])]]