Class SepAlgOps T:= {
    sa_unit : T -> Prop;
    sa_mul : T -> T -> T -> Prop
  }.Class SepAlgOps T:= {
    sa_unit : T -> Prop;
    sa_mul : T -> T -> T -> Prop
  }.Class SepAlgOps T:= {
    sa_unit : T -> Prop;
    sa_mul : T -> T -> T -> Prop
  }.Definition compat (a b : A) := exists s, sa_mul a b s.Definition subheap (a b : A) := exists c, sa_mul a c b.

Lemma sa_mulC2 a b c : sa_mul a b c <-> sa_mul b a c.