*closedOn* | *documentation* A BinaryFunction is closed on a Class if it is defined for all instances of the Class *and* its value is always an *instance* of the Class | |

**has axiom** (=> (*and* (*closedOn* ?FUNCTION ?CLASS) (*instance* ?FUNCTION UnaryFunction)) (forall (?INST) (=> (*instance* ?INST ?CLASS) (*instance* (*AssignmentFn* ?FUNCTION ?INST) ?CLASS))))
| |

**has axiom** (=> (*and* (*closedOn* ?FUNCTION ?CLASS) (*instance* ?FUNCTION BinaryFunction)) (forall (?INST1 ?INST2) (=> (*and* (*instance* ?INST1 ?CLASS) (*instance* ?INST2 ?CLASS)) (*instance* (*AssignmentFn* ?FUNCTION ?INST1 ?INST2) ?CLASS))))
| |

**has domain1** Function | |

**has domain2** Class | |

**is an ***instance* of AsymmetricRelation | |

**is an ***instance* of BinaryPredicate | |

BinaryRelation | **is first ***domain* of *DomainFn* | |

**is first ***domain* of *equivalenceRelationOn* | |

**is first ***domain* of *inverse* | |

**is first ***domain* of *irreflexiveOn* | |

**is first ***domain* of *partialOrderingOn* | |

**is first ***domain* of *RangeFn* | |

**is first ***domain* of *reflexiveOn* | |

**is first ***domain* of *totalOrderingOn* | |

**is first ***domain* of *trichotomizingOn* | |

**is second ***domain* of *inverse* | |

Predicate | **is first ***domain* of *singleValued* | |

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

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

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