Section SAProd.
Context A B `{HA: SepAlg A} `{HB: SepAlg B}.
Instance SepAlgOps_prod: SepAlgOps (A * B) :=
{ sa_unit ab := sa_unit (fst ab) /\ sa_unit (snd ab)
; sa_mul a b c :=
sa_mul (fst a) (fst b) (fst c) /\
sa_mul (snd a) (snd b) (snd c)
}.
Definition SepAlg_prod: SepAlg (rel := rel_prod (relA := rel) (relB := rel0)) (A * B).

Lemma subheap_prod (a a' : A) (b b' : B)
: subheap (a, b) (a', b') <-> subheap a a' /\ subheap b b'.