| ∃ m, n. ar[m] = ar[n] ∧ m ≠ n ∧ m < # ar ∧ n < # ar ∧ ar[m] ≠ a ⊦ ⦉let m1 = 0, bv = false in { n := n0, m := m0, a0 := a, ar0 := ar ; while m1 < # ar0 ∧ ¬ bv do { let n1 = m1 + 1 in while n1 < # ar0 ∧ ¬ bv do if ar0[m1] = ar0[n1] ∧ ar0[m1] ≠ a0 then m := m1, n := n1, bv := true else n1 := n1 + 1 ; m1 := m1 + 1 } }⦊ (ar[m] = ar[n] ∧ ar[m] ≠ a ∧ m ≠ n ∧ m < # ar ∧ n < # ar) |
∃ m, n. ar[m] = ar[n] ∧ m ≠ n ∧ m < # ar ∧ n < # ar ∧ ar[m] ≠ a, bv0 ↔ false, m2 = 0 ⊦ ⦉n := n0, m := m0, a0 := a, ar0 := ar⦊ ⦉while m2 < # ar0 ∧ ¬ bv0 do { let n1 = m2 + 1 in while n1 < # ar0 ∧ ¬ bv0 do if ar0[m2] = ar0[n1] ∧ ar0[m2] ≠ a0 then m := m2, n := n1, bv0 := true else n1 := n1 + 1 ; m2 := m2 + 1 }⦊ (ar[m] = ar[n] ∧ ar[m] ≠ a ∧ m ≠ n ∧ m < # ar ∧ n < # ar)
[[CONCRETESIMPRULES : ()]]