product-semantics