| ¬ (n0 = # ar ∨ n2 = # ar ∨ ar[n0] ≠ ar[n2]), m0 + 1 = lcp(ar, n0 + 1, n2 + 1) + 1, lcp(ar, n0, n1) ≤ m0, n0 ≤ # ar, n1 ≤ # ar, n2 ≤ # ar, suffix(ar, n0) < suffix(ar, n1), suffix(ar, n1) < suffix(ar, n2), ∀ ar0, n, n3, n4. m0 ≠ 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[n0] = ar[n2], n2 < # ar, n1 ≤ # ar, n0 < # ar, lcp(ar, n0, n1) ≤ lcp(ar, n0 + 1, n2 + 1), suffix(ar, n1) < suffix(ar, n2), suffix(ar, n0) < suffix(ar, n1), ∀ 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 ⊦ n2 = # ar, n0 = # ar
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ m < n → n ≠ 0], [CSIMPFORWARD : ⊦ m < n → n ≠ 0], [CSIMPSEQ : ⊦ m ≠ n → (m ≤ n ↔ m < n)], [CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ m + n = m + n0 ↔ n = n0])]]