| s = abs(T1, T2, h1, h2), inv(T1, h1), inv(T2, h2), disj(T1, T2) ⊦ [insert(a, h1, h2; T1, T2)] (s ++ a = abs(T1, T2, h1, h2) ∧ inv(T1, h1) ∧ inv(T2, h2) ∧ disj(T1, T2)) |
⟨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) ⊦
[Concretesimprules(())]