| ⟨insert(a, h1, h2; T1, T2)⟩ (T1 = T ∧ T2 = T0), s = abs(T1, T2, h1, h2), inv(T1, h1), inv(T2, h2), disj(T1, T2), s ++ a ≠ abs(T, T0, h1, h2) ∨ ¬ inv(T, h1) ∨ ¬ inv(T0, h2) ∨ ¬ disj(T, T0) ⊦ |
⟨insert(a, h1, h2; T1, T2)⟩ (T1 = T ∧ T2 = T0), inv(T1, h1), inv(T2, h2), disj(T1, T2), abs(T1, T2, h1, h2) ++ a ≠ abs(T, T0, h1, h2) ∨ ¬ inv(T, h1) ∨ ¬ inv(T0, h2) ∨ ¬ disj(T, T0) ⊦
[Concretesimprules(())]