| ∀ n1, m5, ar2, m6, n3, a2, m7, n4. m4 = # ar2 - n1 ∧ ar2[m6] = ar2[n3] ∧ ar2[n3] ≠ a2 ∧ m6 ≠ n3 ∧ n3 < # ar2 ∧ m6 < # ar2 ∧ m5 < # ar2 ∧ (∀ m1. m1 < m5 → (∀ n. m1 < n ∧ n < # ar2 → ar2[m1] ≠ ar2[n] ∨ ar2[m1] = a2)) ∧ m5 < n1 ∧ n1 ≤ # ar2 ∧ (∀ n0. m5 < n0 ∧ n0 < n1 → ar2[n0] ≠ ar2[m5] ∨ ar2[n0] = a2) → ⦉m0 := m5, bv := false, ar0 := ar2, a0 := a2 ; while n1 < # ar0 ∧ ¬ bv do if ar0[m0] = ar0[n1] ∧ ar0[m0] ≠ a0 then m7 := m0, n4 := n1, bv := true else n1 := n1 + 1⦊ ⦉m0 := m0 + 1⦊ ( (bv ⊃ (ar2[m7] = ar2[n4] ∧ ar2[m7] ≠ a2 ∧ m7 ≠ n4 ∧ m7 < # ar2 ∧ n4 < # ar2) ; (∀ m1. m1 < m0 → (∀ n. m1 < n ∧ n < # ar2 → ar2[m1] ≠ ar2[n] ∨ ar2[m1] = a2)) ) ∧ m0 ≤ # ar2 ∧ (∃ m, n. ar0[m] = ar0[n] ∧ ar2[m] ≠ a0 ∧ m ≠ n ∧ m < # ar0 ∧ n < # ar0) ∧ ¬ m0 ≤ m5), m3 = m0, n1 = n, bv, ar[m0] = ar[n], ar[m] = ar[n0], # ar = (m4 + 1) + n, a1 = a, ar1 = ar, m2 = m0, ar[n] ≠ a, m ≠ n0, ar[n0] ≠ a, m0 ≤ m4 + n, m ≤ m4 + n, n0 ≤ m4 + n, m0 < # ar, n ≤ # ar, m0 < n, m < # ar, n0 < # ar, ∀ n0. m0 < n0 ∧ n0 < n → ar[n0] ≠ ar[n] ∨ ar[n0] = a, ∀ m1. m1 < m0 → (∀ n. m1 < n ∧ n < # ar → ar[m1] ≠ ar[n] ∨ ar[m1] = a), (bv ⊃ (ar[m3] ≠ ar[n1] ∨ ar[m3] = a ∨ m3 = n1 ∨ ¬ m3 < # ar ∨ ¬ n1 < # ar) ; (∃ m1. ¬ (m1 < m2 + 1 → (∀ n. m1 < n ∧ n < # ar → ar[m1] ≠ ar[n] ∨ ar[m1] = a))) ) ∨ ¬ m2 + 1 ≤ # ar ∨ (∀ m, n. ¬ (ar1[m] = ar1[n] ∧ ar[m] ≠ a1 ∧ m ≠ n ∧ m < # ar1 ∧ n < # ar1)) ∨ m2 + 1 ≤ m0 ⊦ |
∀ n1, m5, ar2, m6, n3, a2, m7, n4. m4 = # ar2 - n1 ∧ ar2[m6] = ar2[n3] ∧ ar2[n3] ≠ a2 ∧ m6 ≠ n3 ∧ n3 < # ar2 ∧ m6 < # ar2 ∧ m5 < # ar2 ∧ (∀ m1. m1 < m5 → (∀ n. m1 < n ∧ n < # ar2 → ar2[m1] ≠ ar2[n] ∨ ar2[m1] = a2)) ∧ m5 < n1 ∧ n1 ≤ # ar2 ∧ (∀ n0. m5 < n0 ∧ n0 < n1 → ar2[n0] ≠ ar2[m5] ∨ ar2[n0] = a2) → ⦉m0 := m5, bv := false, ar0 := ar2, a0 := a2 ; while n1 < # ar0 ∧ ¬ bv do if ar0[m0] = ar0[n1] ∧ ar0[m0] ≠ a0 then m7 := m0, n4 := n1, bv := true else n1 := n1 + 1⦊ ⦉m0 := m0 + 1⦊ ( (bv ⊃ (ar2[m7] = ar2[n4] ∧ ar2[m7] ≠ a2 ∧ m7 ≠ n4 ∧ m7 < # ar2 ∧ n4 < # ar2) ; (∀ m1. m1 < m0 → (∀ n. m1 < n ∧ n < # ar2 → ar2[m1] ≠ ar2[n] ∨ ar2[m1] = a2)) ) ∧ m0 ≤ # ar2 ∧ (∃ m, n. ar0[m] = ar0[n] ∧ ar2[m] ≠ a0 ∧ m ≠ n ∧ m < # ar0 ∧ n < # ar0) ∧ ¬ m0 ≤ m5), # ar = (m4 + 1) + n, ar[m] = ar[n0], ar[m0] = ar[n], m0 ≠ n, ar[n] ≠ a, ar[n0] ≠ a, m ≠ n0, m0 < m4 + n, n < # ar, n0 < # ar, m < # ar, m0 < n, m0 < # ar, n0 ≤ m4 + n, m ≤ m4 + n, ∀ m1, n1. ar[m1] ≠ ar[n1] ∨ ar[m1] = a ∨ m1 = n1 ∨ ¬ m1 < # ar ∨ ¬ n1 < # ar, ∀ m1. m1 < m0 → (∀ n. m1 < n ∧ n < # ar → ar[m1] ≠ ar[n] ∨ ar[m1] = a), ∀ n0. m0 < n0 ∧ n0 < n → ar[n0] ≠ ar[n] ∨ ar[n0] = a ⊦
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ m < n → n ≠ 0], [CSIMPFORWARD : ⊦ m < n → n ≠ 0], [CSIMPSEQ : ⊦ m = m0 + n0 ∧ n < n0 → m0 + n < m], [CSIMPSEQ : ⊦ m + n < m + n0 ↔ n < n0], [CSIMPSEQ : ⊦ m +1 = m + 1], [CSIMPSEQ : ⊦ ¬ m + n < m], [CSIMPSEQ : ⊦ m < n + 1 ↔ ¬ n < m], [CSIMPFORWARD : ⊦ m < n ∧ n < n0 → m +1 < n0], [CSIMPFORWARD : ⊦ m < n ∧ n = n0 → m < n0], [CSIMPSEQ : ⊦ m < n → m ≤ n], [CSIMPSEQ : ⊦ m = m0 + 1 + n → m ≠ n], [CSIMPSEQ : ⊦ m ≤ n → (n ≤ m ↔ m = n)], [CSIMPSEQ : ⊦ ¬ n < n], [CSIMPSEQ : ⊦ m + m0 ≤ m ↔ m0 = 0], [CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ m < n → (n ≤ m ↔ false)], [CSIMPSEQ : ⊦ ¬ m < n ↔ n ≤ m], [CSIMPSEQ : ⊦ m + 1 ≤ n ↔ m < n])]]