A function is a binary operator on a domain if it is closed on the domain, that is, it is defined for all pairs of objects that are instances of the domain and its value on all such pairs is an instance of the domain.
(<=> (Binary-Operator-On ?Function ?Domain) (And (Binary-Function ?Function) (Forall (?X ?Y) (=> (And (Instance-Of ?X ?Domain) (Instance-Of ?Y ?Domain)) (Instance-Of (Value ?Function ?X ?Y) ?Domain)))))