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