CommutativeFunction | *documentation* A BinaryFunction is commutative if the ordering of the arguments of the function has no effect on the value returned by the function. More precisely, a function ?FUNCTION is commutative just in case (?FUNCTION ?INST1 ?INST2) is *equal* to (?FUNCTION ?INST2 ?INST1), for all ?INST1 *and* ?INST2 | |

**has axiom** (=> (*instance* ?FUNCTION CommutativeFunction) (forall (?INST1 ?INST2) (=> (*and* (*instance* ?INST1 (*DomainFn* ?FUNCTION)) (*instance* ?INST2 (*DomainFn* ?FUNCTION))) (*equal* (*AssignmentFn* ?FUNCTION ?INST1 ?INST2) (*AssignmentFn* ?FUNCTION ?INST2 ?INST1)))))
| |

**is a kind of** BinaryFunction | |

BinaryFunction | **is first ***domain* of *distributes* | |

**is first ***domain* of *identityElement* | |

**is second ***domain* of *distributes* | |

Class | **is third ***domain* of *domain* | |

**is third ***domain* of *domainSubclass* | |

Abstract | **is ***disjoint* from Physical | |