;; ================================================ ;; SUMO (Suggested Upper Merged Ontology) ;; ================================================ ;; This is the source file for the SUMO (Suggested Upper Merged Ontology), ;; an ontology that was developed within the SUO Working Group by merging ;; the SUO "candidate content" sources and refining and extending this content on ;; the basis of various knowledge engineering projects and input from the SUO ;; Working Group. ;; The SUMO incorporates John Sowa's upper ontology (as described at ;; http://www.bestweb.net/~sowa/ontology/toplevel.htm and in Chapter 2 of his ;; book _Knowledge Representation_, Brooks/Cole, 2000), Russell and Norvig's ;; ontology, PSL (Process Specification Language), Casati and Varzi's theory of ;; holes, Allen's temporal axioms, the relatively noncontroversial elements of ;; Smith's and Guarino's respective mereotopologies, the KIF formalization of the ;; CPR (Core Plan Representation), the ontologies available on the Ontolingua ;; server maintained by Stanford University's Knowledge Systems Laboratory, the ;; ontologies developed by ITBM-CNR, some of the verb classes from the second ;; part of Beth Levin's book "English Verb Classes and Alternations: A ;; Preliminary Investigation", some of the spatial relations from an unpublished ;; paper by Iris Tommelein and Anil Gupta entitled "Conceptual Structures for ;; Spatial Reasoning", and a "Structural Ontology" proposed by David Whitten and ;; substantially revised and extended by Chris Menzel. ;; The knowledge representation language in which the SUMO is expressed is SUO-KIF, ;; which stands for "Standard Upper Ontology - Knowledge Interchange Format". SUO-KIF ;; is a simplified form of the popular KIF knowledge representation language. A ;; specification of SUO-KIF can be found at: http://suo.ieee.org/suo-kif.html. It ;; should be noted that some of the axioms in the SUMO make use of row variables ;; (indicated with a "@" prefix). Such variables are not currently part of the SUO- ;; KIF specification, but they simplify matters significantly in some cases. Details ;; about row variables can be found in the following paper: ;; http://reliant.teknowledge.com/IJCAI01/HayesMenzel-SKIF-IJCAI2001.pdf. ;; The SUMO is a modular ontology. That is, the ontology is divided into ;; self-contained subontologies. Each subontology is indicated by a section ;; header, and the dependencies between the subontologies are specified with ;; statements of the form ";; INCLUDES ''". These statements are ;; found at the beginning of each section. The dependencies between the ;; various subontologies can also be graphed informally as follows: ;; ;; STRUCTURAL ONTOLOGY ;; + ;; | ;; | ;; + ;; BASE ONTOLOGY ;; / | | \ ;; / | | \ ;; / | | \ ;; / | | \ ;; / | | \ ;; + + + + ;; SET/CLASS THEORY NUMERIC TEMPORAL MEREOTOPOLOGY ;; / | | | ;; / | | | ;; / | | | ;; + + + + ;; GRAPH MEASURE PROCESSES +--+ OBJECTS ;; + + ;; \ / ;; \ / ;; \ / ;; + + ;; QUALITIES ;; ;; ;; Note that the "+" sign at the end of an arc indicates the direction of ;; dependency - the node near the sign includes the subontology at the other ;; end of the arc. Note too that in some cases the dependency is ;; bidirectional. Separating ontologies in cases like these is useful when ;; their respective topics can be cleanly differentiated. ;; BEGIN FILE ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; STRUCTURAL ONTOLOGY ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; INCLUDES 'BASE ONTOLOGY' ;; The Structural Ontology consists of definitions of certain syntactic ;; abbreviations that can be both heuristically useful and computationally ;; advantageous. (instance instance BinaryPredicate) (instance instance AntisymmetricRelation) (domain instance 1 Entity) (domain instance 2 Class) (documentation instance "An object is an &%instance a &%Class if it is a member of that &%Class. An individual may be an instance of many classes, some of which may be subclasses of others. Thus, there is no assumption in the meaning of &%instance about specificity or uniqueness.") (instance inverse BinaryPredicate) (instance inverse SymmetricRelation) (domain inverse 1 BinaryRelation) (domain inverse 2 BinaryRelation) (documentation inverse "The inverse of a &%BinaryRelation is a relation in which all the tuples of the original relation are reversed. In other words, one &%BinaryRelation is the inverse of another if they are equivalent when their arguments are swapped.") (=> (inverse ?REL1 ?REL2) (forall (?INST1 ?INST2) (<=> (holds ?REL1 ?INST1 ?INST2) (holds ?REL2 ?INST2 ?INST1)))) (instance subclass BinaryPredicate) (instance subclass PartialOrderingRelation) (domain subclass 1 Class) (domain subclass 2 Class) (documentation subclass "&%Class C is a subclass of &%Class P only if every instance of C is also an instance of P. A class may have multiple superclasses and subclasses.") (=> (subclass ?SUBCLASS ?CLASS) (forall (?INST) (=> (instance ?INST ?SUBCLASS) (instance ?INST ?CLASS)))) (instance subrelation BinaryPredicate) (instance subrelation PartialOrderingRelation) (domain subrelation 1 Relation) (domain subrelation 2 Relation) (documentation subrelation "A &%Relation R is a &%subrelation &%Relation R' if R is a &%subclass R'. This implies that every tuple of R is also a tuple of R'. Again, if R holds for some arguments arg_1, arg_2, ... arg_n, then R' holds for the same arguments. Thus, a &%Relation and its subrelation must have the same valence. In CycL, &%subrelation is called #$genlPreds.") (=> (and (subrelation ?PRED1 ?PRED2) (valence ?PRED1 ?NUMBER)) (valence ?PRED2 ?NUMBER)) (=> (and (subrelation ?PRED1 ?PRED2) (domain ?PRED2 ?NUMBER ?CLASS2) (domain ?PRED1 ?NUMBER ?CLASS1)) (subclass ?CLASS1 ?CLASS2)) (=> (and (subrelation ?REL1 ?REL2) (holds ?REL1 @ROW)) (holds ?REL2 @ROW)) (=> (and (subrelation ?PRED1 ?PRED2) (instance ?PRED2 ?CLASS) (instance ?CLASS InheritableRelation)) (instance ?PRED1 ?CLASS)) (instance domain TernaryPredicate) (domain domain 1 Relation) (domain domain 2 PositiveInteger) (domain domain 3 Class) (documentation domain "Provides a computationally and heuristically convenient mechanism for declaring the argument types of a given relation. The formula (&%domain ?REL 3 ?CLASS) says that the 3rd element of each tuple in the relation ?REL is an instance of ?CLASS. Specifying argument types is very helpful in maintaining ontologies. Representation systems can use these specifications to classify terms and check integrity constraints. If the restriction on the argument type of a &%Relation is not captured by a &%Class already defined in the ontology, one can specify a &%Class compositionally with the functions &%UnionFn, &%IntersectionFn, etc.") (=> (domain ?REL 1 ?CLASS) (forall (?INST1 @ROW) (=> (holds ?REL ?INST1 @ROW) (instance ?INST1 ?CLASS)))) (=> (domain ?REL 2 ?CLASS) (forall (?INST1 ?INST2 @ROW) (=> (or (holds ?REL ?INST1 ?INST2) (holds ?REL ?INST1 ?INST2 @ROW)) (instance ?INST2 ?CLASS)))) (=> (domain ?REL 3 ?CLASS) (forall (?INST1 ?INST2 ?INST3 @ROW) (=> (or (holds ?REL ?INST1 ?INST2 ?INST3) (holds ?REL ?INST1 ?INST2 ?INST3 @ROW)) (instance ?INST3 ?CLASS)))) (=> (domain ?REL 4 ?CLASS) (forall (?INST1 ?INST2 ?INST3 ?INST4 @ROW) (=> (or (holds ?REL ?INST1 ?INST2 ?INST3 ?INST4) (holds ?REL ?INST1 ?INST2 ?INST3 ?INST4 @ROW)) (instance ?INST4 ?CLASS)))) (=> (domain ?REL 5 ?CLASS) (forall (?INST1 ?INST2 ?INST3 ?INST4 ?INST5 @ROW) (=> (or (holds ?REL ?INST1 ?INST2 ?INST3 ?INST4 ?INST5) (holds ?REL ?INST1 ?INST2 ?INST3 ?INST4 ?INST5 @ROW)) (instance ?INST5 ?CLASS)))) (instance domainSubclass TernaryPredicate) (domain domainSubclass 1 Relation) (domain domainSubclass 2 PositiveInteger) (domain domainSubclass 3 Class) (documentation domainSubclass "&%Predicate used to specify argument type restrictions of &%Predicates. The formula (&%domainSubclass ?REL 3 ?CLASS) says that the 3rd element of each tuple in the relation ?REL is a subclass of ?CLASS.") (=> (domainSubclass ?REL 1 ?CLASS) (forall (?INST1 @ROW) (=> (holds ?REL ?INST1 @ROW) (subclass ?INST1 ?CLASS)))) (=> (domainSubclass ?REL 2 ?CLASS) (forall (?INST1 ?INST2 @ROW) (=> (or (holds ?REL ?INST1 ?INST2) (holds ?REL ?INST1 ?INST2 @ROW)) (subclass ?INST2 ?CLASS)))) (=> (domainSubclass ?REL 3 ?CLASS) (forall (?INST1 ?INST2 ?INST3 @ROW) (=> (or (holds ?REL ?INST1 ?INST2 ?INST3) (holds ?REL ?INST1 ?INST2 ?INST3 @ROW)) (subclass ?INST3 ?CLASS)))) (=> (domainSubclass ?REL 4 ?CLASS) (forall (?INST1 ?INST2 ?INST3 ?INST4 @ROW) (=> (or (holds ?REL ?INST1 ?INST2 ?INST3 ?INST4) (holds ?REL ?INST1 ?INST2 ?INST3 ?INST4 @ROW)) (subclass ?INST4 ?CLASS)))) (=> (domainSubclass ?REL 5 ?CLASS) (forall (?INST1 ?INST2 ?INST3 ?INST4 ?INST5 @ROW) (=> (or (holds ?REL ?INST1 ?INST2 ?INST3 ?INST4 ?INST5) (holds ?REL ?INST1 ?INST2 ?INST3 ?INST4 ?INST5 @ROW)) (subclass ?INST5 ?CLASS)))) (instance equal BinaryPredicate) (instance equal EquivalenceRelation) (instance equal RelationExtendedToQuantities) (domain equal 1 Entity) (domain equal 2 Entity) (documentation equal "(equal ?ENTITY1 ?ENTITY2) is true just in case ?ENTITY1 is identical with ?ENTITY2.") (=> (equal ?THING1 ?THING2) (forall (?ATTR) (<=> (attribute ?THING1 ?ATTR) (attribute ?THING2 ?ATTR)))) (=> (equal ?THING1 ?THING2) (forall (?CLASS) (<=> (instance ?THING1 ?CLASS) (instance ?THING2 ?CLASS)))) (instance range BinaryPredicate) (instance range AsymmetricRelation) (domain range 1 Function) (domain range 2 Class) (documentation range "Gives the range of a function. In other words, (&%range ?FUNCTION ?CLASS) means that all of the values assigned by ?FUNCTION are &%instances of ?CLASS.") (instance rangeSubclass BinaryPredicate) (instance rangeSubclass AsymmetricRelation) (domain rangeSubclass 1 Function) (domainSubclass rangeSubclass 2 Class) (documentation rangeSubclass "(&%rangeSubclass ?FUNCTION ?CLASS) means that all of the values assigned by ?FUNCTION are &%subclasses of ?CLASS.") (instance DomainFn UnaryFunction) (domain DomainFn 1 BinaryRelation) (range DomainFn Class) (documentation DomainFn "The domain of a &%BinaryRelation ?REL is the &%Class of all things that bear ?REL to something.") (<=> (instance ?INST1 (DomainFn ?REL)) (exists (?INST2) (holds ?REL ?INST1 ?INST2))) (instance RangeFn UnaryFunction) (domain RangeFn 1 BinaryRelation) (range RangeFn Class) (documentation RangeFn "The range of a &%BinaryRelation ?REL is the &%Class of all things such that something bears ?REL to them.") (<=> (instance ?INST1 (RangeFn ?REL)) (exists (?INST2) (holds ?REL ?INST2 ?INST1))) (instance valence BinaryPredicate) (instance valence AsymmetricRelation) (domain valence 1 Relation) (domain valence 2 PositiveInteger) (singleValued valence 2) (documentation valence "Specifies the number of arguments that a relation can take. If a relation does not have a fixed number of arguments, it does not have a valence and it is an instance of &%VariableArityRelation. For example, &%holds is a &%VariableArityRelation.") (instance documentation BinaryPredicate) (instance documentation AsymmetricRelation) (domain documentation 1 Entity) (domain documentation 2 SymbolicString) (documentation documentation "A relation between objects in the domain of discourse and strings of natural language text. The domain of &%documentation is not constants (names), but the objects themselves. This means that one does not quote the names when associating them with their documentation.") (instance disjoint BinaryPredicate) (instance disjoint SymmetricRelation) (instance disjoint IrreflexiveRelation) (domain disjoint 1 Class) (domain disjoint 2 Class) (documentation disjoint "&%Classes are &%disjoint only if they share no instances, i.e. just in case the result of applying &%IntersectionFn to them is empty.") (=> (disjoint ?CLASS1 ?CLASS2) (forall (?INST) (not (and (instance ?INST ?CLASS1) (instance ?INST ?CLASS2))))) (instance disjointRelation BinaryPredicate) (instance disjointRelation SymmetricRelation) (instance disjointRelation IrreflexiveRelation) (domain disjointRelation 1 Relation) (domain disjointRelation 2 Relation) (relatedInternalConcept disjointRelation disjoint) (documentation disjointRelation "(&%disjointRelation ?REL1 ?REL2) means that the two relations ?REL1 and ?REL2 have no tuples in common. In other words, the intersection of ?REL1 and ?REL2 is the null set.") (=> (and (disjointRelation ?REL1 ?REL2) (valence ?REL1 ?NUMBER)) (valence ?REL2 ?NUMBER)) (=> (and (domain ?REL1 ?NUMBER ?CLASS1) (domain ?REL2 ?NUMBER ?CLASS2) (disjoint ?CLASS1 ?CLASS2)) (disjointRelation ?REL1 ?REL2)) (=> (and (disjointRelation ?REL1 ?REL2) (holds ?REL1 @ROW)) (not (holds ?REL2 @ROW))) (instance contraryProperty BinaryPredicate) (instance contraryProperty SymmetricRelation) (instance contraryProperty IrreflexiveRelation) (domain contraryProperty 1 Attribute) (domain contraryProperty 2 Attribute) (documentation contraryProperty "Means that the two arguments are properties that are opposed to one another, e.g. &%Pliable versus &%Rigid.") (=> (and (attribute ?OBJ ?ATTR1) (contraryProperty ?ATTR1 ?ATTR2)) (not (attribute ?OBJ ?ATTR2))) (instance exhaustiveDecomposition Predicate) (instance exhaustiveDecomposition VariableArityRelation) (domain exhaustiveDecomposition 1 Class) (relatedInternalConcept exhaustiveDecomposition partition) (documentation exhaustiveDecomposition "An &%exhaustiveDecomposition of a &%Class C is a set of subclasses of C such that every subclass of C either is an element of the set or is a subclass of an element of the set. Note: this does not necessarily mean that the elements of the set are disjoint (see &%partition - a &%partition is a disjoint exhaustive decomposition.)") (forall (?INT) (domain exhaustiveDecomposition ?INT Class)) (=> (exhaustiveDecomposition ?CLASS1 ?CLASS2 ?CLASS3) (forall (?OBJ) (=> (instance ?OBJ ?CLASS1) (or (instance ?OBJ ?CLASS2) (instance ?OBJ ?CLASS3))))) (=> (exhaustiveDecomposition ?CLASS1 ?CLASS2 ?CLASS3 ?CLASS4) (forall (?OBJ) (=> (instance ?OBJ ?CLASS1) (or (instance ?OBJ ?CLASS2) (instance ?OBJ ?CLASS3) (instance ?OBJ ?CLASS4))))) (=> (exhaustiveDecomposition ?CLASS1 ?CLASS2 ?CLASS3 ?CLASS4 ?CLASS5) (forall (?OBJ) (=> (instance ?OBJ ?CLASS1) (or (instance ?OBJ ?CLASS2) (instance ?OBJ ?CLASS3) (instance ?OBJ ?CLASS4) (instance ?OBJ ?CLASS5))))) (instance disjointDecomposition Predicate) (instance disjointDecomposition VariableArityRelation) (domain disjointDecomposition 1 Class) (relatedInternalConcept disjointDecomposition exhaustiveDecomposition) (relatedInternalConcept disjointDecomposition disjoint) (documentation disjointDecomposition "A &%disjointDecomposition of a &%Class C is a set of subclasses of C that are mutually &%disjoint.") (forall (?INT) (domain disjointDecomposition ?INT Class)) (=> (disjointDecomposition ?CLASS1 ?CLASS2 ?CLASS3) (and (subclass ?CLASS2 ?CLASS1) (subclass ?CLASS3 ?CLASS1) (disjoint ?CLASS2 ?CLASS3))) (=> (disjointDecomposition ?CLASS1 ?CLASS2 ?CLASS3 ?CLASS4) (and (subclass ?CLASS2 ?CLASS1) (subclass ?CLASS3 ?CLASS1) (subclass ?CLASS4 ?CLASS1) (disjoint ?CLASS2 ?CLASS3) (disjoint ?CLASS3 ?CLASS4) (disjoint ?CLASS2 ?CLASS4))) (=> (disjointDecomposition ?CLASS1 ?CLASS2 ?CLASS3 ?CLASS4 ?CLASS5) (and (subclass ?CLASS2 ?CLASS1) (subclass ?CLASS3 ?CLASS1) (subclass ?CLASS4 ?CLASS1) (subclass ?CLASS5 ?CLASS1) (disjoint ?CLASS2 ?CLASS3) (disjoint ?CLASS3 ?CLASS4) (disjoint ?CLASS2 ?CLASS4) (disjoint ?CLASS5 ?CLASS4) (disjoint ?CLASS5 ?CLASS3) (disjoint ?CLASS5 ?CLASS2))) (subrelation partition exhaustiveDecomposition) (subrelation partition disjointDecomposition) (documentation partition "A &%partition of a class C is a set of mutually &%disjoint classes (a subclass partition) which covers C. Every instance of C is an instance of exactly one of the subclasses in the partition.") (instance singleValued BinaryPredicate) (instance singleValued AsymmetricRelation) (domain singleValued 1 Predicate) (domain singleValued 2 Integer) (documentation singleValued "(&%singleValued ?REL ?INT) means that the argument position of ?REL corresponding to ?INT is single-valued, i.e. an assignment of values to the other argument positions determines a unique value for the argument position corresponding to ?INT.") (=> (and (singleValued ?REL 1) (holds ?REL ?INST1 @ROW) (holds ?REL ?INST2 @ROW)) (equal ?INST1 ?INST2)) (=> (and (singleValued ?REL 2) (or (holds ?REL ?INST2 ?INST1) (holds ?REL ?INST2 ?INST3)) (or (holds ?PRED ?INST2 ?INST1 @ROW) (holds ?PRED ?INST2 ?INST3 @ROW))) (equal ?INST1 ?INST3)) (=> (and (singleValued ?REL 3) (or (holds ?REL ?INST2 ?INST3 ?INST1) (holds ?REL ?INST2 ?INST3 ?INST4)) (or (holds ?PRED ?INST2 ?INST3 ?INST1 @ROW) (holds ?PRED ?INST2 ?INST3 ?INST4 @ROW))) (equal ?INST1 ?INST4)) (=> (and (singleValued ?REL 4) (or (holds ?REL ?INST2 ?INST3 ?INST4 ?INST1) (holds ?REL ?INST2 ?INST3 ?INST4 ?INST5)) (or (holds ?PRED ?INST2 ?INST3 ?INST4 ?INST1 @ROW) (holds ?PRED ?INST2 ?INST3 ?INST4 ?INST5 @ROW))) (equal ?INST1 ?INST5)) (=> (and (singleValued ?REL 5) (or (holds ?REL ?INST2 ?INST3 ?INST4 ?INST5 ?INST1) (holds ?REL ?INST2 ?INST3 ?INST4 ?INST5 ?INST6)) (or (holds ?PRED ?INST2 ?INST3 ?INST4 ?INST5 ?INST1 @ROW) (holds ?PRED ?INST2 ?INST3 ?INST4 ?INST5 ?INST6 @ROW))) (equal ?INST1 ?INST6)) (instance relatedInternalConcept BinaryPredicate) (instance relatedInternalConcept EquivalenceRelation) (domain relatedInternalConcept 1 Entity) (domain relatedInternalConcept 2 Entity) (documentation relatedInternalConcept "Means that the two arguments are related concepts within the SUMO, i.e. there is a significant similarity of meaning between them. To indicate a meaning relation between a SUMO concept and a concept from another source, use the Predicate &%relatedExternalConcept.") (instance relatedExternalConcept TernaryPredicate) (domain relatedExternalConcept 1 Entity) (domain relatedExternalConcept 2 SymbolicString) (domain relatedExternalConcept 3 Language) (relatedInternalConcept relatedExternalConcept relatedInternalConcept) (documentation relatedExternalConcept "Used to signify a three-place relation between a concept in an external knowledge source, a concept in the SUMO, and the name of the other knowledge source.") (subrelation synonymousExternalConcept relatedExternalConcept) (disjointRelation synonymousExternalConcept subsumedExternalConcept) (disjointRelation synonymousExternalConcept subsumingExternalConcept) (documentation synonymousExternalConcept "(&%synonymousExternalConcept ?STRING ?THING ?LANGUAGE) means that the SUMO concept ?THING has the same meaning as ?STRING in ?LANGUAGE.") (subrelation subsumingExternalConcept relatedExternalConcept) (disjointRelation subsumingExternalConcept subsumedExternalConcept) (documentation subsumingExternalConcept "(&%subsumingExternalConcept ?STRING ?THING ?LANGUAGE) means that the SUMO concept ?THING subsumes the meaning of ?STRING in ?LANGUAGE, i.e. the concept ?THING is broader in meaning than ?STRING.") (subrelation subsumedExternalConcept relatedExternalConcept) (documentation subsumedExternalConcept "(&%subsumedExternalConcept ?STRING ?THING ?LANGUAGE) means that the SUMO concept ?THING is subsumed by the meaning of ?STRING in ?LANGUAGE, i.e. the concept ?THING is narrower in meaning than ?STRING.") (instance name BinaryPredicate) (domain name 1 Entity) (domain name 2 SymbolicString) (documentation name "(&%name ?ENTITY ?STRING) means that the thing ?ENTITY has the &%SymbolicString ?STRING as its name.") (instance subAttribute BinaryPredicate) (instance subAttribute PartialOrderingRelation) (domain subAttribute 1 Attribute) (domain subAttribute 2 Attribute) (disjointRelation subAttribute successorAttribute) (documentation subAttribute "Means that the second argument can be ascribed to everything which has the first argument ascribed to it.") (<=> (subAttribute ?ATTR1 ?ATTR2) (forall (?OBJ) (=> (attribute ?OBJ ?ATTR1) (attribute ?OBJ ?ATTR2)))) (=> (and (subAttribute ?ATTR1 ?ATTR2) (instance ?ATTR2 ?CLASS)) (instance ?ATTR1 ?CLASS)) (instance successorAttribute BinaryPredicate) (instance successorAttribute AsymmetricRelation) (domain successorAttribute 1 Attribute) (domain successorAttribute 2 Attribute) (documentation successorAttribute "(&%successorAttribute ?ATTR1 ?ATTR2) means that ?ATTR2 is the attribute that comes immediately after ?ATTR1 on the scale that they share.") (instance successorAttributeClosure BinaryPredicate) (instance successorAttributeClosure TransitiveRelation) (instance successorAttributeClosure IrreflexiveRelation) (domain successorAttributeClosure 1 Attribute) (domain successorAttributeClosure 2 Attribute) (relatedInternalConcept successorAttributeClosure successorAttribute) (documentation successorAttributeClosure "The transitive closure of &%successorAttribute. (&%successorAttributeClosure ?ATTR1 ?ATTR2) means that there is a chain of &%successorAttribute assertions connecting ?ATTR1 and ?ATTR2.") (=> (successorAttribute ?ATTR1 ?ATTR2) (successorAttributeClosure ?ATTR1 ?ATTR2)) (instance and SententialOperator) (domain and 1 Formula) (domain and 2 Formula) (documentation and "The truth-functional connective of conjunction.") (instance or SententialOperator) (domain or 1 Formula) (domain or 2 Formula) (documentation or "The truth-functional connective of disjunction.") (instance => SententialOperator) (domain => 1 Formula) (domain => 2 Formula) (documentation => "The truth-functional connective of implication.") (instance <=> SententialOperator) (domain <=> 1 Formula) (domain <=> 2 Formula) (documentation <=> "The truth-functional connective of bi-implication.") (instance not SententialOperator) (domain not 1 Formula) (documentation not "The truth-functional connective of negation.") (instance entails SententialOperator) (domain entails 1 Formula) (domain entails 2 Formula) (documentation entails "The operator of logical entailment. (&%entails ?FORMULA1 ?FORMULA2) means that ?FORMULA2 can be derived from ?FORMULA1 by means of the proof theory of SUO-KIF.") (instance AssignmentFn Function) (instance AssignmentFn VariableArityRelation) (domain AssignmentFn 1 Function) (range AssignmentFn Entity) (documentation AssignmentFn "If F is a function with a value for the objects denoted by N1,..., NK, then the term (AssignmentFn F N1 ... NK) denotes the value of applying F to the objects denoted by N1,..., NK. Otherwise, the value is undefined.") (instance holds Predicate) (instance holds VariableArityRelation) (domain holds 1 Relation) (documentation holds "(holds P N1 ... NK) is true just in case the tuple of objects denoted by N1,..., NK is an element of the &%Relation P.") (<=> (and (holds ?REL @ROW ?INST) (instance ?REL Function)) (equal (AssignmentFn ?REL @ROW) ?INST)) (=> (instance ?REL Predicate) (<=> (holds ?REL @ROW) (?REL @ROW))) (instance PowerSetFn UnaryFunction) (domain PowerSetFn 1 Class) (rangeSubclass PowerSetFn Class) (documentation PowerSetFn "(&%PowerSetFn ?CLASS) maps the &%Class ?CLASS to the &%Class of all &%subclasses of ?CLASS.") ;; END FILE ;; BEGIN FILE ;;;;;;;;;;;;;;;;;;;;;;; ;; BASE ONTOLOGY ;; ;;;;;;;;;;;;;;;;;;;;;;; ;; INCLUDES 'STRUCTURAL ONTOLOGY' ;; The following hierarchy incorporates content from Sowa, Russell & Norvig, ;; and the top-level ontology from ITBM-CNR. (documentation Entity "The universal class of individuals. This is the root node of the ontology.") ;; Everything is an entity (due to Robert E. Kent). (forall (?THING) (instance ?THING Entity)) ;; There are entities. (In standard FOPC, this axiom is redundant, since it is ;; implied by the one above. However, it is included here in case a "free ;; logic" or similar, nonstandard interpretation of the ontology is adopted). (exists (?THING) (instance ?THING Entity)) ;; Every class is a subclass of Entity, and vice versa. (<=> (instance ?CLASS Class) (subclass ?CLASS Entity)) (subclass Physical Entity) (documentation Physical "An entity that has a location in space-time. Note that locations are themselves understood to have a location in space-time") ;; Something is Physical just in case it exists at some location at some time. (<=> (instance ?PHYS Physical) (exists (?LOC ?TIME) (and (located ?PHYS ?LOC) (time ?PHYS ?TIME)))) (subclass Object Physical) (disjoint Object Process) (documentation Object "Corresponds roughly to the class of ordinary physical objects. An &%Object is thought of as continuing through time, but at any particular time is all there is at that time, in contrast to something that is thought of as being divided into stages (contrast &%Process). Examples include normal physical objects, geographical regions, and locations of &%Processes. The formal definition is that all the parts of an &%Object are present at the same time that the &%Object is; in other words, an &%Object cannot have 'parts' which are separated in time, such as the first and second halves of a football game. Note that the parts of an &%Object may change from time to time, and that every &%Object occupies exactly the same space and time as a &%Process (its lifespan). In a 4D ontology, an &%Object is something whose spatiotemporal extent is thought of as dividing into spatial parts roughly parallel to the time-axis.") (subclass SelfConnectedObject Object) (documentation SelfConnectedObject "A &%SelfConnectedObject is any &%Object that does not consist of two or more disconnected parts.") (instance part BinaryPredicate) (instance part SpatialRelation) (instance part PartialOrderingRelation) (domain part 1 SelfConnectedObject) (domain part 2 SelfConnectedObject) (documentation part "The basic mereological relation. All other mereological relations are defined in terms of this one. (&%part ?PART ?WHOLE) simply means that the &%Object ?PART is part of the &%Object ?WHOLE. Note that, since &%part is a &%ReflexiveRelation, every &%Object is a part of itself.") (=> (instance ?OBJ SelfConnectedObject) (exists (?PART) (part ?PART ?OBJ))) (=> (and (part ?OBJ1 ?OBJ2) (part ?OBJ2 ?OBJ1)) (equal ?OBJ1 ?OBJ2)) (instance properPart AsymmetricRelation) (instance properPart TransitiveRelation) (subrelation properPart part) (documentation properPart "(&%properPart ?OBJ1 ?OBJ2) means that ?OBJ1 is a part of ?OBJ2 other than ?OBJ2 itself. This is a &%TransitiveRelation and &%AsymmetricRelation (hence an &%IrreflexiveRelation).") (<=> (properPart ?OBJ1 ?OBJ2) (and (part ?OBJ1 ?OBJ2) (not (part ?OBJ2 ?OBJ1)))) (subrelation piece part) (domain piece 1 Substance) (domain piece 2 Substance) (documentation piece "A specialized common sense notion of part for arbitrary parts of &%Substances. Quasi-synonyms are: chunk, hunk, bit, etc. Compare &%component, the other subrelation of &%part.") (=> (piece ?SUBSTANCE1 ?SUBSTANCE2) (forall (?CLASS) (=> (instance ?SUBSTANCE1 ?CLASS) (instance ?SUBSTANCE2 ?CLASS)))) (subrelation component part) (domain component 1 CorpuscularObject) (domain component 2 CorpuscularObject) (documentation component "A specialized common sense notion of part for heterogeneous parts of complexes. (&%component ?COMPONENT ?WHOLE) means that ?COMPONENT is a component of ?WHOLE. Examples of component include the doors and walls of a house, the states or provinces of a country, or the limbs and organs of an animal. Compare &%piece, which is also a subrelation of &%part.") (instance material BinaryPredicate) (domainSubclass material 1 Substance) (domain material 2 CorpuscularObject) (documentation material "(&%material ?SUBSTANCE ?OBJECT) means that ?OBJECT is structurally made up in part of ?SUBSTANCE. This relation encompasses the concepts of 'composed of', 'made of', and 'formed of'. For example, plastic is a &%material of my computer monitor. Compare &%part and its subrelations, viz &%component and &%piece.") (subclass Substance SelfConnectedObject) (documentation Substance "An &%Object in which every part is similar to every other in every relevant respect. More precisely, something is a &%Substance when it has only arbitrary pieces as parts - any parts have properties which are similar to those of the whole. Note that a &%Substance may nonetheless have physical properties that vary. For example, the temperature, chemical constitution, density, etc. may change from one part to another. An example would be a body of water.") (=> (and (subclass ?OBJECTTYPE Substance) (instance ?OBJECT ?OBJECTTYPE) (part ?PART ?OBJECT)) (instance ?PART ?OBJECTTYPE)) (subclass PureSubstance Substance) (partition PureSubstance CompoundSubstance ElementalSubstance) (documentation PureSubstance "The &%Class of &%Substances with constant composition. A &%PureSubstance can be either an element (&%ElementalSubstance) or a compound of elements (&%CompoundSubstance). Examples: Table salt (sodium chloride, NaCl), sugar (sucrose, C_{12}H_{22}O_{11}), water (H_2O), iron (Fe), copper (Cu), and oxygen (O_2).") (subclass ElementalSubstance PureSubstance) (documentation ElementalSubstance "The &%Class of &%PureSubstances that cannot be separated into two or more &%Substances by ordinary chemical (or physical) means. This excludes nuclear reactions. &%ElementalSubstances are composed of only one kind of atom. Examples: Iron (Fe), copper (Cu), and oxygen (O_2). &%ElementalSubstances are the simplest &%PureSubstances.") (subclass CompoundSubstance PureSubstance) (documentation CompoundSubstance "The &%Class of &%Substances that contain two or more elements (&%ElementalSubstances), in definite proportion by weight. The composition of a pure compound will be invariant, regardless of the method of preparation. Compounds are composed of more than one kind of atom (element). The term molecule is often used for the smallest unit of a compound that still retains all of the properties of the compound. Examples: Table salt (sodium chloride, NaCl), sugar (sucrose, C_{12}H_{22}O_{11}), and water (H_2O). ") (=> (instance ?COMPOUND CompoundSubstance) (exists (?ELEMENT1 ?ELEMENT2) (and (instance ?ELEMENT1 ElementalSubstance) (instance ?ELEMENT2 ElementalSubstance) (not (equal ?ELEMENT1 ?ELEMENT2)) (piece ?ELEMENT1 ?COMPOUND) (piece ?ELEMENT2 ?COMPOUND)))) (subclass Mixture Substance) (documentation Mixture "A &%Mixture is two or more &%PureSubstances, combined in varying proportions - each retaining its own specific properties. The components of a &%Mixture can be separated by physical means, i.e. without the making and breaking of chemical bonds. Examples: Air, table salt thoroughly dissolved in water, milk, wood, and concrete. ") (=> (instance ?MIXTURE Mixture) (exists (?PURE1 ?PURE2) (and (subclass ?PURE1 PureSubstance) (subclass ?PURE2 PureSubstance) (not (equal ?PURE1 ?PURE2)) (material ?PURE1 ?MIXTURE) (material ?PURE2 ?MIXTURE)))) (subclass Solution Mixture) (documentation Solution "A homogenous liquid mixture. The most abundant component in a solution is called the solvent. Other components are called solutes. A solution, though homogeneous, may nonetheless have variable composition. Any amount of salt, up to a maximum limit, can be dissolved in a given amount of water. ") (subclass CorpuscularObject SelfConnectedObject) (disjoint CorpuscularObject Substance) (documentation CorpuscularObject "A &%SelfConnectedObject whose parts have properties that are not shared by the whole.") (=> (instance ?OBJ CorpuscularObject) (exists (?SUBSTANCE1 ?SUBSTANCE2) (and (subclass ?SUBSTANCE1 Substance) (subclass ?SUBSTANCE2 Substance) (material ?SUBSTANCE1 ?OBJ) (material ?SUBSTANCE2 ?OBJ) (not (equal ?SUBSTANCE1 ?SUBSTANCE2))))) (subclass Region SelfConnectedObject) (documentation Region "A topographic location. &%Regions encompass surfaces of &%Objects and &%GeographicAreas. Note that a &%Region is the only kind of &%Object which can be located at itself.") (subclass Collection Object) (disjoint Collection SelfConnectedObject) (documentation Collection "Collections have &%members like &%Classes, but, unlike &%Classes, they have a position in space-time and &%members can be added and subtracted without thereby changing the identity of the &%Collection. Some examples are toolkits, football teams, and flocks of sheep.") (=> (instance ?COLL Collection) (exists (?OBJ) (member ?OBJ ?COLL))) (=> (and (instance ?COLL Collection) (member ?MEMBER1 ?COLL) (member ?MEMBER2 ?COLL)) (orientation ?MEMBER1 ?MEMBER2 Near)) (instance member BinaryPredicate) (instance member SpatialRelation) (instance member AsymmetricRelation) (instance member IntransitiveRelation) (domain member 1 SelfConnectedObject) (domain member 2 Collection) (relatedInternalConcept member instance) (relatedInternalConcept member element) (documentation member "A specialized common sense notion of part for uniform parts of &%Collections. For example, each sheep in a flock of sheep would have the relationship of member to the flock.") (instance subCollection BinaryPredicate) (instance subCollection TransitiveRelation) (instance subCollection IrreflexiveRelation) (domain subCollection 1 Collection) (domain subCollection 2 Collection) (documentation subCollection "(&%subCollection ?COLL1 ?COLL2) means that the &%Collection ?COLL1 is a proper part of the &%Collection ?COLL2.") (subclass ContentBearingObject Object) (relatedInternalConcept ContentBearingObject containsInformation) (documentation ContentBearingObject "Any &%Object that expresses information.") (subclass SymbolicString ContentBearingObject) (documentation SymbolicString "The &%Class of alphanumeric sequences.") (subclass Character SymbolicString) (documentation Character "An element of an alphabet, a set of numerals, etc. Note that a &%Character may or may not be part of a &%Language. &%Character is a subclass of &%SymbolicString, because every instance of &%Character is an alphanumeric sequence consisting of a single element.") (=> (instance ?STRING SymbolicString) (exists (?PART) (and (part ?PART ?STRING) (instance ?PART Character)))) (subclass CodeNumber SymbolicString) (documentation CodeNumber "&%SymbolicStrings that are not part of a &%Language and that uniquely identify an instance or subclass of &%Object. Some examples of &%CodeNumber are the keys of tables in database applications and the ISBN (International Standard Book Number).") (instance containsInformation BinaryPredicate) (instance containsInformation AsymmetricRelation) (subrelation containsInformation represents) (domain containsInformation 1 ContentBearingObject) (domain containsInformation 2 Proposition) (documentation containsInformation "A subrelation of &%represents. This predicate relates a &%ContentBearingObject to the &%Proposition that is expressed by the &%ContentBearingObject. Examples include the relationships between a physical novel and its story and between a printed score and its musical content.") (subclass Advertisement ContentBearingObject) (documentation Advertisement "A &%ContentBearingObject whose purpose is to promote the sale of an &%Object described in the &%Advertisement.") (=> (instance ?ADVERT Advertisement) (exists (?OBJ) (and (refers ?ADVERT ?OBJ) (hasPurpose ?ADVERT (exists (?SALE) (and (instance ?SALE Selling) (patient ?SALE ?OBJ))))))) (subclass MotionPicture ContentBearingObject) (documentation MotionPicture "&%ContentBearingObjects which depict motion (and which may have an audio or text component as well). This &%Class covers films, videos, etc.") (subclass Icon ContentBearingObject) (documentation Icon "This is the subclass of &%ContentBearingObjects which are not part of a &%Language and which have some sort of similarity with the &%Objects that they represent. This &%Class would include symbolic roadway signs, 'icons' in a graphical computer operating system, etc.") (subclass LinguisticExpression ContentBearingObject) (disjoint LinguisticExpression Icon) (documentation LinguisticExpression "This is the subclass of &%ContentBearingObjects which are language-related. Note that this &%Class encompasses both &%Language and the the elements of &%Languages, e.g. &%Words.") (subclass Language LinguisticExpression) (disjointDecomposition Language AnimalLanguage HumanLanguage ComputerLanguage) (documentation Language "A system of signs for expressing thought. The system can be either natural or artificial, i.e. something that emerges gradually as a cultural artifact or something that is intentionally created by a person or group of people.") (subclass AnimalLanguage Language) (documentation AnimalLanguage "The &%subclass of &%Languages used by &%Animals other than &%Humans.") (=> (and (instance ?LANG AnimalLanguage) (agent ?PROC ?AGENT) (instrument ?PROC ?LANG)) (and (instance ?AGENT Animal) (not (instance ?AGENT Human)))) (subclass ComputerLanguage Language) (documentation ComputerLanguage "The class of &%Languages designed for and interpreted by a computer.") (=> (and (instance ?LANG ComputerLanguage) (agent ?PROC ?AGENT) (instrument ?PROC ?LANG)) (instance ?AGENT Machine)) (subclass HumanLanguage Language) (documentation HumanLanguage "The &%subclass of &%Languages used by &%Humans.") (=> (and (instance ?LANG HumanLanguage) (agent ?PROC ?AGENT) (instrument ?PROC ?LANG)) (instance ?AGENT Human)) (subclass ConstructedLanguage HumanLanguage) (documentation ConstructedLanguage "The &%subclass of &%HumanLanguages that did not originate diachronically, but were designed by a &%Human. This &%Class includes languages like Esperanto that were created to facilitate international communication.") (=> (instance ?LANG ConstructedLanguage) (exists (?PLAN) (and (instance ?PLAN Planning) (result ?PLAN ?LANG)))) (subclass NaturalLanguage HumanLanguage) (disjoint NaturalLanguage ConstructedLanguage) (documentation NaturalLanguage "The &%subclass of &%HumanLanguages which are not designed and which evolve from generation to generation. This &%Class includes all of the national languages, e.g. English, Spanish, Japanese, etc.") (subclass Word LinguisticExpression) (documentation Word "A term of a &%Language that represents a concept.") (subclass Clause Phrase) (documentation Clause "A clause is a grammatical unit that includes, at minimum, a predicate and a subject (which may be explicit or implicit) and that expresses a &%Proposition.") (=> (instance ?CLAUSE Clause) (exists (?PROP) (and (instance ?PROP Proposition) (containsInformation ?CLAUSE ?PROP)))) (subclass Sentence Clause) (documentation Sentence "A syntactically well-formed formula of a &%Language.") (subclass Formula Sentence) (documentation Formula "A syntactically well-formed formula in the SUO-KIF knowledge representation language.") ;; The following ground facts incorporate the 'Agent' hierarchy from the ;; corresponding ontology on the Ontolingua server. It also includes ;; predicates defined in the ITBM-CNR ontology "Actors". (subclass Agent Object) (documentation Agent "Something or someone that can act on its own and produce changes in the world.") (<=> (instance ?AGENT Agent) (exists (?PROC) (agent ?PROC ?AGENT))) (subclass SentientAgent Agent) (documentation SentientAgent "An &%Agent that has rights but may or may not have responsibilities and the ability to reason. If the latter are present, then the &%Agent is also an instance of &%CognitiveAgent. Domesticated animals are an example of &%SentientAgents that are not also &%CognitiveAgents.") (subclass CognitiveAgent SentientAgent) (documentation CognitiveAgent "A &%SentientAgent with responsibilities and the ability to reason, deliberate, make plans, etc. This is essentially the legal/ethical notion of a person. Note that, although &%Human is a subclass of &%CognitiveAgent, there may be instances of &%CognitiveAgent which are not also instances of &%Human. For example, chimpanzees, gorillas, dolphins, whales, and some extraterrestrials (if they exist) may be &%CognitiveAgents.") (subclass Process Physical) (documentation Process "Intuitively, the class of things that happen rather than endure. A &%Process is thought of as having temporal parts or stages, and so it cannot have all these parts together at one time (contrast &%Object). Examples include extended 'events' such as a football match or a race, events and actions of various kinds, states of motion and lifespans of &%Objects, which occupy the same space and time but are thought of as having stages instead of parts. The formal definition is: anything that lasts for a time but is not an &%Object. Note that a &%Process may have participants 'inside' it which are &%Objects, such as the players in a football match. In a 4D ontology, a &%Process is something whose spatiotemporal extent is thought of as dividing into temporal stages roughly perpendicular to the time-axis.") (subclass ChemicalProcess Process) (documentation ChemicalProcess "A &%ChemicalProcess occurs whenever chemical compounds (&%CompoundSubstances) are formed or decomposed. For example, reactants disappear as chemical change occurs, and products appear as chemical change occurs. In a chemical change a chemical reaction takes place. Catalysts in a &%ChemicalProcess may speed up the reaction, but aren't themselves produced or consumed. Examples: rusting of iron and the decomposition of water, induced by an electric current, to gaseous hydrogen and gaseous oxygen.") (subclass ChemicalSynthesis ChemicalProcess) (documentation ChemicalSynthesis "The &%Class of &%ChemicalProcesses in which a &%CompoundSubstance is formed from simpler reactants.") (subclass ChemicalDecomposition ChemicalProcess) (documentation ChemicalDecomposition "The &%Class of &%ChemicalProcesses in which a &%CompoundSubstance breaks down into simpler products.") (subclass Abstract Entity) (disjoint Abstract Physical) (documentation Abstract "Properties or qualities as distinguished from any particular embodiment of the properties/qualities in a physical medium. Instances of Abstract can be said to exist in the same sense as mathematical objects such as sets and relations, but they cannot exist at a particular place and time without some physical encoding or embodiment.") ;; Something is Abstract just in case it has neither a spatial nor temporal ;; location. (<=> (instance ?ABS Abstract) (not (exists (?POINT) (or (located ?ABS ?POINT) (time ?ABS ?POINT))))) (subclass Quantity Abstract) (documentation Quantity "Any specification of how many or how much of something there is. Accordingly, there are two subclasses of &%Quantity: &%Number (how many) and &%PhysicalQuantity (how much).") (subclass Attribute Abstract) (disjoint Attribute Quantity) (documentation Attribute "Qualities which we cannot or choose not to reify into subclasses of &%Object.") (instance property BinaryPredicate) (domain property 1 Entity) (domain property 2 Attribute) (documentation property "This &%Predicate holds between an instance of &%Entity and an instance of &%Attribute. (property ?ENTITY ?ATTR) means that ?ENTITY has the &%Attribute ?ATTR.") (instance attribute AsymmetricRelation) (instance attribute IrreflexiveRelation) (subrelation attribute property) (domain attribute 1 Object) (domain attribute 2 Attribute) (documentation attribute "(attribute ?OBJECT ?PROPERTY) means that ?PROPERTY is a &%Attribute of ?OBJECT. For example, (attribute MyLittleRedWagon Red).") (instance manner AsymmetricRelation) (instance manner IrreflexiveRelation) (subrelation manner property) (domain manner 1 Process) (domain manner 2 Attribute) (disjointRelation manner attribute) (documentation manner "(&%manner ?PROCESS ?MANNER) means that the &%Process ?PROCESS is qualified by the &%Attribute ?MANNER. The &%Attributes of &%Processes are usually denoted by adverbs and include things like the speed of the wind, the style of a dance, or the intensity of a sports competition.") (instance AbstractionFn UnaryFunction) (domain AbstractionFn 1 Class) (range AbstractionFn Attribute) (documentation AbstractionFn "A &%UnaryFunction that maps a &%Class into the instance of &%Attribute that specifies the condition(s) for membership in the &%Class.") (<=> (equal (AbstractionFn ?CLASS) ?ATTR) (forall (?INST) (<=> (instance ?INST ?CLASS) (attribute ?INST ?ATTR)))) (instance ExtensionFn UnaryFunction) (domain ExtensionFn 1 Attribute) (range ExtensionFn Class) (documentation ExtensionFn "A &%UnaryFunction that maps an &%Attribute into the &%Class whose condition for membership is the &%Attribute.") (<=> (equal (ExtensionFn ?ATTRIBUTE) ?CLASS) (equal (AbstractionFn ?CLASS) ?ATTRIBUTE)) (subclass TruthValue Attribute) (documentation TruthValue "The &%Class of truth values, e.g. &%True and &%False. These are &%Attributes of &%Sentences.") (instance True TruthValue) (documentation True "The &%TruthValue of being true.") (instance False TruthValue) (contraryProperty False True) (documentation False "The &%TruthValue of being false.") (instance TruthFn UnaryFunction) (domain TruthFn 1 Sentence) (domain TruthFn 2 TruthValue) (documentation TruthFn "The function mapping &%Sentences to &%TruthValues.") (subrelation true attribute) (relatedInternalConcept true TruthFn) (domain true 1 Sentence) (domain true 2 TruthValue) (documentation true "The &%BinaryPredicate that relates a &%Sentence to its &%TruthValue.") ;; The following formulas incorporate the Number hierarchy from the ;; ontology 'kif-numbers' on the Ontolingua server. (subclass Number Quantity) (documentation Number "A measure of how many things there are, or how much there is, of a certain kind. &%Numbers are subclassed into &%RealNumber and &%ComplexNumber (&%ImaginaryNumber is an instance of &%Number).") (instance lessThan BinaryPredicate) (instance lessThan TransitiveRelation) (instance lessThan IrreflexiveRelation) (instance lessThan RelationExtendedToQuantities) (trichotomizingOn lessThan RealNumber) (domain lessThan 1 Quantity) (domain lessThan 2 Quantity) (documentation lessThan "(&%lessThan ?NUMBER1 ?NUMBER2) is true just in case the &%Quantity ?NUMBER1 is less than the &%Quantity ?NUMBER2.") (instance greaterThan BinaryPredicate) (instance greaterThan TransitiveRelation) (instance greaterThan IrreflexiveRelation) (instance greaterThan RelationExtendedToQuantities) (trichotomizingOn greaterThan RealNumber) (domain greaterThan 1 Quantity) (domain greaterThan 2 Quantity) (inverse greaterThan lessThan) (documentation greaterThan "(&%greaterThan ?NUMBER1 ?NUMBER2) is true just in case the &%Quantity ?NUMBER1 is greater than the &%Quantity ?NUMBER2.") (instance lessThanOrEqualTo BinaryPredicate) (instance lessThanOrEqualTo PartialOrderingRelation) (instance lessThanOrEqualTo RelationExtendedToQuantities) (trichotomizingOn lessThanOrEqualTo RealNumber) (domain lessThanOrEqualTo 1 Quantity) (domain lessThanOrEqualTo 2 Quantity) (documentation lessThanOrEqualTo "(&%lessThanOrEqualTo ?NUMBER1 ?NUMBER2) is true just in case the &%Quantity ?NUMBER1 is less than or equal to the &%Quantity ?NUMBER2.") (<=> (lessThanOrEqualTo ?NUMBER1 ?NUMBER2) (or (equal ?NUMBER1 ?NUMBER2) (lessThan ?NUMBER1 ?NUMBER2))) (instance greaterThanOrEqualTo BinaryPredicate) (instance greaterThanOrEqualTo PartialOrderingRelation) (instance greaterThanOrEqualTo RelationExtendedToQuantities) (trichotomizingOn greaterThanOrEqualTo RealNumber) (domain greaterThanOrEqualTo 1 Quantity) (domain greaterThanOrEqualTo 2 Quantity) (inverse greaterThanOrEqualTo lessThanOrEqualTo) (documentation greaterThanOrEqualTo "(&%greaterThanOrEqualTo ?NUMBER1 ?NUMBER2) is true just in case the &%Quantity ?NUMBER1 is greater than the &%Quantity ?NUMBER2.") (<=> (greaterThanOrEqualTo ?NUMBER1 ?NUMBER2) (or (equal ?NUMBER1 ?NUMBER2) (greaterThan ?NUMBER1 ?NUMBER2))) (subclass RealNumber Number) (partition RealNumber NegativeRealNumber NonnegativeRealNumber) (documentation RealNumber "Any &%Number that can be expressed as a (possibly infinite) decimal, i.e. any &%Number that has a position on the number line.") (subclass ImaginaryNumber Number) (documentation ImaginaryNumber "A &%subclass of &%Number containing a single &%instance, viz. the square root of -1.") (subclass RationalNumber RealNumber) (documentation RationalNumber "Any &%RealNumber that is the product of dividing two &%Integers.") (subclass NonnegativeRealNumber RealNumber) (documentation NonnegativeRealNumber "A &%RealNumber that is greater than or equal to zero.") (=> (instance ?NUMBER NonnegativeRealNumber) (greaterThanOrEqualTo ?NUMBER 0)) (subclass PositiveRealNumber NonnegativeRealNumber) (documentation PositiveRealNumber "A &%RealNumber that is greater than zero.") (=> (instance ?NUMBER PositiveRealNumber) (greaterThan ?NUMBER 0)) (subclass NegativeRealNumber RealNumber) (documentation NegativeRealNumber "A &%RealNumber that is less than zero.") (=> (instance ?NUMBER NegativeRealNumber) (lessThan ?NUMBER 0)) (subclass Integer RationalNumber) (partition Integer OddInteger EvenInteger) (partition Integer NegativeInteger NonnegativeInteger) (documentation Integer "A negative or nonnegative whole number.") (subclass EvenInteger Integer) (documentation EvenInteger "An &%Integer that is evenly divisible by 2.") (subclass OddInteger Integer) (documentation OddInteger "An &%Integer that is not evenly divisible by 2.") (subclass PrimeNumber Integer) (documentation PrimeNumber "An &%Integer that is evenly divisible only by itself and 1.") (subclass NonnegativeInteger Integer) (subclass NonnegativeInteger NonnegativeRealNumber) (documentation NonnegativeInteger "An &%Integer that is greater than or equal to zero.") (subclass NegativeInteger Integer) (subclass NegativeInteger NegativeRealNumber) (documentation NegativeInteger "An &%Integer that is less than zero.") (subclass PositiveInteger NonnegativeInteger) (subclass PositiveInteger PositiveRealNumber) (documentation PositiveInteger "An &%Integer that is greater than zero.") (subclass BinaryNumber RealNumber) (documentation BinaryNumber "Elements from the number system with base 2. Every &%BinaryNumber is expressed as a sequence of the digits 1 and 0.") (subclass ComplexNumber Number) (disjoint ComplexNumber RealNumber) (documentation ComplexNumber "A &%Number that consists of two components: a &%RealNumber and the &%ImaginaryNumber.") (subclass NonspecificNumber Number) (documentation NonspecificNumber "A &%NonspecificNumber is used to indicate quantity of items when one cannot or does not want to say exactly how many items there are.") (instance Few NonspecificNumber) (documentation Few "Useful for contextual assessment of number. Note that a formula containing this &%Class cannot be converted into a precise numeric range. For example, compare 'few books on the table' (perhaps there are three books) and 'few eritrocytes in your blood' (this might mean there are 3 million per part).") (instance Many NonspecificNumber) (documentation Many "Useful for contextual assessment of number. Note that this cannot be converted into a precise numeric range. For example, compare 'many books on the table' (perhaps there are twelve books) and 'many eritrocytes in your blood' (this might mean there are 8 million per part).") (subclass PhysicalQuantity Quantity) (partition PhysicalQuantity ConstantQuantity FunctionQuantity) (documentation PhysicalQuantity "&%A PhysicalQuantity is a measure of some quantifiable aspect of the modeled world, such as 'the earth's diameter' (a constant length) and 'the stress in a loaded deformable solid' (a measure of stress, which is a function of three spatial coordinates). All &%PhysicalQuantities are either &%ConstantQuantities or &%FunctionQuantities. Instances of &%ConstantQuantity are dependent on a &%UnitOfMeasure, while instances of &%FunctionQuantity are &%Functions that map instances of &%ConstantQuantity to other instances of &%ConstantQuantity (e.g., &%TimeDependentQuantities are &%FunctionQuantities). Although the name and definition of &%PhysicalQuantity is borrowed from physics, &%PhysicalQuantities need not be material. Aside from the dimensions of length, time, velocity, etc., nonphysical dimensions such as currency are also possible. Accordingly, amounts of money would be instances of &%PhysicalQuantity. &%PhysicalQuantities are distinguished from &%Numbers by the fact that the former are associated with a dimension of measurement.") (subclass ConstantQuantity PhysicalQuantity) (documentation ConstantQuantity "A &%ConstantQuantity is a &%PhysicalQuantity which has a constant value, e.g. 3 meters and 5 hours. The magnitude (see &%MagnitudeFn) of every &%ConstantQuantity is a &%RealNumber. &%ConstantQuantities are distinguished from &%FunctionQuantities, which map &%ConstantQuantities to other &%ConstantQuantities. All &%ConstantQuantites are expressed with the &%BinaryFunction &%MeasureFn, which takes a &%Number and a &%UnitOfMeasure as arguments. For example, 3 &%Meters can be expressed as (&%MeasureFn 3 &%Meter). &%ConstantQuantities form a partial order (see &%PartialOrderingRelation) with the &%lessThan relation, since &%lessThan is a &%RelationExtendedToQuantities and &%lessThan is defined over the &%RealNumbers. The &%lessThan relation is not a total order (see &%TotalOrderingRelation) over the class &%ConstantQuantity since elements of some subclasses of &%ConstantQuantity (such as length quantities) are incomparable to elements of other subclasses of &%ConstantQuantity (such as mass quantities).") (subclass TimeMeasure ConstantQuantity) (documentation TimeMeasure "The class of temporal durations (instances of &%TimeDuration) and positions of &%TimePoints and &%TimeIntervals along the universal timeline (instances of &%TimePosition).") (subclass TimeDuration TimeMeasure) (documentation TimeDuration "Any measure of length of time, with or without respect to the universal timeline.") (subclass TimePosition TimeMeasure) (partition TimePosition TimeInterval TimePoint) (documentation TimePosition "Any &%TimePoint or &%TimeInterval along the universal timeline from &%NegativeInfinity to &%PositiveInfinity.") (subclass TimeInterval TimePosition) (documentation TimeInterval "An interval of time. Note that a &%TimeInterval has both an extent and a location on the universal timeline.") (subclass TimePoint TimePosition) (documentation TimePoint "An extensionless point on the universal timeline. The &%TimePoints at which &%Processes occur can be known with various degrees of precision and approximation, but conceptually &%TimePoints are point-like and not interval-like. That is, it doesn't make sense to talk about what happens during a &%TimePoint, or how long the &%TimePoint lasts.") (subclass FunctionQuantity PhysicalQuantity) (subclass FunctionQuantity Function) (documentation FunctionQuantity "A &%FunctionQuantity is a &%Function that maps from one or more instances of &%ConstantQuantity to another instance of &%ConstantQuantity. For example, the velocity of a particle would be represented by a &%FunctionQuantity mapping values of time (which are &%ConstantQuantities) to values of distance (also &%ConstantQuantities). Note that all instances of &%FunctionQuantity are &%Functions with a fixed arity. Note too that all elements of the range of a &%FunctionQuantity have the same physical dimension as the &%FunctionQuantity itself.") (subclass UnaryConstantFunctionQuantity FunctionQuantity) (subclass UnaryConstantFunctionQuantity UnaryFunction) (documentation UnaryConstantFunctionQuantity "The class of &%UnaryFunctions that map from the &%Class &%ConstantQuantity to the &%Class &%ConstantQuantity.") (=> (instance ?FUNCTION UnaryConstantFunctionQuantity) (and (domain ?FUNCTION 1 ConstantQuantity) (range ?FUNCTION ConstantQuantity))) (subclass TimeDependentQuantity UnaryConstantFunctionQuantity) (subclass TimeDependentQuantity ContinuousFunction) (documentation TimeDependentQuantity "A &%UnaryConstantFunction of continuous time. All instances of this &%Class map a time quantity into another &%ConstantQuantity such as temperature. For example, 'the temperature at the top of the Empire State Building' is a &%TimeDependentQuantity since its value depends on the time.") (=> (instance ?FUNCTION TimeDependentQuantity) (domain ?FUNCTION 1 TimeMeasure)) (subclass Class Abstract) (documentation Class "&%Class generalizes &%Set. &%Classes, like &%Sets, are collections of things. Accordingly, the notion of membership is generalized as well - a member of a &%Class is an &%instance the &%Class. &%Classes can differ from &%Sets in two important respects. First, &%Classes that are not explicitly identified as &%Sets are not assumed to be extensional. That is, distinct &%Classes might well have exactly the same instances. Second, &%Classes typically have an associated `condition' that determines the instances of the &%Class. So, for example, the condition `human' determines the &%Class of &%Humans. Note that some &%Classes might satisfy their own condition (e.g., the &%Class of &%Abstract things is &%Abstract) and hence be instances of themselves.") (subclass Relation Abstract) (documentation Relation "A relation between the things related.") ;; The following part of the ontology covers the various classes under ;; 'Relation'. Most of the content here is taken from frame-ontology, ;; abstract-algebra, kif-relations, and kif-extensions (ontologies ;; available on the Ontolingua server). (subclass BinaryRelation Relation) (instance BinaryRelation InheritableRelation) (documentation BinaryRelation "&%BinaryRelations map instances of a &%Class to instances of another &%Class. &%BinaryRelations are represented as slots in frame systems.") (subclass ReflexiveRelation BinaryRelation) (documentation ReflexiveRelation "&%Relation ?REL is reflexive if (?REL ?INST ?INST) for all ?INST.") (=> (instance ?REL ReflexiveRelation) (forall (?INST) (holds ?REL ?INST ?INST))) (subclass IrreflexiveRelation BinaryRelation) (documentation IrreflexiveRelation "&%Relation ?REL is irreflexive if (?REL ?INST ?INST) holds for no value of ?INST.") (=> (instance ?REL IrreflexiveRelation) (forall (?INST) (not (holds ?REL ?INST ?INST)))) (subclass SymmetricRelation BinaryRelation) (documentation SymmetricRelation "A &%BinaryRelation ?REL is symmetric just in case (?REL ?INST1 ?INST2) imples (?REL ?INST2 ?INST1), for all ?INST1 and ?INST2.") (=> (instance ?REL SymmetricRelation) (forall (?INST1 ?INST2) (=> (holds ?REL ?INST1 ?INST2) (holds ?REL ?INST2 ?INST1)))) (subclass AsymmetricRelation IrreflexiveRelation) (subclass AsymmetricRelation AntisymmetricRelation) (documentation AsymmetricRelation "A &%BinaryRelation is asymmetric only if it is both an &%AntisymmetricRelation and an &%IrreflexiveRelation.") (subclass AntisymmetricRelation BinaryRelation) (documentation AntisymmetricRelation "&%BinaryRelation ?REL is an &%AntisymmetricRelation if for distinct ?INST1 and ?INST2, (?REL ?INST1 ?INST2) implies not (?REL ?INST2 ?INST1). In other words, for all ?INST1 and ?INST2, (?REL ?INST1 ?INST2) and (?REL ?INST2 ?INST1) imply that ?INST1 and ?INST2 are identical. Note that it is possible for an &%AntisymmetricRelation to be a &%ReflexiveRelation.") (=> (instance ?REL AntisymmetricRelation) (forall (?INST1 ?INST2) (=> (and (holds ?REL ?INST1 ?INST2) (holds ?REL ?INST2 ?INST1)) (equal ?INST1 ?INST2)))) (subclass TrichotomizingRelation BinaryRelation) (documentation TrichotomizingRelation "A &%BinaryRelation ?REL is a &%TrichotomizingRelation just in case all ordered pairs consisting of distinct individuals are elements of ?REL.") (=> (instance ?REL TrichotomizingRelation) (forall (?INST1 ?INST2) (or (holds ?REL ?INST1 ?INST2) (equal ?INST1 ?INST2) (holds ?REL ?INST2 ?INST1)))) (subclass TransitiveRelation BinaryRelation) (documentation TransitiveRelation "A &%BinaryRelation ?REL is transitive if (?REL ?INST1 ?INST2) and (?REL ?INST2 ?INST3) imply (?REL ?INST1 ?INST3), for all ?INST1, ?INST2, and ?INST3.") (=> (instance ?REL TransitiveRelation) (forall (?INST1 ?INST2 ?INST3) (=> (and (holds ?REL ?INST1 ?INST2) (holds ?REL ?INST2 ?INST3)) (holds ?REL ?INST1 ?INST3)))) (subclass IntransitiveRelation BinaryRelation) (documentation IntransitiveRelation "A &%BinaryRelation ?REL is intransitive only if (?REL ?INST1 ?INST2) and (?REL ?INST2 ?INST3) imply not (?REL ?INST1 ?INST3), for all ?INST1, ?INST2, and ?INST3.") (=> (instance ?REL IntransitiveRelation) (forall (?INST1 ?INST2 ?INST3) (=> (and (holds ?REL ?INST1 ?INST2) (holds ?REL ?INST2 ?INST3)) (not (holds ?REL ?INST1 ?INST3))))) (subclass PartialOrderingRelation TransitiveRelation) (subclass PartialOrderingRelation AntisymmetricRelation) (subclass PartialOrderingRelation ReflexiveRelation) (documentation PartialOrderingRelation "A &%BinaryRelation is a partial ordering if it is a &%ReflexiveRelation, an &%AntisymmetricRelation, and a &%TransitiveRelation.") (subclass TotalOrderingRelation PartialOrderingRelation) (subclass TotalOrderingRelation TrichotomizingRelation) (documentation TotalOrderingRelation "A &%BinaryRelation is a &%TotalOrderingRelation if it is a &%PartialOrderingRelation and a &%TrichotomizingRelation.") (=> (instance ?REL TotalOrderingRelation) (forall (?INST1 ?INST2) (or (holds ?REL ?INST1 ?INST2) (holds ?REL ?INST2 ?INST1)))) (subclass EquivalenceRelation TransitiveRelation) (subclass EquivalenceRelation SymmetricRelation) (subclass EquivalenceRelation ReflexiveRelation) (documentation EquivalenceRelation "A &%BinaryRelation is an equivalence relation if it is a &%ReflexiveRelation, a &%SymmetricRelation, and a &%TransitiveRelation.") (subclass CaseRole BinaryPredicate) (instance CaseRole InheritableRelation) (subclass CaseRole AsymmetricRelation) (documentation CaseRole "The &%Class of &%Predicates relating the spatially distinguished parts of a &%Process. &%CaseRoles include, for example, the &%agent, &%patient or &%destination of an action, the flammable substance in a burning process, or the water that falls in rain.") (instance agent CaseRole) (domain agent 1 Process) (domain agent 2 Agent) (documentation agent "(&%agent ?PROCESS ?AGENT) means that ?AGENT is an active determinant, either animate or inanimate, of the &%Process ?PROCESS, with or without voluntary intention. For example, water is the &%agent of erosion in the following proposition: the water eroded the coastline. For another example, Eve is an &%agent in the following proposition: Eve bit an apple.") (=> (instance ?PROCESS Process) (exists (?CAUSE) (agent ?PROCESS ?CAUSE))) (instance destination CaseRole) (domain destination 1 Process) (domain destination 2 Entity) (documentation destination "(destination ?PROCESS ?GOAL) means that ?GOAL is the target or goal of the Process ?PROCESS. For example, Danbury would be the destination in the following proposition: Bob went to Danbury. Note that this is a very general &%CaseRole and, in particular, that it covers the concepts of 'recipient' and 'beneficiary'. Thus, John would be the &%destination in the following proposition: Tom gave a book to John.") (instance experiencer CaseRole) (domain experiencer 1 Process) (domain experiencer 2 Agent) (documentation experiencer "(&%experiencer ?PROCESS ?AGENT) means that ?AGENT experiences the &%Process ?PROCESS. For example, Yojo is the &%experiencer of seeing in the following proposition: Yojo sees the fish. Note that &%experiencer, unlike &%agent, does not entail a causal relation between its arguments.") (subrelation instrument patient) (domain instrument 1 Process) (domain instrument 2 Object) (documentation instrument "(instrument ?EVENT ?TOOL) means that ?TOOL is used by an agent in bringing about ?EVENT and that ?TOOL is not changed by ?EVENT. For example, the key is an &%instrument in the following proposition: The key opened the door. Note that &%instrument and &%resource cannot be satisfied by the same ordered pair.") (instance origin CaseRole) (domain origin 1 Process) (domain origin 2 Object) (documentation origin "(&%origin ?PROCESS ?SOURCE) means that ?SOURCE indicates where the ?Process began. Note that this relation implies that ?SOURCE is present at the beginning of the process, but need not participate throughout the process. For example, the submarine is the &%origin in the following proposition: the missile was launched from a submarine.") (instance patient CaseRole) (domain patient 1 Process) (domain patient 2 Entity) (documentation patient "(&%patient ?PROCESS ?ENTITY) means that ?ENTITY is a participant in ?PROCESS that may be moved, said, experienced, etc. For example, the direct objects in the sentences 'The cat swallowed the canary' and 'Billy likes the beer' would be examples of &%patients. Note that the &%patient of a &%Process may or may not undergo structural change as a result of the &%Process. The &%CaseRole of &%patient is used when one wants to specify as broadly as possible the object of a &%Process.") (subrelation resource patient) (domain resource 1 Process) (domain resource 2 Object) (disjointRelation resource instrument) (documentation resource "(&%resource ?PROCESS ?RESOURCE) means that ?RESOURCE is present at the beginning of ?PROCESS, is used by ?PROCESS, and as a consequence is changed by ?PROCESS. For example, soap is a &%resource in the following proposition: the gun was carved out of soap. Note that &%resource differs from &%instrument, another subrelation of &%patient, in that it is structurally altered in some way by the &%Process.") (subrelation result patient) (domain result 1 Process) (domain result 2 Object) (documentation result "(result ?ACTION ?OUTPUT) means that ?OUTPUT is a product of ?ACTION. For example, house is a &%result in the following proposition: Eric built a house.") (instance InheritableRelation Class) (documentation InheritableRelation "This is a &%Class of &%Classes. Each &%instance of &%InheritableRelation is a &%subclass of &%Relation whose properties can be inherited downward in the class hierarchy via the &%subrelation &%Predicate.") (subclass ProbabilityRelation Relation) (instance ProbabilityRelation InheritableRelation) (documentation ProbabilityRelation "The &%Class of &%Relations that permit assessment of the probability of an event or situation.") (instance probability ProbabilityRelation) (instance probability BinaryPredicate) (domain probability 1 Formula) (domain probability 2 RealNumber) (instance probability AsymmetricRelation) (instance probability IrreflexiveRelation) (documentation probability "One of the basic &%ProbabilityRelations, &%probability is used to state the a priori probability of a state of affairs. (&%probability ?FORMULA ?NUMBER) means that the state of affairs denoted by ?FORMULA has the a priori probability of ?NUMBER.") (instance conditionalProbability ProbabilityRelation) (instance conditionalProbability TernaryPredicate) (domain conditionalProbability 1 Formula) (domain conditionalProbability 2 Formula) (domain conditionalProbability 3 RealNumber) (documentation conditionalProbability "One of the basic &%ProbabilityRelations. &%conditionalProbability is used to state the numeric value of a conditional probability. (&%conditionalProbability ?FORMULA1 ?FORMULA2 ?NUMBER) means that the probability of ?FORMULA2 being true given that ?FORMULA1 is true is ?NUMBER.") (instance increasesLikelihood ProbabilityRelation) (instance increasesLikelihood BinaryPredicate) (instance increasesLikelihood IrreflexiveRelation) (domain increasesLikelihood 1 Formula) (domain increasesLikelihood 2 Formula) (disjointRelation increasesLikelihood decreasesLikelihood) (disjointRelation increasesLikelihood independentProbability) (documentation increasesLikelihood "One of the basic &%ProbabilityRelations. (&%increasesLikelihood ?FORMULA1 ?FORMULA2) means that ?FORMULA2 is more likely to be true if ?FORMULA1 is true.") (=> (and (increasesLikelihood ?FORMULA1 ?FORMULA2) (probabilityValue ?FORMULA2 ?NUMBER1) (conditionalProbability ?FORMULA1 ?FORMULA2 ?NUMBER2)) (greaterThan ?NUMBER2 ?NUMBER1)) (instance decreasesLikelihood ProbabilityRelation) (instance decreasesLikelihood BinaryPredicate) (instance decreasesLikelihood IrreflexiveRelation) (domain decreasesLikelihood 1 Formula) (domain decreasesLikelihood 2 Formula) (disjointRelation decreasesLikelihood independentProbability) (documentation decreasesLikelihood "One of the basic &%ProbabilityRelations. (&%decreasesLikelihood ?FORMULA1 ?FORMULA2) means that ?FORMULA2 is less likely to be true if ?FORMULA1 is true.") (=> (and (decreasesLikelihood ?FORMULA1 ?FORMULA2) (probabilityValue ?FORMULA2 ?NUMBER1) (conditionalProbability ?FORMULA1 ?FORMULA2 ?NUMBER2)) (lessThan ?NUMBER2 ?NUMBER1)) (instance independentProbability ProbabilityRelation) (instance independentProbability BinaryPredicate) (instance independentProbability SymmetricRelation) (domain independentProbability 1 Formula) (domain independentProbability 2 Formula) (documentation independentProbability "One of the basic &%ProbabilityRelations. (&%independentProbability ?FORMULA1 ?FORMULA2) means that the probabilities of ?FORMULA1 and ?FORMULA2 being true are independent.") (=> (and (independentProbability ?FORMULA1 ?FORMULA2) (probabilityValue ?FORMULA2 ?NUMBER1) (conditionalProbability ?FORMULA1 ?FORMULA2 ?NUMBER2)) (equal ?NUMBER2 ?NUMBER1)) (or (increasesLikelihood ?FORMULA1 ?FORMULA2) (decreasesLikelihood ?FORMULA1 ?FORMULA2) (independentProbability ?FORMULA1 ?FORMULA2)) (subclass SpatialRelation Relation) (instance SpatialRelation InheritableRelation) (documentation SpatialRelation "The &%Class of &%Relations that are spatial in a wide sense. This &%Class includes mereological relations and topological relations.") (subclass TemporalRelation Relation) (instance TemporalRelation InheritableRelation) (documentation TemporalRelation "The &%Class of temporal &%Relations. This &%Class includes notions of (temporal) topology of intervals, (temporal) schemata, and (temporal) extension.") (subclass IntentionalRelation AsymmetricRelation) (instance IntentionalRelation InheritableRelation) (documentation IntentionalRelation "The &%Class of &%Relations between an &%Agent and an &%Entity, where the &%Relation requires that the &%Agent have awareness of the &%Entity.") (subclass PropositionalAttitude IntentionalRelation) (instance PropositionalAttitude InheritableRelation) (documentation PropositionalAttitude "The &%Class of &%IntentionalRelations where the &%Agent has awareness of a &%Proposition.") (subclass ObjectAttitude IntentionalRelation) (instance ObjectAttitude InheritableRelation) (disjoint ObjectAttitude PropositionalAttitude) (documentation ObjectAttitude "The &%Class of &%IntentionalRelations where the &%Agent has awareness of an instance of &%Physical.") (instance inScopeOfInterest BinaryPredicate) (instance inScopeOfInterest IntentionalRelation) (instance inScopeOfInterest AsymmetricRelation) (domain inScopeOfInterest 1 Agent) (domain inScopeOfInterest 2 Entity) (documentation inScopeOfInterest "A very general &%Predicate. (&%inScopeOfInterest ?AGENT ?ENTITY) means that ?ENTITY is within the scope of interest of ?AGENT. Note that the interest indicated can be either positive or negative, i.e. the ?AGENT can have an interest in avoiding or promoting ?ENTITY.") (instance notices ObjectAttitude) (subrelation notices InScopeOfInterest) (domain notices 1 CognitiveAgent) (domain notices 2 Object) (documentation notices "(&%notices ?AGENT ?OBJECT) means that ?AGENT is paying attention to ?OBJECT, that ?OBJECT is currently the object of ?AGENT's conscious awareness.") (instance needs ObjectAttitude) (subrelation needs inScopeOfInterest) (domain needs 1 CognitiveAgent) (domain needs 2 Object) (documentation needs "(&%needs ?AGENT ?OBJECT) means that ?OBJECT is physically required for the continued existence of ?AGENT.") (=> (needs ?AGENT ?OBJECT) (wants ?AGENT ?OBJECT)) (instance wants ObjectAttitude) (subrelation wants inScopeOfInterest) (relatedInternalConcept wants desires) (domain wants 1 CognitiveAgent) (domain wants 2 Object) (documentation wants "(&%wants ?AGENT ?OBJECT) means that ?OBJECT is desired by ?AGENT, i.e. ?AGENT believes that ?OBJECT will satisfy one of its goals.") (=> (wants ?AGENT ?OBJ) (exists (?PURP) (hasPurposeForAgent ?OBJ ?PURP ?AGENT))) (instance desires PropositionalAttitude) (subrelation desires inScopeOfInterest) (relatedInternalConcept desires wants) (domain desires 1 CognitiveAgent) (domain desires 2 Formula) (documentation desires "(&%desires ?AGENT ?FORMULA) means that ?AGENT wants to bring about the state of affairs expressed by ?FORMULA. Note that &%desires is distinguished from &%wants only in that the former is a &%PropositionalAttitude, while &%wants is an &%ObjectAttitude.") (instance considers PropositionalAttitude) (subrelation considers inScopeOfInterest) (domain considers 1 CognitiveAgent) (domain considers 2 Formula) (documentation considers "(&%considers ?AGENT ?FORMULA) means that ?AGENT considers or wonders about the truth of the proposition expressed by ?FORMULA.") (instance believes PropositionalAttitude) (subrelation believes inScopeOfInterest) (domain believes 1 CognitiveAgent) (domain believes 2 Formula) (documentation believes "The epistemic predicate of belief. (&%believes ?AGENT ?FORMULA) means that ?AGENT believes the proposition expressed by ?FORMULA.") (instance knows PropositionalAttitude) (subrelation knows inScopeOfInterest) (domain knows 1 CognitiveAgent) (domain knows 2 Formula) (documentation knows "The epistemic predicate of knowing. (&%knows ?AGENT ?FORMULA) means that ?AGENT knows the proposition expressed by ?FORMULA. Note that &%knows entails conscious awareness, so this &%Predicate cannot be used to express tacit or subconscious or unconscious knowledge.") (=> (knows ?AGENT ?FORMULA) (believes ?AGENT ?FORMULA)) (=> (knows ?AGENT ?FORMULA) (true ?FORMULA True)) (subclass TernaryRelation Relation) (instance TernaryRelation InheritableRelation) (documentation TernaryRelation "&%TernaryRelations relate three items. The two &%subclasses of &%TernaryRelation are &%TernaryPredicate and &%BinaryFunction.") (subclass QuaternaryRelation Relation) (instance QuaternaryRelation InheritableRelation) (documentation QuaternaryRelation "&%QuaternaryRelations relate four items. The two &%subclasses of &%QuaternaryRelation are &%QuaternaryPredicate and &%TernaryFunction.") (subclass QuintaryRelation Relation) (instance QuintaryRelation InheritableRelation) (documentation QuintaryRelation "&%QuintaryRelations relate five items. The two &%subclasses of &%QuintaryRelation are &%QuintaryPredicate and &%QuaternaryFunction.") (subclass Predicate Relation) (instance Predicate InheritableRelation) (documentation Predicate "A &%Predicate is a sentence-forming &%Relation. Each tuple in the &%Relation is a finite, ordered sequence of objects. The fact that a particular tuple is an element of a &%Predicate is denoted by '(*predicate* arg_1 arg_2 .. arg_n)', where the arg_i are the objects so related. In the case of &%BinaryPredicates, the fact can be read as `arg_1 is *predicate* arg_2' or `a *predicate* of arg_1 is arg_2'.") (subclass Function Relation) (instance Function InheritableRelation) (documentation Function "A &%Function is a term-forming &%Relation that maps from a n-tuple of arguments to a range and that associates this n-tuple with exactly one range element. Note that the range is a &%Class, and each element of the range is an instance of the &%Class.") (subclass UnaryFunction Function) (subclass UnaryFunction BinaryRelation) (instance UnaryFunction InheritableRelation) (documentation UnaryFunction "The &%Class of &%Functions that require a single argument.") (=> (instance ?FUNCTION UnaryFunction) (valence ?FUNCTION 1)) (=> (and (instance ?FUNCTION UnaryFunction) (equal (AssignmentFn ?FUNCTION ?ARG) ?VALUE1) (equal (AssignmentFn ?FUNCTION ?ARG) ?VALUE2)) (equal ?VALUE1 ?VALUE2)) (subclass OneToOneFunction UnaryFunction) (documentation OneToOneFunction "The &%Class of &%UnaryFunctions which are one to one. A function F is one to one just in case for all X, Y in the domain of F, if X is not identical to Y, then F(X) is not identical to F(Y).") (<=> (instance ?FUN OneToOneFunction) (forall (?ARG1 ?ARG2) (=> (and (instance ?ARG1 (DomainFn ?FUN)) (instance ?ARG2 (DomainFn ?FUN)) (not (equal ?ARG1 ?ARG2))) (not (equal (AssignmentFn ?FUN ?ARG1) (AssignmentFn ?FUN ?ARG2)))))) (subclass SequenceFunction OneToOneFunction) (documentation SequenceFunction "The &%Class of &%OneToOneFunctions whose range is a subclass of the &%PositiveIntegers.") (=> (instance ?SEQ SequenceFunction) (subclass (RangeFn ?SEQ) Integer)) (subclass BinaryFunction Function) (subclass BinaryFunction TernaryRelation) (instance BinaryFunction InheritableRelation) (documentation BinaryFunction "The &%Class of &%Functions that require two arguments.") (=> (instance ?FUNCTION BinaryFunction) (valence ?FUNCTION 2)) (=> (and (instance ?FUNCTION BinaryFunction) (equal (AssignmentFn ?FUNCTION ?ARG1 ?ARG2) ?VALUE1) (equal (AssignmentFn ?FUNCTION ?ARG1 ?ARG2) ?VALUE2)) (equal ?VALUE1 ?VALUE2)) (subclass AssociativeFunction BinaryFunction) (documentation AssociativeFunction "A &%BinaryFunction is associative if bracketing has no effect on the value returned by the &%Function. More precisely, a &%Function ?FUNCTION is associative just in case (?FUNCTION ?INST1 (?FUNCTION ?INST2 ?INST3)) is equal to (?FUNCTION (?FUNCTION ?INST1 ?INST2) ?INST3), for all ?INST1, ?INST2, and ?INST3.") (=> (instance ?FUNCTION AssociativeFunction) (forall (?INST1 ?INST2 ?INST3) (=> (and (instance ?INST1 (DomainFn ?FUNCTION)) (instance ?INST2 (DomainFn ?FUNCTION)) (instance ?INST3 (DomainFn ?FUNCTION))) (equal (AssignmentFn ?FUNCTION ?INST1 (AssignmentFn ?FUNCTION ?INST1 ?INST2)) (AssignmentFn ?FUNCTION (AssignmentFn ?FUNCTION ?INST1 ?INST2) ?INST3))))) (subclass CommutativeFunction BinaryFunction) (documentation CommutativeFunction "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.") (=> (instance ?FUNCTION CommutativeFunction) (forall (?INST1 ?INST2) (=> (and (instance ?INST1 (DomainFn ?FUNCTION)) (instance ?INST2 (DomainFn ?FUNCTION))) (equal (AssignmentFn ?FUNCTION ?INST1 ?INST2) (AssignmentFn ?FUNCTION ?INST2 ?INST1))))) (subclass TernaryFunction Function) (subclass TernaryFunction QuaternaryRelation) (instance TernaryFunction InheritableRelation) (documentation TernaryFunction "The &%Class of &%Functions that require exactly three arguments.") (=> (instance ?FUNCTION TernaryFunction) (valence ?FUNCTION 3)) (=> (and (instance ?FUNCTION TernaryFunction) (equal (AssignmentFn ?FUNCTION ?ARG1 ?ARG2 ?ARG3) ?VALUE1) (equal (AssignmentFn ?FUNCTION ?ARG1 ?ARG2 ?ARG3) ?VALUE2)) (equal ?VALUE1 ?VALUE2)) (subclass ContinuousFunction Function) (documentation ContinuousFunction "&%Functions which are continuous. This concept is taken as primitive until representations for limits are devised.") (subclass SententialOperator Predicate) (documentation SententialOperator "This &%Class currently comprises all of the logical operators (viz. 'and', 'or', 'not', '=>', and '<=>').") (subclass BinaryPredicate Predicate) (subclass BinaryPredicate BinaryRelation) (instance BinaryPredicate InheritableRelation) (documentation BinaryPredicate "A &%Predicate relating two items - its valence is two.") (=> (instance ?REL BinaryPredicate) (valence ?REL 2)) (subclass TernaryPredicate Predicate) (subclass TernaryPredicate TernaryRelation) (instance TernaryPredicate InheritableRelation) (documentation TernaryPredicate "The &%Class of &%Predicates that require exactly three arguments.") (=> (instance ?REL TernaryPredicate) (valence ?REL 3)) (subclass QuaternaryPredicate Predicate) (subclass QuaternaryPredicate QuaternaryRelation) (instance QuaternaryPredicate InheritableRelation) (documentation QuaternaryPredicate "The &%Class of &%Predicates that require four arguments.") (=> (instance ?REL QuaternaryPredicate) (valence ?REL 4)) (subclass QuintaryPredicate Predicate) (subclass QuintaryPredicate QuintaryRelation) (instance QuintaryPredicate InheritableRelation) (documentation QuintaryPredicate "The &%Class of &%Predicates that require five arguments.") (=> (instance ?REL QuintaryPredicate) (valence ?REL 5)) (subclass VariableArityRelation Relation) (documentation VariableArityRelation "The &%Class of &%Relations that do not have a fixed number of arguments.") (=> (instance ?REL VariableArityRelation) (not (exists (?INT) (valence ?REL ?INT)))) (subclass RelationExtendedToQuantities Relation) (instance RelationExtendedToQuantities InheritableRelation) (documentation RelationExtendedToQuantities "A &%RelationExtendedToQuantities is a &%Relation that, when it is true on a sequence of arguments that are &%RealNumbers, it is also true on a sequence of &%ConstantQuantites with those magnitudes in some unit of measure. For example, the &%lessThan relation is extended to quantities. This means that for all pairs of quantities ?QUANTITY1 and ?QUANTITY2, (lessThan ?QUANTITY1 ?QUANTITY2) if and only if, for some ?NUMBER1, ?NUMBER2, and ?UNIT, ?QUANTITY1 = (MeasureFn ?NUMBER1 ?UNIT), ?QUANTITY2 = (MeasureFn ?NUMBER2 ?UNIT), and (lessThan ?NUMBER1 ?NUMBER2), for all units ?UNIT on which ?QUANTITY1 and ?QUANTITY2 can be measured. Note that, when a &%RelationExtendedToQuantities is extended from &%RealNumbers to &%ConstantQuantities, the &%ConstantQuantities must be measured along the same physical dimension.") (subclass Set Class) (documentation Set "A &%Class that satisfies extensionality as well as other conditions specified by some choice of set theory. Unlike &%Classes generally, &%Sets need not have an associated condition that determines their membership. Rather, they are thought of metaphorically as `built up' from some initial stock of objects by means of certain constructive operations (such as the pairing or power set operations). Note that extensionality alone is not sufficient for identifying &%Classes with &%Sets, since some &%Classes (e.g. &%Entity) cannot be assumed to be &%Sets without contradiction.") (subclass Proposition Abstract) (documentation Proposition "&%Propositions are &%Abstract entities that express a complete thought or a set of such thoughts. As an example, the formula '(instance Yojo Cat)' expresses the &%Proposition that the entity named Yojo is an element of the &%Class of Cats. Note that propositions are not restricted to the content expressed by individual sentences of a &%Language. They may encompass the content expressed by theories, books, and even whole libraries. It is important to distinguish &%Propositions from the &%ContentBearingObjects that express them. A &%Proposition is a piece of information, e.g. that the cat is on the mat, but a &%ContentBearingObject is an &%Object that represents this information. A &%Proposition is an abstraction that may have multiple representations: strings, sounds, icons, etc. For example, the &%Proposition that the cat is on the mat is represented here as a string of graphical characters displayed on a monitor and/or printed on paper, but it can be represented by a sequence of sounds or by some non-latin alphabet or by some cryptographic form") (instance closedOn BinaryPredicate) (instance closedOn AsymmetricRelation) (domain closedOn 1 Function) (domain closedOn 2 Class) (documentation closedOn "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.") (=> (and (closedOn ?FUNCTION ?CLASS) (instance ?FUNCTION UnaryFunction)) (forall (?INST) (=> (instance ?INST ?CLASS) (instance (AssignmentFn ?FUNCTION ?INST) ?CLASS)))) (=> (and (closedOn ?FUNCTION ?CLASS) (instance ?FUNCTION BinaryFunction)) (forall (?INST1 ?INST2) (=> (and (instance ?INST1 ?CLASS) (instance ?INST2 ?CLASS)) (instance (AssignmentFn ?FUNCTION ?INST1 ?INST2) ?CLASS)))) (instance reflexiveOn BinaryPredicate) (instance reflexiveOn AsymmetricRelation) (domain reflexiveOn 1 BinaryRelation) (domain reflexiveOn 2 Class) (documentation reflexiveOn "A &%BinaryRelation is reflexive on a &%Class only if every instance of the &%Class bears the relation to itself.") (=> (reflexiveOn ?RELATION ?CLASS) (forall (?INST) (=> (instance ?INST ?CLASS) (holds ?RELATION ?INST ?INST)))) (instance irreflexiveOn BinaryPredicate) (instance irreflexiveOn AsymmetricRelation) (domain irreflexiveOn 1 BinaryRelation) (domain irreflexiveOn 2 Class) (documentation irreflexiveOn "A &%BinaryRelation is irreflexive on a &%Class only if no instance of the &%Class bears the relation to itself.") (=> (irreflexiveOn ?RELATION ?CLASS) (forall (?INST) (=> (instance ?INST ?CLASS) (not (holds ?RELATION ?INST ?INST))))) (instance partialOrderingOn BinaryPredicate) (instance partialOrderingOn AsymmetricRelation) (domain partialOrderingOn 1 BinaryRelation) (domain partialOrderingOn 2 Class) (documentation partialOrderingOn "A &%BinaryRelation is a partial ordering on a &%Class only if the relation is &%reflexiveOn the &%Class, and it is both an &%AntisymmetricRelation, and a &%TransitiveRelation.") (=> (partialOrderingOn ?RELATION ?CLASS) (and (reflexiveOn ?RELATION ?CLASS) (instance ?RELATION TransitiveRelation) (instance ?RELATION AntisymmetricRelation))) (instance totalOrderingOn BinaryPredicate) (instance totalOrderingOn AsymmetricRelation) (domain totalOrderingOn 1 BinaryRelation) (domain totalOrderingOn 2 Class) (documentation totalOrderingOn "A &%BinaryRelation ?REL is a total ordering on a &%Class only if it is a partial ordering for which either (?REL ?INST1 ?INST2) or (?REL ?INST2 ?INST1) for every ?INST1 and ?INST2 in the &%Class.") (<=> (totalOrderingOn ?RELATION ?CLASS) (and (partialOrderingOn ?RELATION ?CLASS) (trichotomizingOn ?RELATION ?CLASS))) (instance trichotomizingOn BinaryPredicate) (instance trichotomizingOn AsymmetricRelation) (domain trichotomizingOn 1 BinaryRelation) (domain trichotomizingOn 2 Class) (documentation trichotomizingOn "A &%BinaryRelation ?REL is trichotomizing on a &%Class only if, for all instances ?INST1 and ?INST2 of the &%Class, at least one of the following holds: (?REL ?INST1 ?INST2), (?REL ?INST2 ?INST1) or (equal ?INST1 ?INST2).") (=> (trichotomizingOn ?RELATION ?CLASS) (forall (?INST1 ?INST2) (=> (and (instance ?INST1 ?CLASS) (instance ?INST2 ?CLASS)) (or (holds ?RELATION ?INST1 ?INST2) (holds ?RELATION ?INST2 ?INST1) (equal ?INST1 ?INST2))))) (instance equivalenceRelationOn BinaryPredicate) (instance equivalenceRelationOn AsymmetricRelation) (domain equivalenceRelationOn 1 BinaryRelation) (domain equivalenceRelationOn 2 Class) (documentation equivalenceRelationOn "A &%BinaryRelation is an &%equivalenceRelationOn a &%Class only if the relation is &%reflexiveOn the &%Class and it is both a &%TransitiveRelation and a &%SymmetricRelation.") (=> (equivalenceRelationOn ?RELATION ?CLASS) (and (instance ?RELATION TransitiveRelation) (instance ?RELATION SymmetricRelation) (reflexiveOn ?RELATION ?CLASS))) (instance distributes BinaryPredicate) (instance distributes BinaryRelation) (domain distributes 1 BinaryFunction) (domain distributes 2 BinaryFunction) (documentation distributes "A &%BinaryFunction ?FUNCTION1 is distributive over another &%BinaryFunction ?FUNCTION2 just in case (?FUNCTION1 ?INST1 (?FUNCTION2 ?INST2 ?INST3)) is equal to (?FUNCTION2 (?FUNCTION1 ?INST1 ?INST2) (?FUNCTION1 ?INST1 ?INST3)), for all ?INST1, ?INST2, and ?INST3.") (=> (distributes ?FUNCTION1 ?FUNCTION2) (forall (?INST1 ?INST2 ?INST3) (=> (and (instance ?INST1 (DomainFn ?FUNCTION1)) (instance ?INST2 (DomainFn ?FUNCTION1)) (instance ?INST3 (DomainFn ?FUNCTION1)) (instance ?INST1 (DomainFn ?FUNCTION2)) (instance ?INST2 (DomainFn ?FUNCTION2)) (instance ?INST3 (DomainFn ?FUNCTION2))) (equal (AssignmentFn ?FUNCTION1 ?INST1 (AssignmentFn ?FUNCTION2 ?INST2 ?INST3)) (AssignmentFn ?FUNCTION2 (AssignmentFn ?FUNCTION1 ?INST1 ?INST2) (AssignmentFn ?FUNCTION1 ?INST1 ?INST3)))))) (instance causes BinaryPredicate) (instance causes AsymmetricRelation) (domain causes 1 Process) (domain causes 2 Process) (documentation causes "The causation relation between situations or propositions. (&%causes ?PROCESS1 ?PROCESS2) means that the state of affairs expressed by ?PROCESS1 brings about the state of affairs expressed by ?PROCESS2.") (=> (instance ?PROC1 Process) (exists (?PROC2) (causes ?PROC2 ?PROC1))) (instance copy BinaryPredicate) (instance copy EquivalenceRelation) (domain copy 1 Object) (domain copy 2 Object) (documentation copy "relates an &%Object to an exact copy of the &%Object, where an exact copy is indistinguishable from the original with regard to every property except (possibly) spatial and/or temporal location.") (=> (copy ?OBJ1 ?OBJ2) (forall (?ATTR) (=> (attribute ?OBJ1 ?ATTR) (attribute ?OBJ2 ?ATTR)))) (instance time BinaryPredicate) (instance time TemporalRelation) (instance time AsymmetricRelation) (domain time 1 Physical) (domain time 2 TimePosition) (documentation time "This relation holds between an instance of &%Physical and an instance of &%TimePosition just in case the temporal lifespan of the former includes the latter. The constants &%located and &%time are the basic spatial and temporal predicates, respectively.") (instance holdsDuring BinaryPredicate) (instance holdsDuring AsymmetricRelation) (domain holdsDuring 1 TimePosition) (domain holdsDuring 2 Formula) (documentation holdsDuring "(&%holdsDuring ?TIME ?FORMULA) means that the proposition denoted by ?FORMULA is true in the time frame ?TIME. Note that this implies that ?FORMULA is true at every &%TimePoint which is a &%temporalPart of ?TIME.") (=> (and (holdsDuring ?TIME ?SITUATION1) (entails ?SITUATION1 ?SITUATION2)) (holdsDuring ?TIME ?SITUATION2)) (=> (holdsDuring ?TIME (not ?SITUATION)) (not (holdsDuring ?TIME ?SITUATION))) (instance capability TernaryPredicate) (domainSubclass capability 1 Process) (domain capability 2 CaseRole) (domain capability 3 Object) (documentation capability "(&%capability ?PROCESS ?ROLE ?OBJ) means that ?OBJ has the ability to play the role of ?ROLE in &%Processes of type ?PROCESS.") (=> (and (instance ?ROLE CaseRole) (holds ?ROLE ?ARG1 ?ARG2) (instance ?ARG1 ?PROC)) (capability ?PROC ?ROLE ?ARG2)) (instance exploits BinaryPredicate) (instance exploits AsymmetricRelation) (domain exploits 1 Object) (domain exploits 2 Agent) (documentation exploits "(&%exploits ?OBJ ?AGENT) means that ?OBJ is used by ?AGENT as a &%resource in an unspecified instance of &%Process. This &%Predicate, as its corresponding axiom indicates, is a composition of the relations &%agent and &%resource.") (=> (exploits ?OBJ ?AGENT) (exists (?PROCESS) (and (agent ?PROCESS ?AGENT) (resource ?PROCESS ?OBJ)))) (instance hasPurpose BinaryPredicate) (instance hasPurpose AsymmetricRelation) (domain hasPurpose 1 Physical) (domain hasPurpose 2 Formula) (documentation hasPurpose "This &%Predicate expresses the concept of a conventional goal, i.e. a goal with a neutralized agent's intention. Accordingly, (&%hasPurpose ?THING ?FORMULA) means that the instance of &%Physical ?THING has, as its purpose, the &%Proposition expressed by ?FORMULA. Note that there is an important difference in meaning between the &%Predicates &%hasPurpose and &%result. Although the second argument of the latter can satisfy the second argument of the former, a conventional goal is an expected and desired outcome, while a result may be neither expected nor desired. For example, a machine process may have outcomes but no goals, aimless wandering may have an outcome but no goal; a learning process may have goals with no outcomes, and so on.") (instance hasPurposeForAgent TernaryPredicate) (domain hasPurposeForAgent 1 Physical) (domain hasPurposeForAgent 2 Formula) (domain hasPurposeForAgent 3 Agent) (documentation hasPurposeForAgent "Expresses a cognitive attitude of an agent with respect to a particular instance of Physical. More precisely, (&%hasPurposeForAgent ?THING ?FORMULA ?AGENT) means that the purpose of ?THING for ?AGENT is the proposition expressed by ?FORMULA. Very complex issues are involved here. In particular, the rules of inference of the first order predicate calculus are not truth-preserving for the second argument position of this &%Predicate.") (=> (hasPurpose ?THING ?PURPOSE) (exists (?AGENT) (hasPurposeForAgent ?THING ?PURPOSE ?AGENT))) (instance hasSkill BinaryPredicate) (instance hasSkill AsymmetricRelation) (domainSubclass hasSkill 1 Process) (domain hasSkill 2 Agent) (documentation hasSkill "Similar to the &%capability &%Predicate with the additional restriction that the ability be practised/ demonstrated to some measurable degree.") (=> (hasSkill ?PROC ?AGENT) (capability ?PROC agent ?AGENT)) (instance holdsRight BinaryPredicate) (instance holdsRight AsymmetricRelation) (domainSubclass holdsRight 1 Process) (domain holdsRight 2 CognitiveAgent) (documentation holdsRight "Expresses a relationship between a subclass of &%Process and a &%CognitiveAgent whereby the &%CognitiveAgent has the right to perform instances of the &%Process type specified, i.e. to be an &%agent of instances of the &%Process type.") (=> (holdsRight ?PROCESS ?AGENT) (capability ?PROCESS agent ?AGENT)) (instance confersRight TernaryPredicate) (domainSubclass confersRight 1 Process) (domain confersRight 2 Entity) (domain confersRight 3 CognitiveAgent) (documentation confersRight "Expresses the relationship between a subclass of &%Process, an &%Entity, and a &%CognitiveAgent when the &%Entity authorizes the &%CognitiveAgent to perform instances of the &%Process type specified, i.e. to be an &%agent of instances of the &%Process type.") (=> (confersRight ?PROCESS ?AGENT1 ?AGENT2) (holdsRight ?PROCESS ?AGENT2)) (instance holdsObligation BinaryPredicate) (instance holdsObligation AsymmetricRelation) (domainSubclass holdsObligation 1 Process) (domain holdsObligation 2 CognitiveAgent) (relatedInternalConcept holdsObligation holdsRight) (documentation holdsObligation "Expresses a relationship between a subclass of &%Process and a &%CognitiveAgent whereby the &%CognitiveAgent has the obligation to perform instances of the &%Process type specified, i.e. to be an &%agent of instances of the &%Process type.") (=> (holdsObligation ?PROCESS ?AGENT) (capability ?PROCESS agent ?AGENT)) (instance confersObligation TernaryPredicate) (domainSubclass confersObligation 1 Process) (domain confersObligation 2 Entity) (domain confersObligation 3 CognitiveAgent) (relatedInternalConcept confersObligation confersRight) (documentation confersObligation "Expresses the relationship between a subclass of &%Process, an &%Entity, and a &%CognitiveAgent when the &%Entity obligates the &%CognitiveAgent to perform instances of the &%Process type specified, i.e. to be an &%agent of instances of the &%Process type.") (=> (confersObligation ?PROCESS ?AGENT1 ?AGENT2) (holdsObligation ?PROCESS ?AGENT2)) (instance located PartialOrderingRelation) (subrelation located partlyLocated) (domain located 1 Physical) (domain located 2 Object) (relatedInternalConcept located time) (documentation located "A very general predicate. (&%located ?PHYS ?OBJ) means that ?PHYS is situated at ?OBJ, in some sense. The &%Predicates &%located and &%time are spatial and temporal predicates, respectively.") (=> (located ?OBJ ?REGION) (forall (?SUBOBJ) (=> (part ?SUBOBJ ?OBJ) (located ?SUBOBJ ?REGION)))) (instance partlyLocated SpatialRelation) (instance partlyLocated ReflexiveRelation) (instance partlyLocated BinaryPredicate) (domain partlyLocated 1 Object) (domain partlyLocated 2 Region) (documentation partlyLocated "The predicate of partial localization. For example, Istanbul is partly located in Asia. Note that this is the most basic localization relation: &%located and &%exactlyLocated are both subrelations of &%partlyLocated.") (=> (partlyLocated ?OBJ ?REGION) (exists (?SUBOBJ) (and (part ?SUBOBJ ?OBJ) (exactlyLocated ?SUBOBJ ?REGION)))) (subrelation exactlyLocated located) (documentation exactlyLocated "The actual, minimal location of an Object. This is a subrelation of the more general Predicate &%located.") (=> (exactlyLocated ?OBJ ?REGION) (not (exists (?OTHEROBJ) (and (exactlyLocated ?OTHEROBJ ?REGION) (not (equal ?OTHEROBJ ?OBJ)))))) (instance between SpatialRelation) (instance between TernaryPredicate) (domain between 1 Object) (domain between 2 Object) (domain between 3 Object) (documentation between "(between ?OBJ1 ?OBJ2 ?OBJ3) means that ?OBJ2 is spatially located between ?OBJ1 and ?OBJ3. Note that this implies that ?OBJ2 is directly between ?OBJ1 and ?OBJ3, i.e. the projections of ?OBJ1 and ?OBJ3 overlap with ?OBJ2.") (instance traverses SpatialRelation) (documentation traverses "(&%traverses ?OBJ1 ?OBJ2) means that ?OBJ1 crosses or extends across ?OBJ2. Note that &%crosses and &%penetrates are subrelations of &%traverses.") (=> (traverses ?OBJ1 ?OBJ2) (or (crosses ?OBJ1 ?OBJ2) (penetrates ?OBJ1 ?OBJ2))) (subrelation crosses traverses) (instance crosses AsymmetricRelation) (instance crosses TransitiveRelation) (disjointRelation crosses connected) (documentation crosses "(crosses ?OBJ1 ?OBJ2) means that &%Object ?OBJ1 &%traverses Object ?OBJ2, without being &%connected to it.") (subrelation penetrates traverses) (subrelation penetrates meetsSpatially) (instance penetrates AsymmetricRelation) (instance penetrates IntransitiveRelation) (documentation penetrates "(penetrates ?OBJ1 ?OBJ2) means that ?OBJ1 is &%connected to ?OBJ2 along at least one whole dimension (length, width or depth).") (instance WhereFn BinaryFunction) (instance WhereFn SpatialRelation) (domain WhereFn 1 Physical) (domain WhereFn 2 TimePoint) (range WhereFn Region) (relatedInternalConcept WhereFn WhenFn) (documentation WhereFn "Maps an &%Object and a &%TimePoint at which the &%Object exists to the &%Region where the &%Object existed at that &%TimePoint.") (<=> (equal (WhereFn ?THING ?TIME) ?REGION) (holdsDuring ?TIME (exactlyLocated ?THING ?REGION))) (instance possesses BinaryPredicate) (instance possesses AsymmetricRelation) (domain possesses 1 Agent) (domain possesses 2 Object) (documentation possesses "&%Relation that holds between an &%Agent and an &%Object when the &%Agent has ownership of the &%Object.") (=> (possesses ?PERSON ?OBJ) (exists (?TYPE) (and (holdsRight ?PERSON ?TYPE) (forall (?PROCESS) (=> (instance ?PROCESS ?TYPE) (patient ?PROCESS ?OBJ)))))) (=> (and (instance ?TIME TimePosition) (holdsDuring ?TIME (possesses ?AGENT1 ?OBJ)) (holdsDuring ?TIME (possesses ?AGENT2 ?OBJ))) (equal ?AGENT1 ?AGENT2)) (instance PropertyFn UnaryFunction) (domain PropertyFn 1 Agent) (range PropertyFn Set) (documentation PropertyFn "A &%UnaryFunction that maps an &%Agent to the &%Set of &%Property owned by the &%Agent.") (<=> (instance ?OBJ (PropertyFn ?PERSON)) (possesses ?PERSON ?OBJ)) (instance precondition BinaryPredicate) (instance precondition AsymmetricRelation) (instance precondition TransitiveRelation) (domainSubclass precondition 1 Process) (domainSubclass precondition 2 Process) (documentation precondition "A very general &%Predicate. (&%precondition ?PROC1 ?PROC2) means that ?PROC2 can exist or be true only if ?PROC1 exists or is true. At some point, this &%Predicate should probably be broken up into more specific &%Predicates with more restrictive &%domain restrictions.") (instance inhibits BinaryPredicate) (instance inhibits IrreflexiveRelation) (domainSubclass inhibits 1 Process) (domainSubclass inhibits 2 Process) (documentation inhibits "A very general &%Predicate. (&%inhibits ?PROC1 ?PROC2) means that the &%Process ?PROC1 inhibits or hinders the occurrence of the &%Process ?PROC2. For example, obstructing an object inhibits moving it. Note that this is a relation between types of &%Processes, not between instances.") (instance prevents BinaryPredicate) (instance prevents IrreflexiveRelation) (domainSubclass prevents 1 Process) (domainSubclass prevents 2 Process) (documentation prevents "A very general &%Predicate. (&%prevents ?PROC1 ?PROC2) means that ?PROC1 prevents the occurrence of ?PROC2. In other words, if ?PROC1 is occurring in a particular time and place, ?PROC2 cannot occur at the same time and place. For example, innoculating prevents contracting disease. Note that this is a relation between types of &%Processes, not between instances.") (instance refers BinaryPredicate) (domain refers 1 Physical) (domain refers 2 Entity) (documentation refers "(&%refers ?OBJ1 ?OBJ2) means that ?OBJ1 mentions or includes a reference to ?OBJ2. Note that &%refers is more general in meaning than &%represents, because presumably something can represent something else only if it refers to this other thing. For example, an article whose topic is a recent change in the price of oil may refer to many other things, e.g. the general state of the economy, the weather in California, the prospect of global warming, the options for alternative energy sources, the stock prices of various oil companies, etc.") (instance represents BinaryPredicate) (domain represents 1 Physical) (domain represents 2 Entity) (subrelation represents refers) (documentation represents "A very general semiotics &%Predicate. (&%represents ?THING ?ENTITY) means that ?THING in some way expresses, connotes, pictures, describes, etc. ?ENTITY. The &%Predicates &%containsInformation and &%realization are subrelations of &%represents. Note that &%represents is a subrelation of &%refers, since something can represent something else only if it refers to this other thing.") (=> (represents ?REP ?ENTITY) (exists (?LANGUAGE) (representsInLanguage ?REP ?ENTITY ?LANGUAGE))) (instance representsForAgent TernaryPredicate) (domain representsForAgent 1 Physical) (domain representsForAgent 2 Entity) (domain representsForAgent 3 Agent) (documentation representsForAgent "A very general predicate. (&%representsForAgent ?THING ?ENTITY ?AGENT) means that the ?AGENT chooses to use the &%instance of &%Physical ?THING to 'stand for' ?ENTITY.") (instance representsInLanguage TernaryPredicate) (domain representsInLanguage 1 Physical) (domain representsInLanguage 2 Entity) (domain representsInLanguage 3 Language) (documentation representsInLanguage "A very general predicate. (&%representsInLanguage ?THING ?ENTITY ?LANGUAGE) means that the &%instance of &%Physical ?THING stands for ?ENTITY in the language ?LANGUAGE.") (=> (representsInLanguage ?REP ?ENTITY ?LANGUAGE) (exists (?AGENT) (representsForAgent ?REP ?ENTITY ?AGENT))) (subrelation equivalentContentClass subsumesContentClass) (instance equivalentContentClass EquivalenceRelation) (domainSubclass equivalentContentClass 1 ContentBearingObject) (domainSubclass equivalentContentClass 2 ContentBearingObject) (documentation equivalentContentClass "A &%BinaryPredicate that relates two subclasses of &%ContentBearingObject. (&%equivalentContentClass ?CLASS1 ?CLASS2) means that the content expressed by each instance of ?CLASS1 is also expressed by each instance of ?CLASS2, and vice versa. An example would be the relationship between English and Russian editions of Agatha Christie's 'Murder on the Orient Express'. Note that (&%equivalentContentClass ?CLASS1 ?CLASS2) implies (&%subsumesContentClass ?CLASS1 ?CLASS2) and (&%subsumesContentClass ?CLASS2 ?CLASS1).") (<=> (and (subsumesContentClass ?CLASS1 ?CLASS2) (subsumesContentClass ?CLASS2 ?CLASS1)) (equivalentContentClass ?CLASS1 ?CLASS2)) (instance subsumesContentClass BinaryPredicate) (instance subsumesContentClass PartialOrderingRelation) (domainSubclass subsumesContentClass 1 ContentBearingObject) (domainSubclass subsumesContentClass 2 ContentBearingObject) (documentation subsumesContentClass "A &%BinaryPredicate that relates two subclasses of &%ContentBearingObject. (&%subsumesContentClass ?CLASS1 ?CLASS2) means that the content expressed by each instance of ?CLASS2 is also expressed by each instance of ?CLASS1. Examples include the relationship between a poem and one of its stanzas or between a book and one of its chapters. Note that this is a relation between subclasses of &%ContentBearingObject, rather than instances. If one wants to relate instances, the &%Predicate &%subsumesContentInstance can be used. Note that &%subsumesContentClass is needed in many cases. Consider, for example, the relation between the King James edition of the Bible and its Book of Genesis. This relation holds for every copy of this edition and not just for a single instance.") (<=> (subsumesContentClass ?CLASS1 ?CLASS2) (forall (?INFO ?OBJ1 ?OBJ2) (=> (and (instance ?OBJ1 ?CLASS1) (instance ?OBJ2 ?CLASS2) (containsInformation ?OBJ2 ?INFO)) (containsInformation ?OBJ1 ?INFO)))) (subrelation equivalentContentInstance subsumesContentInstance) (instance equivalentContentInstance EquivalenceRelation) (domain equivalentContentInstance 1 ContentBearingObject) (domain equivalentContentInstance 2 ContentBearingObject) (relatedInternalConcept equivalentContentInstance equivalentContentClass) (documentation equivalentContentInstance "A &%BinaryPredicate relating two instances of &%ContentBearingObject. (&%equivalentContentInstance ?OBJ1 ?OBJ2) means that the content expressed by ?OBJ1 is identical to the content expressed by ?OBJ2. An example would be the relationship between a handwritten draft of a letter to one's lawyer and a typed copy of the same letter. Note that (&%equivalentContentInstance ?OBJ1 ?OBJ2) implies (&%subsumesContentInstance ?OBJ1 ?OBJ2) and (&%subsumesContentInstance ?OBJ2 ?OBJ2).") (<=> (and (subsumesContentInstance ?OBJ1 ?OBJ2) (subsumesContentInstance ?OBJ2 ?OBJ1)) (equivalentContentInstance ?OBJ1 ?OBJ2)) (instance subsumesContentInstance BinaryPredicate) (instance subsumesContentInstance PartialOrderingRelation) (domain subsumesContentInstance 1 ContentBearingObject) (domain subsumesContentInstance 2 ContentBearingObject) (relatedInternalConcept subsumesContentInstance subsumesContentClass) (documentation subsumesContentInstance "A &%BinaryPredicate relating two instances of &%ContentBearingObject. (&%subsumesContentInstance ?OBJ1 ?OBJ2) means that the content expressed by ?OBJ2 is part of the content expressed by ?OBJ1. An example is the relationship between a handwritten poem and one of its stanzas. Note that this is a relation between instances, rather than &%Classes. If one wants to assert a content relationship between &%Classes, e.g. between the version of an intellectual work and a part of that work, the relation &%subsumesContentClass should be used.") (<=> (subsumesContentInstance ?OBJ1 ?OBJ2) (forall (?INFO) (=> (containsInformation ?OBJ2 ?INFO) (containsInformation ?OBJ1 ?INFO)))) (subrelation realization represents) (instance realization AsymmetricRelation) (domain realization 1 Process) (domain realization 2 Proposition) (relatedInternalConcept realization equivalentContentInstance) (relatedInternalConcept realization containsInformation) (documentation realization "A subrelation of &%represents. (&%realization ?PROCESS ?PROP) means that ?PROCESS is a Process which expresses the content of ?PROP. Examples include a particular musical performance, which realizes the content of a musical score, or the reading of a poem.") (=> (realization ?PROCESS ?PROP) (exists (?OBJ) (and (instance ?OBJ ContentBearingObject) (containsInformation ?OBJ ?PROP)))) (instance expressedInLanguage BinaryPredicate) (instance expressedInLanguage AsymmetricRelation) (domain expressedInLanguage 1 LinguisticExpression) (domain sentenceOfLanguage 2 Language) (documentation sentenceOfLanguage "(&%expressedInLanguage ?EXPRESS ?LANG) means that ?EXPRESS is expressed in &%Language ?LANG.") (<=> (expressedInLanguage ?EXPRESS ?LANGUAGE) (exists (?PROP) (representsInLanguage ?EXPRESS ?PROP ?LANGUAGE))) (instance subPlan BinaryPredicate) (instance subPlan TransitiveRelation) (instance subPlan IrreflexiveRelation) (domain subPlan 1 Plan) (domain subPlan 2 Plan) (documentation subPlan "(&%subPlan ?PLAN1 ?PLAN2) means that ?PLAN1 is a &%Plan which is a proper part of ?PLAN2. This relation is generally used to relate a supporting &%Plan to the overall &%Plan in a particular context.") (=> (subPlan ?PLAN1 ?PLAN2) (forall (?OBJ1 ?OBJ2) (=> (and (containsInformation ?OBJ1 ?PLAN1) (containsInformation ?OBJ2 ?PLAN2)) (subsumesContentInstance ?OBJ2 ?OBJ1)))) (instance uses BinaryPredicate) (instance uses AsymmetricRelation) (domain uses 1 Object) (domain uses 2 Agent) (documentation uses "(&%uses ?OBJECT AGENT) means that ?OBJECT is used by ?AGENT as an instrument in an unspecified &%Process. This &%Predicate, as its corresponding axiom indicates, is a composition of the &%CaseRoles &%agent and &%instrument.") (=> (uses ?OBJ ?AGENT) (exists (?PROC) (and (agent ?PROC ?AGENT) (instrument ?PROC ?OBJ)))) ;; END FILE ;; BEGIN FILE ;;;;;;;;;;;;;;;;;;;;;;;;;; ;; NUMERIC FUNCTIONS ;; ;;;;;;;;;;;;;;;;;;;;;;;;;; ;; INCLUDES 'STRUCTURAL ONTOLOGY' ;; INCLUDES 'BASE ONTOLOGY' (instance MultiplicationFn AssociativeFunction) (instance MultiplicationFn CommutativeFunction) (instance MultiplicationFn RelationExtendedToQuantities) (domain MultiplicationFn 1 Quantity) (domain MultiplicationFn 2 Quantity) (range MultiplicationFn Quantity) (documentation MultiplicationFn "If ?NUMBER1 and ?NUMBER2 are &%Numbers, then (&%MultiplicationFn ?NUMBER1 ?NUMBER2) is the arithmetical product of these numbers.") (instance AdditionFn AssociativeFunction) (instance AdditionFn CommutativeFunction) (instance AdditionFn RelationExtendedToQuantities) (domain AdditionFn 1 Quantity) (domain AdditionFn 2 Quantity) (range AdditionFn Quantity) (documentation AdditionFn "If ?NUMBER1 and ?NUMBER2 are &%Numbers, then (&%AdditionFn ?NUMBER1 ?NUMBER2) is the arithmetical sum of these numbers.") (instance SubtractionFn AssociativeFunction) (instance SubtractionFn RelationExtendedToQuantities) (domain SubtractionFn 1 Quantity) (domain SubtractionFn 2 Quantity) (range SubtractionFn Quantity) (documentation SubtractionFn "If ?NUMBER1 and ?NUMBER2 are &%Numbers, then (&%SubtractionFn ?NUMBER1 ?NUMBER2) is the arithmetical difference between ?NUMBER1 and ?NUMBER2, i.e. ?NUMBER1 minus ?NUMBER2. An exception occurs when ?NUMBER1 is equal to 0, in which case (&%SubtractionFn ?NUMBER1 ?NUMBER2) is the negation of ?NUMBER2.") (instance DivisionFn AssociativeFunction) (instance DivisionFn RelationExtendedToQuantities) (domain DivisionFn 1 Quantity) (domain DivisionFn 2 Quantity) (range DivisionFn Quantity) (documentation DivisionFn "If ?NUMBER1 and ?NUMBER2 are &%Numbers, then (&%DivisionFn ?NUMBER1 ?NUMBER2) is the result of dividing ?NUMBER1 by ?NUMBER2. An exception occurs when ?NUMBER1 = 1, in which case (&%DivisionFn ?NUMBER1 ?NUMBER2) is the reciprocal of ?NUMBER2.") (=> (instance ?NUMBER RationalNumber) (exists (?INT1 ?INT2) (and (instance ?INT1 Integer) (instance ?INT2 Integer) (equal ?NUMBER (DivisionFn ?INT1 ?INT2))))) (instance AbsoluteValueFn UnaryFunction) (domain AbsoluteValueFn 1 RealNumber) (range AbsoluteValueFn PositiveRealNumber) (documentation AbsoluteValueFn "The value of (&%AbsoluteValueFn ?NUMBER) is the absolute value of the &%RealNumber ?NUMBER.") (<=> (equal (AbsoluteValueFn ?NUMBER1) ?NUMBER2) (or (and (instance ?NUMBER1 PositiveInteger) (equal ?NUMBER1 ?NUMBER2)) (and (instance ?NUMBER1 NegativeInteger) (equal ?NUMBER2 (SubtractionFn 0 ?NUMBER1))))) (instance ArcCosineFn UnaryFunction) (inverse ArcCosineFn CosineFn) (domain ArcCosineFn 1 RealNumber) (range ArcCosineFn PlaneAngleMeasure) (documentation ArcCosineFn "(&%ArcCosineFn ?NUMBER) returns the arc cosine of the &%RealNumber ?NUMBER. It is the &%inverse of &%CosineFn.") (instance ArcSineFn UnaryFunction) (inverse ArcSineFn SineFn) (domain ArcSineFn 1 RealNumber) (range ArcSineFn PlaneAngleMeasure) (documentation ArcSineFn "(&%ArcSineFn ?NUMBER) returns the arc sine of the &%RealNumber ?NUMBER. It is the &%inverse of &%SineFn.") (instance ArcTangentFn UnaryFunction) (inverse ArcTangentFn TangentFn) (domain ArcTangentFn 1 RealNumber) (range ArcTangentFn PlaneAngleMeasure) (documentation ArcTangentFn "(&%ArcTangentFn ?NUMBER) returns the arc tangent of the &%RealNumber ?NUMBER. It is the &%inverse of &%TangentFn.") (instance CeilingFn UnaryFunction) (domain CeilingFn 1 RealNumber) (range CeilingFn Integer) (documentation CeilingFn "(&%CeilingFn ?NUMBER) returns the smallest &%Integer greater than or equal to the &%RealNumber ?NUMBER.") (=> (equal (CeilingFn ?NUMBER) ?INT) (not (exists (?OTHERINT) (and (instance ?OTHERINT Integer) (greaterThanOrEqualTo ?OTHERINT ?NUMBER) (lessThan ?OTHERINT ?INT))))) (instance CosineFn UnaryFunction) (domain CosineFn 1 PlaneAngleMeasure) (range CosineFn RealNumber) (documentation CosineFn "(&%CosineFn ?DEGREE) returns the cosine of the &%PlaneAngleMeasure ?DEGREE. The cosine of ?DEGREE is the ratio of the side next to ?DEGREE to the hypotenuse in a right-angled triangle.") (instance DenominatorFn UnaryFunction) (domain DenominatorFn 1 RealNumber) (range DenominatorFn Integer) (documentation DenominatorFn "(&%DenominatorFn ?NUMBER) returns the denominator of the canonical reduced form of the &%RealNumber ?NUMBER.") (instance ExponentiationFn BinaryFunction) (instance ExponentiationFn RelationExtendedToQuantities) (domain ExponentiationFn 1 Quantity) (domain ExponentiationFn 2 Integer) (range ExponentiationFn Quantity) (documentation ExponentiationFn "(&%ExponentiationFn ?NUMBER ?INT) returns the &%RealNumber ?NUMBER raised to the power of the &%Integer ?INT.") (instance FloorFn UnaryFunction) (domain FloorFn 1 RealNumber) (range FloorFn Integer) (documentation FloorFn "(&%FloorFn ?NUMBER) returns the largest &%Integer less than or equal to the &%RealNumber ?NUMBER.") (=> (equal (FloorFn ?NUMBER) ?INT) (not (exists (?OTHERINT) (and (instance ?OTHERINT Integer) (lessThanOrEqualTo ?OTHERINT ?NUMBER) (greaterThan ?OTHERINT ?INT))))) (instance GreatestCommonDivisorFn Function) (instance GreatestCommonDivisorFn VariableArityRelation) (range GreatestCommonDivisorFn Integer) (documentation GreatestCommonDivisorFn "(&%GreatestCommonDivisorFn ?NUMBER1 ?NUMBER2 ... ?NUMBER) returns the greatest common divisor of ?NUMBER1 through ?NUMBER.") (instance ImaginaryPartFn UnaryFunction) (domain ImaginaryPartFn 1 ComplexNumber) (range ImaginaryPartFn ImaginaryNumber) (documentation ImaginaryPartFn "(&%ImaginaryPartFn ?NUMBER) returns the imaginary part of ?NUMBER.") (=> (instance ?NUMBER ComplexNumber) (exists (?PART1 ?PART2) (and (equal ?PART1 (RealNumberFn ?NUMBER)) (equal ?PART2 (ImaginaryPartFn ?NUMBER))))) (instance IntegerSquareRootFn UnaryFunction) (domain IntegerSquareRootFn 1 RealNumber) (range IntegerSquareRootFn NonnegativeInteger) (documentation IntegerSquareRootFn "(&%IntegerSquareRootFn ?NUMBER) returns the integer square root of ?NUMBER.") (instance LeastCommonMultipleFn Function) (instance LeastCommonMultipleFn VariableArityRelation) (range LeastCommonMultipleFn Integer) (documentation LeastCommonMultipleFn "(&%LeastCommonMultipleFn ?NUMBER1 ?NUMBER2 ... ?NUMBER) returns the least common multiple of ?NUMBER1 through ?NUMBER.") (instance LogFn BinaryFunction) (domain LogFn 1 RealNumber) (domain LogFn 2 PositiveInteger) (range LogFn RealNumber) (documentation LogFn "(LogFn ?NUMBER ?INT) returns the logarithm of the &%RealNumber ?NUMBER in the base denoted by the &%Integer ?INT.") (instance MaxFn AssociativeFunction) (instance MaxFn CommutativeFunction) (instance MaxFn RelationExtendedToQuantities) (domain MaxFn 1 Quantity) (domain MaxFn 2 Quantity) (range MaxFn Quantity) (documentation MaxFn "(&%MaxFn ?NUMBER1 ?NUMBER2) is the largest of ?NUMBER1 and ?NUMBER2. In cases where ?NUMBER1 is equal to ?NUMBER2, &%MaxFn returns one of its arguments.") (=> (equal (MaxFn ?NUMBER1 ?NUMBER2) ?NUMBER) (or (and (equal ?NUMBER ?NUMBER1) (greaterThan ?NUMBER1 ?NUMBER2)) (and (equal ?NUMBER ?NUMBER2) (greaterThan ?NUMBER2 ?NUMBER1)) (and (equal ?NUMBER ?NUMBER1) (equal ?NUMBER ?NUMBER2)))) (instance MinFn AssociativeFunction) (instance MinFn CommutativeFunction) (instance MinFn RelationExtendedToQuantities) (domain MinFn 1 Quantity) (domain MinFn 2 Quantity) (range MinFn Quantity) (documentation MinFn "(&%MinFn ?NUMBER1 ?NUMBER2) is the smallest of ?NUMBER1 and ?NUMBER2. In cases where ?NUMBER1 is equal to ?NUMBER2, &%MinFn returns one of its arguments.") (=> (equal (MinFn ?NUMBER1 ?NUMBER2) ?NUMBER) (or (and (equal ?NUMBER ?NUMBER1) (lessThan ?NUMBER1 ?NUMBER2)) (and (equal ?NUMBER ?NUMBER2) (lessThan ?NUMBER2 ?NUMBER1)) (and (equal ?NUMBER ?NUMBER1) (equal ?NUMBER ?NUMBER2)))) (instance NumeratorFn UnaryFunction) (domain NumeratorFn 1 RealNumber) (range NumeratorFn Integer) (documentation NumeratorFn "(&%NumeratorFn ?NUMBER) returns the numerator of the canonical reduced form ?NUMBER.") (instance Pi RealNumber) (documentation Pi "&%Pi is the &%RealNumber that is the ratio of the perimeter of a circle to its diameter. It is approximately equal to 3.141592653589793.") (instance RationalNumberFn UnaryFunction) (domain RationalNumberFn 1 Number) (range RationalNumberFn RationalNumber) (documentation RationalNumberFn "(&%RationalNumberFn ?NUMBER) returns the rational representation of ?NUMBER.") (instance RealNumberFn UnaryFunction) (domain RealNumberFn 1 Number) (range RealNumberFn RealNumber) (documentation RealNumberFn "(RealNumberFn ?NUMBER) returns the part of ?NUMBER that is a &%RealNumber.") (instance ReciprocalFn UnaryFunction) (instance ReciprocalFn RelationExtendedToQuantities) (domain ReciprocalFn 1 Quantity) (range ReciprocalFn Quantity) (documentation ReciprocalFn "(ReciprocalFn ?NUMBER) is the reciprocal element of ?NUMBER with respect to the multiplication operator (&%MultiplicationFn), i.e. 1/?NUMBER. Not all numbers have a reciprocal element. For example the number 0 does not. If a number ?NUMBER has a reciprocal ?RECIP, then the product of ?NUMBER and ?RECIP will be 1, e.g. 3*1/3 = 1. The reciprocal of an element is &%equal to applying the &%ExponentiationFn function to the element to the power -1.") (equal (ReciprocalFn ?NUMBER) (ExponentiationFn ?NUMBER -1)) (equal 1 (MultiplicationFn ?NUMBER (ReciprocalFn ?NUMBER))) (instance RemainderFn BinaryFunction) (instance RemainderFn RelationExtendedToQuantities) (domain RemainderFn 1 Quantity) (domain RemainderFn 2 Quantity) (range RemainderFn Quantity) (documentation RemainderFn "(RemainderFn ?NUMBER ?DIVISOR) is the remainder of the number ?NUMBER divided by the number ?DIVISOR. The result has the same sign as ?DIVISOR.") (<=> (equal (RemainderFn ?NUMBER1 ?NUMBER2) ?NUMBER) (equal (AdditionFn (MultiplicationFn (FloorFn (DivisionFn ?NUMBER1 ?NUMBER2)) ?NUMBER2) ?NUMBER) ?NUMBER1)) (=> (equal (RemainderFn ?NUMBER1 ?NUMBER2) ?NUMBER) (equal (SignumFn ?NUMBER2) (SignumFn ?NUMBER))) (=> (instance ?NUMBER EvenInteger) (equal (RemainderFn ?NUMBER 2) 0)) (=> (instance ?NUMBER OddInteger) (equal (RemainderFn ?NUMBER 2) 1)) (=> (instance ?PRIME PrimeNumber) (forall (?NUMBER) (=> (equal (RemainderFn ?PRIME ?NUMBER) 0) (or (equal ?NUMBER 1) (equal ?NUMBER ?PRIME))))) (instance RoundFn UnaryFunction) (instance RoundFn RelationExtendedToQuantities) (domain RoundFn 1 Quantity) (range RoundFn Quantity) (documentation RoundFn "(&%RoundFn ?NUMBER) is the &%Integer closest to ?NUMBER on the number line. If ?NUMBER is halfway between two &%Integers (for example 3.5), it denotes the larger &%Integer.") (=> (equal (RoundFn ?NUMBER1) ?NUMBER2) (or (=> (lessThan (SubtractionFn ?NUMBER1 (FloorFn ?NUMBER1)) .5) (equal ?NUMBER2 (FloorFn ?NUMBER1))) (=> (greaterThanOrEqualTo (SubtractionFn ?NUMBER1 (FloorFn ?NUMBER1)) .5) (equal ?NUMBER2 (CeilingFn ?NUMBER1))))) (instance SignumFn UnaryFunction) (domain SignumFn 1 RealNumber) (range SignumFn Integer) (documentation SignumFn "(SignumFn ?NUMBER) denotes the sign of ?NUMBER. This is one of the following values: -1, 1, or 0.") (=> (instance ?NUMBER NonnegativeRealNumber) (or (equal (SignumFn ?NUMBER) 1) (equal (SignumFn ?NUMBER) 0))) (=> (instance ?NUMBER PositiveRealNumber) (equal (SignumFn ?NUMBER) 1)) (=> (instance ?NUMBER NegativeRealNumber) (equal (SignumFn ?NUMBER) -1)) (instance SineFn UnaryFunction) (domain SineFn 1 PlaneAngleMeasure) (range SineFn RealNumber) (documentation SineFn "(&%SineFn ?DEGREE) is the sine of the &%PlaneAngleMeasure ?DEGREE. The sine of ?DEGREE is the ratio of the side opposite ?DEGREE to the hypotenuse in a right-angled triangle.") (instance SquareRootFn UnaryFunction) (domain SquareRootFn 1 RealNumber) (range SquareRootFn RealNumber) (documentation SquareRootFn "(SquareRootFn ?NUMBER) is the principal square root of ?NUMBER.") (=> (equal (SquareRootFn ?NUMBER1) ?NUMBER2) (equal (MultiplicationFn ?NUMBER2 ?NUMBER2) ?NUMBER1)) (instance TangentFn UnaryFunction) (domain TangentFn 1 PlaneAngleMeasure) (range TangentFn RealNumber) (documentation TangentFn "(&%TangentFn ?DEGREE) is the tangent of the &%PlaneAngleMeasure ?DEGREE. The tangent of ?DEGREE is the ratio of the side opposite ?DEGREE to the side next to ?DEGREE in a right-angled triangle.") (equal (TangentFn ?DEGREE) (DivisionFn (SineFn ?DEGREE) (CosineFn ?DEGREE))) (instance IdentityFn UnaryFunction) (domain IdentityFn 1 Entity) (range IdentityFn Entity) (documentation IdentityFn "The value of the identity function is just its argument.") (equal (IdentityFn ?INST) ?INST) (instance identityElement BinaryPredicate) (instance identityElement AsymmetricRelation) (domain identityElement 1 BinaryFunction) (domain identityElement 2 Entity) (documentation identityElement "An object ?ID is the identity element for BinaryFunction ?FUNCTION just in case, for every instance ?INST, applying ?FUNCTION to ?INST and ?ID results in ?INST.") (=> (identityElement ?FUNCTION ?ID) (forall (?INST) (=> (instance ?INST (DomainFn ?FUNCTION)) (equal (AssignmentFn ?FUNCTION ?ID ?INST) ?INST)))) (identityElement MultiplicationFn 1) (identityElement AdditionFn 0) (identityElement SubtractionFn 0) (identityElement DivisionFn 1) (instance SuccessorFn UnaryFunction) (domain SuccessorFn 1 Integer) (range SuccessorFn Integer) (documentation SuccessorFn "A &%UnaryFunction that maps an &%Integer to its successor, e.g. the successor of 5 is 6.") (=> (equal (SuccessorFn ?INT1) (SuccessorFn ?INT2)) (equal ?INT1 ?INT2)) (=> (instance ?INT Integer) (lessThan ?INT (SuccessorFn ?INT))) (=> (and (instance ?INT1 Integer) (instance ?INT2 Integer)) (not (and (lessThan ?INT1 ?INT2) (lessThan ?INT2 (SuccessorFn ?INT1))))) (=> (instance ?INT Integer) (equal ?INT (SuccessorFn (PredecessorFn ?INT)))) (=> (instance ?INT Integer) (equal ?INT (PredecessorFn (SuccessorFn ?INT)))) (instance PredecessorFn UnaryFunction) (domain PredecessorFn 1 Integer) (range PredecessorFn Integer) (documentation PredecessorFn "A &%UnaryFunction that maps an &%Integer to its predecessor, e.g. the predecessor of 5 is 4.") (=> (equal (PredecessorFn ?INT1) (PredecessorFn ?INT2)) (equal ?INT1 ?INT2)) (=> (instance ?INT Integer) (greaterThan ?INT (PredecessorFn ?INT))) (=> (and (instance ?INT1 Integer) (instance ?INT2 Integer)) (not (and (lessThan ?INT2 ?INT1) (lessThan (PredecessorFn ?INT1) ?INT2)))) ;; END FILE ;; BEGIN FILE ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; SET/CLASS THEORY ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; INCLUDES 'STRUCTURAL ONTOLOGY' ;; INCLUDES 'BASE ONTOLOGY' ;; The following part of the ontology covers set-theoretic predicates ;; and functions. Most of the content here is taken from the kif-sets ;; ontology (available on the Ontolingua server). (subrelation subset subclass) (domain subset 1 Set) (domain subset 2 Set) (documentation subset "(subset ?SET1 ?SET2) is true just in case the &%elements of the &%Set ?SET1 are also &%elements of the &%Set ?SET2.") (=> (subset ?SUBSET ?SET) (forall (?ELEMENT) (=> (element ?ELEMENT ?SUBSET) (element ?ELEMENT ?SET)))) (instance element BinaryPredicate) (instance element AsymmetricRelation) (instance element IntransitiveRelation) (subrelation element instance) (domain element 1 Entity) (domain element 2 Set) (documentation element "(element ?ENTITY ?SET) is true just in case ?ENTITY is contained in the &%Set ?SET. An &%Entity can be an &%element of another &%Entity only if the latter is a &%Set.") (=> (forall (?ELEMENT) (<=> (element ?ELEMENT ?SET1) (element ?ELEMENT ?SET2))) (equal ?SET1 ?SET2)) (instance UnionFn BinaryFunction) (domain UnionFn 1 Class) (domain UnionFn 2 Class) (range UnionFn Class) (documentation UnionFn "A &%BinaryFunction that maps two &%Classes to the union of these &%Classes. An object is an instance of the union of two &%Classes just in case it is an instance of either &%Class.") (<=> (instance ?ENTITY (UnionFn ?CLASS1 ?CLASS2)) (or (instance ?ENTITY ?CLASS1) (instance ?ENTITY ?CLASS2))) (instance IntersectionFn BinaryFunction) (domain IntersectionFn 1 Class) (domain IntersectionFn 2 Class) (range IntersectionFn Class) (documentation IntersectionFn "A &%BinaryFunction that maps two %Classes to the intersection of these &%Classes. An object is an instance of the intersection of two &%Classes just in case it is an instance of both of those &%Classes.") (<=> (instance ?ENTITY (IntersectionFn ?CLASS1 ?CLASS2)) (and (instance ?ENTITY ?CLASS1) (instance ?ENTITY ?CLASS2))) (instance RelativeComplementFn BinaryFunction) (domain RelativeComplementFn 1 Class) (domain RelativeComplementFn 2 Class) (range RelativeComplementFn Class) (documentation RelativeComplementFn "A &%BinaryFunction that maps two &%Classes to the difference between these &%Classes. More precisely, the relative complement of one class C1 relative to another C2 consists of the instances of C1 that are instances of the &%ComplementFn of C2.") (equal (RelativeComplementFn ?CLASS1 ?CLASS2) (IntersectionFn ?CLASS1 (ComplementFn ?CLASS2))) (=> (instance ?NUMBER ImaginaryNumber) (instance ?NUMBER (RelativeComplementFn Number RealNumber))) (instance ComplementFn UnaryFunction) (domain ComplementFn 1 Class) (range ComplementFn Class) (documentation ComplementFn "The complement of a given &%Class C is the &%Class of all things that are not instances of C. In other words, an object is an instance of the complement of a &%Class C just in case it is not an instance of C.") (<=> (instance ?ENTITY (ComplementFn ?CLASS)) (not (instance ?ENTITY ?CLASS))) (instance GeneralizedUnionFn UnaryFunction) (domainSubclass GeneralizedUnionFn 1 Class) (range GeneralizedUnionFn Class) (documentation GeneralizedUnionFn "A &%UnaryFunction that takes a &%Class of &%Classes as its single argument and returns a &%Class which is the merge of all of the &%Classes in the original &%Class, i.e. the &%Class containing just those instances which are instances of an instance of the original &%Class.") (<=> (instance ?ENTITY (GeneralizedUnionFn ?SUPERCLASS)) (exists (?CLASS) (and (instance ?CLASS ?SUPERCLASS) (instance ?ENTITY ?CLASS)))) (instance GeneralizedIntersectionFn UnaryFunction) (domainSubclass GeneralizedIntersectionFn 1 Class) (range GeneralizedIntersectionFn Class) (documentation GeneralizedIntersectionFn "A &%UnaryFunction that takes a &%Class of &%Classes as its single argument and returns a &%Class which is the intersection of all of the &%Classes in the original &%Class, i.e. the &%Class containing just those instances which are instances of all instances of the original &%Class.") (<=> (instance ?ENTITY (GeneralizedIntersectionFn ?SUPERCLASS)) (forall (?CLASS) (=> (instance ?CLASS ?SUPERCLASS) (instance ?ENTITY ?CLASS)))) (instance CardinalityFn UnaryFunction) (instance CardinalityFn AsymmetricRelation) (domain CardinalityFn 1 (UnionFn Class Collection)) (domain CardinalityFn 2 NonnegativeInteger) (documentation CardinalityFn "(CardinalityFn ?CLASS) returns the number of instances in the &%Class or &%Collection ?CLASS.") (instance NullSet Set) (documentation NullSet "The &%Set that contains no instances.") (equal NullSet (ComplementFn Entity)) (subclass FiniteSet Set) (documentation FiniteSet "A &%Set containing a finite number of elements.") (=> (instance ?SET FiniteSet) (exists (?NUMBER) (and (instance ?NUMBER NonnegativeInteger) (equal ?NUMBER (CardinalityFn ?SET))))) (subclass PairwiseDisjointClass Class) (documentation PairwiseDisjointClass "A &%Class of &%Classes is a &%PairwiseDisjointClass just in case every instance of the &%Class is either &%equal to or &%disjoint from every other instance of the &%Class.") (=> (instance ?SUPERCLASS PairwiseDisjointClass) (forall (?CLASS1 ?CLASS2) (=> (and (instance ?CLASS1 ?SUPERCLASS) (instance ?CLASS2 ?SUPERCLASS)) (or (equal ?CLASS1 ?CLASS2) (disjoint ?CLASS1 ?CLASS2))))) (subclass MutuallyDisjointClass Class) (documentation MutuallyDisjointClass "A &%Class of &%Classes is a &%MutuallyDisjointClass just in case there exists no instance of an instance of the original &%Class which is an instance of all of the instances of the original &%Class.") (=> (instance ?CLASS MutuallyDisjointClass) (equal (GeneralizedIntersectionFn ?CLASS) NullSet)) (instance KappaFn BinaryFunction) (domain KappaFn 1 SymbolicString) (domain KappaFn 2 Formula) (range KappaFn Class) (documentation KappaFn "A class-forming operator that takes two arguments: a variable and a formula containing at least one unbound occurrence of the variable. The result of applying &%KappaFn to a variable and a formula is the &%Class of things that satisfy the formula. For example, we can denote the &%Class of prime numbers that are less than 100 with the following expression: (KappaFn ?NUMBER (and (instance ?NUMBER PrimeNumber) (lessThan ?NUMBER 100))). Note that the use of this function is discouraged, since there is currently no axiomatic support for it.") ;; END FILE ;; BEGIN FILE ;;;;;;;;;;;;;;;;;;;;; ;; GRAPH THEORY ;; ;;;;;;;;;;;;;;;;;;;;; (subclass Graph Abstract) (documentation Graph "The &%Class of graphs, where a graph is understood to be a set of &%GraphNodes connected by &%GraphArcs. Note that this &%Class includes only connected graphs, i.e. graphs in which there is a &%GraphPath between any two &%GraphNodes. Note too that every &%Graph is assumed to contain at least two &%GraphArcs and three &%GraphNodes.") (=> (and (instance ?GRAPH Graph) (instance ?NODE1 GraphNode) (instance ?NODE2 GraphNode) (graphPart ?NODE1 ?GRAPH) (graphPart ?NODE2 ?GRAPH) (not (equal ?NODE1 ?NODE2))) (exists (?ARC ?PATH) (or (links ?NODE1 ?NODE2 ?ARC) (and (subGraph ?PATH ?GRAPH) (instance ?PATH GraphPath) (or (and (equal (BeginNodeFn ?PATH) ?NODE1) (equal (EndNodeFn ?PATH) ?NODE2)) (and (equal (BeginNodeFn ?PATH) ?NODE2) (equal (EndNodeFn ?PATH) ?NODE1))))))) (=> (instance ?GRAPH Graph) (exists (?NODE1 ?NODE2 ?NODE3 ?ARC1 ?ARC2) (and (graphPart ?NODE1 ?GRAPH) (graphPart ?NODE2 ?GRAPH) (graphPart ?NODE3 ?GRAPH) (graphPart ?ARC1 ?GRAPH) (graphPart ?ARC2 ?GRAPH) (links ?ARC1 ?NODE1 ?NODE2) (links ?ARC2 ?NODE2 ?NODE3) (not (equal ?NODE1 ?NODE2)) (not (equal ?NODE2 ?NODE3)) (not (equal ?NODE1 ?NODE3)) (not (equal ?ARC1 ?ARC2))))) (subclass DirectedGraph Graph) (documentation DirectedGraph "The &%Class of directed graphs. A directed graph is a &%Graph in which all &%GraphArcs have direction, i.e. every &%GraphArc has an initial node (see &%InitialNodeFn) and a terminal node (see &%TerminalNodeFn).") (=> (and (instance ?GRAPH DirectedGraph) (instance ?ARC GraphArc) (graphPart ?ARC ?GRAPH)) (exists (?NODE1 ?NODE2) (and (equal (InitialNodeFn ?ARC) ?NODE1) (equal (TerminalNodeFn ?ARC) ?NODE2)))) (subclass Tree Graph) (documentation Tree "A Tree is a &%DirectedGraph that has no &%GraphLoops.") (=> (instance ?GRAPH Tree) (not (exists (?LOOP) (and (instance ?LOOP GraphLoop) (graphPart ?LOOP ?GRAPH))))) (subclass GraphPath DirectedGraph) (documentation GraphPath "Informally, a single, directed route between two &%GraphNodes in a &%Graph. Formally, a &%DirectedGraph that is a &%subGraph of the original &%Graph and such that no two &%GraphArcs in the &%DirectedGraph have the same intial node (see &%InitialNodeFn) or the same terminal node (see &%TerminalNodeFn).") (=> (and (instance ?GRAPH GraphPath) (instance ?ARC GraphArc) (graphPart ?ARC ?GRAPH)) (=> (equal (InitialNodeFn ?ARC) ?NODE) (not (exists (?OTHER) (and (equal (InitialNodeFn ?OTHER) ?NODE) (not (equal ?OTHER ?ARC))))))) (=> (and (instance ?GRAPH GraphPath) (instance ?ARC GraphArc) (graphPart ?ARC ?GRAPH)) (=> (equal (TerminalNodeFn ?ARC) ?NODE) (not (exists (?OTHER) (and (equal (TerminalNodeFn ?OTHER) ?NODE) (not (equal ?OTHER ?ARC))))))) (subclass GraphCircuit GraphPath) (documentation GraphCircuit "A &%GraphPath that begins (see &%BeginNodeFn) and ends (see &%EndNodeFn) at the same &%GraphNode.") (<=> (instance ?GRAPH GraphCircuit) (exists (?NODE) (and (equal (BeginNodeFn ?GRAPH) ?NODE) (equal (EndNodeFn ?GRAPH) ?NODE)))) (subclass MultiGraph Graph) (documentation MultiGraph "The &%Class of multigraphs. A multigraph is a &%Graph containing at least one pair of &%GraphNodes that are connected by more than one &%GraphArc.") (<=> (instance ?GRAPH MultiGraph) (exists (?ARC1 ?ARC2 ?NODE1 ?NODE2) (and (graphPart ?ARC1 ?GRAPH) (graphPart ?ARC2 ?GRAPH) (graphPart ?NODE1 ?GRAPH) (graphPart ?NODE2 ?GRAPH) (links ?NODE1 ?NODE2 ?ARC1) (links ?NODE1 ?NODE2 ?ARC2) (not (equal ?ARC1 ?ARC2))))) (subclass PseudoGraph Graph) (documentation PseudoGraph "The &%Class of pseudographs. A pseudograph is a &%Graph containing at least one &%GraphLoop.") (<=> (instance ?GRAPH PseudoGraph) (exists (?LOOP) (and (instance ?LOOP GraphLoop) (graphPart ?LOOP ?GRAPH)))) (subclass GraphElement Abstract) (disjoint GraphElement Graph) (partition GraphElement GraphNode GraphArc) (documentation GraphElement "Noncompositional parts of &%Graphs. These parts are restricted to &%GraphNodes and &%GraphArcs.") (=> (instance ?PART GraphElement) (exists (?GRAPH) (and (instance ?GRAPH Graph) (graphPart ?PART ?GRAPH)))) (subclass GraphNode GraphElement) (documentation GraphNode "&%Graphs are comprised of &%GraphNodes and &%GraphArcs. Every &%GraphNode is linked by a &%GraphArc.") (=> (instance ?NODE GraphNode) (exists (?OTHER ?ARC) (links ?NODE ?OTHER ?ARC))) (subclass GraphArc GraphElement) (documentation GraphArc "&%Graphs are comprised of &%GraphNodes and &%GraphArcs. Every &%GraphArc links two &%GraphNodes.") (=> (instance ?ARC GraphArc) (exists (?NODE1 ?NODE2) (links ?NODE1 ?NODE2 ?ARC))) (subclass GraphLoop GraphArc) (documentation GraphLoop "A &%GraphArc in which a &%GraphNode is linked to itself.") (<=> (instance ?LOOP GraphLoop) (exists (?NODE) (links ?NODE ?NODE ?LOOP))) (=> (and (equal (InitialNodeFn ?ARC) ?NODE) (equal (TerminalNodeFn ?ARC) ?NODE)) (instance ?ARC GraphLoop)) (instance links TernaryPredicate) (domain links 1 GraphNode) (domain links 2 GraphNode) (domain links 3 GraphArc) (documentation links "a &%TernaryPredicate that specifies the &%GraphArc connecting two &%GraphNodes.") (=> (links ?NODE1 ?NODE2 ?ARC) (links ?NODE2 ?NODE1 ?ARC)) (instance graphPart BinaryPredicate) (instance graphPart AsymmetricRelation) (instance graphPart IrreflexiveRelation) (domain graphPart 1 GraphElement) (domain graphPart 2 Graph) (documentation graphPart "A basic relation for &%Graphs and their parts. (&%graphPart ?PART ?GRAPH) means that ?PART is a &%GraphArc or &%GraphNode of the &%Graph ?GRAPH.") (instance subGraph BinaryPredicate) (instance subGraph ReflexiveRelation) (instance subGraph TransitiveRelation) (domain subGraph 1 Graph) (domain subGraph 2 Graph) (documentation subGraph "The relation between two &%Graphs when one &%Graph is a part of the other. (&%subGraph ?GRAPH1 ?GRAPH2) means that ?GRAPH1 is a part of ?GRAPH2.") (=> (and (subGraph ?GRAPH1 ?GRAPH2) (graphPart ?ELEMENT ?GRAPH1)) (graphPart ?ELEMENT ?GRAPH2)) (instance pathLength BinaryPredicate) (instance pathLength AsymmetricRelation) (instance pathLength IrreflexiveRelation) (domain pathLength 1 GraphPath) (domain pathLength 2 PositiveInteger) (documentation pathLength "A &%BinaryPredicate that specifies the length (in number of &%GraphNodes) of a &%GraphPath. (&%pathLength ?PATH ?NUMBER) means that there are ?NUMBER nodes in the &%GraphPath ?PATH.") (instance InitialNodeFn UnaryFunction) (domain InitialNodeFn 1 GraphArc) (range InitialNodeFn GraphNode) (documentation InitialNodeFn "A &%UnaryFunction that maps a &%GraphArc to the initial node of the &%GraphArc. Note that this is a partial function. In particular, the function is undefined for &%GraphArcs that are not part of a &%DirectedGraph.") (instance TerminalNodeFn UnaryFunction) (domain TerminalNodeFn 1 GraphArc) (range TerminalNodeFn GraphNode) (documentation TerminalNodeFn "A &%UnaryFunction that maps a &%GraphArc to the terminal node of the &%GraphArc. Note that this is a partial function. In particular, the function is undefined for &%GraphArcs that are not part of a &%DirectedGraph.") (instance BeginNodeFn UnaryFunction) (domain BeginNodeFn 1 GraphPath) (range BeginNodeFn GraphNode) (relatedInternalConcept BeginNodeFn InitialNodeFn) (documentation BeginNodeFn "A &%UnaryFunction that maps a &%GraphPath to the &%GraphNode that is the beginning of the &%GraphPath. Note that, unlike &%InitialNodeFn (which relates a &%GraphArc to a &%GraphNode), &%BeginNodeFn is a total function - every &%GraphPath has a beginning.") (instance EndNodeFn UnaryFunction) (domain EndNodeFn 1 GraphPath) (range EndNodeFn GraphNode) (relatedInternalConcept EndNodeFn TerminalNodeFn) (documentation EndNodeFn "A &%UnaryFunction that maps a &%GraphPath to the &%GraphNode that is the end of the &%GraphPath. Note that, unlike &%TerminalNodeFn (which relates a &%GraphArc to a &%GraphNode), &%EndNodeFn is a total function - every &%GraphPath has a end.") (instance arcWeight BinaryPredicate) (domain arcWeight 1 GraphArc) (domain arcWeight 2 RealNumber) (documentation arcWeight "This predicate indicates the value of a &%GraphArc in a &%Graph. This could map to the length of a road in a road network or the flow rate of a pipe in a plumbing system.") (instance PathWeightFn UnaryFunction) (domain PathWeightFn 1 GraphPath) (range PathWeightFn RealNumber) (documentation PathWeightFn "A &%UnaryFunction that maps a &%GraphPath to the sum of the &%arcWeights on the &%GraphArcs in the &%GraphPath.") (=> (and (equal (PathWeightFn ?PATH) ?SUM) (subGraph ?SUBPATH ?PATH) (graphPart ?ARC1 ?PATH) (arcWeight ?ARC1 ?NUMBER1) (forall (?ARC2) (=> (graphPart ?ARC2 ?PATH) (or (graphPart ?ARC2 ?SUBPATH) (equal ?ARC2 ?ARC1))))) (equal ?SUM (AdditionFn (PathWeightFn ?SUBPATH) ?NUMBER1))) (=> (and (equal (PathWeightFn ?PATH) ?SUM) (graphPart ?ARC1 ?PATH) (graphPart ?ARC2 ?PATH) (arcWeight ?ARC1 ?NUMBER1) (arcWeight ?ARC2 ?NUMBER2) (forall (?ARC3) (=> (graphPart ?ARC3 ?PATH) (or (equal ?ARC3 ?ARC1) (equal ?ARC3 ?ARC2))))) (equal (PathWeightFn ?PATH) (AdditionFn ?NUMBER1 ?NUMBER2))) (instance MinimalWeightedPathFn BinaryFunction) (domain MinimalWeightedPathFn 1 GraphNode) (domain MinimalWeightedPathFn 2 GraphNode) (range MinimalWeightedPathFn GraphPath) (documentation MinimalWeightedPathFn "This &%BinaryFunction assigns two &%GraphNodes to the &%GraphPath with the smallest sum of weighted arcs between the two &%GraphNodes.") (=> (equal (MinimalWeightedPathFn ?NODE1 ?NODE2) ?PATH) (instance ?PATH (GraphPathFn ?NODE1 ?NODE2))) (=> (and (equal (MinimalWeightedPathFn ?NODE1 ?NODE2) ?PATH) (equal (PathWeightFn ?PATH) ?NUMBER)) (forall (?PATH2) (=> (and (instance ?PATH2 (GraphPathFn ?NODE1 ?NODE2)) (equal (PathWeightFn ?PATH2) ?NUMBER2)) (greaterThanOrEqualTo ?NUMBER2 ?NUMBER1)))) (instance MaximalWeightedPathFn BinaryFunction) (domain MaximalWeightedPathFn 1 GraphNode) (domain MaximalWeightedPathFn 2 GraphNode) (range MaximalWeightedPathFn GraphPath) (documentation MaximalWeightedPathFn "This &%BinaryFunction assigns two &%GraphNodes to the &%GraphPath with the largest sum of weighted arcs between the two &%GraphNodes.") (=> (equal (MaximalWeightedPathFn ?NODE1 ?NODE2) ?PATH) (instance ?PATH (GraphPathFn ?NODE1 ?NODE2))) (=> (and (equal (MaximalWeightedPathFn ?NODE1 ?NODE2) ?PATH) (equal (PathWeightFn ?PATH) ?NUMBER)) (forall (?PATH2) (=> (and (instance ?PATH2 (GraphPathFn ?NODE1 ?NODE2)) (equal (PathWeightFn ?PATH2) ?NUMBER2)) (lessThanOrEqualTo ?NUMBER2 ?NUMBER1)))) (instance GraphPathFn BinaryFunction) (domain GraphPathFn 1 GraphNode) (domain GraphPathFn 2 GraphNode) (rangeSubclass GraphPathFn GraphPath) (documentation GraphPathFn "A &%BinaryFunction that maps two &%GraphNodes to the &%Class of &%GraphPaths between those two nodes. Note that the two &%GraphNodes must belong to the same &%Graph.") (=> (and (graphPart ?PATH ?GRAPH) (not (instance ?GRAPH DirectedGraph))) (<=> (equal (GraphPathFn ?NODE1 ?NODE2) ?PATH) (equal (GraphPathFn ?NODE2 ?NODE1) ?PATH))) (instance CutSetFn UnaryFunction) (domain CutSetFn 1 Graph) (rangeSubclass CutSetFn GraphPath) (documentation cutset "A &%UnaryFunction that assigns a &%Graph the &%Class of &%GraphPaths that partition the graph into two separate graphs if cut. There may be more than one cutset for a given graph.") (instance MinimalCutSetFn UnaryFunction) (domain MinimalCutSetFn 1 Graph) (rangeSubclass MinimalCutSetFn GraphPath) (internalRelatedConcept MinimalCutSetFn CutSetFn) (documentation minimalCutset "A &%UnaryFunction that assigns a &%Graph the &%Class of &%GraphPaths which comprise cutsets for the &%Graph and which have the least number of &%GraphArcs.") (subclass (MinimalCutSetFn ?GRAPH) (CutSetFn ?GRAPH)) (=> (equal (MinimalCutSetFn ?GRAPH) ?PATHCLASS) (exists (?NUMBER) (forall (?PATH) (=> (instance ?PATH ?PATHCLASS) (pathLength ?PATH ?NUMBER))))) (not (exists (?PATH1 ?PATH2) (and (instance ?PATH1 (CutSetFn ?GRAPH)) (instance ?PATH2 (MinimalCutSetFn ?GRAPH)) (pathLength ?PATH1 ?NUMBER1) (pathLength ?PATH2 ?NUMBER2) (lessThan ?NUMBER1 ?NUMBER2)))) ;; END FILE ;; BEGIN FILE ;;;;;;;;;;;;;;;;;;;;;;;;; ;; UNITS OF MEASURE ;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;; INCLUDES 'NUMERIC FUNCTIONS' ;; This section was originally based on the relations in the Quantities ;; ontology (developed by ITBM-CNR) and the units of measure in the ;; "Standard Units" and "Standard Dimensions" ontologies on the Ontolingua ;; server. This content has been extensively revised by Helena Sofia Pinto ;; of the Instituto Superior Tecnico in Portugal. The sources for these ;; revisions were: ;; - Barry Taylor, NIST Special Publication 811, Guide for the Use of the ;; International System of Units (SI), 1995. ;; - Encyclopaedia Britannica (on-line version at http://www.britannica.com) (subclass UnitOfMeasure PhysicalQuantity) (documentation UnitOfMeasure "A standard of measurement for some dimension. For example, the &%Meter is a &%UnitOfMeasure for the dimension of length, as is the &%Inch. There is no intrisic property of a &%UnitOfMeasure that makes it primitive or fundamental; rather, a system-of-units (e.g. &%SystemeInternationalUnit) defines a set of orthogonal dimensions and assigns units for each.") (subclass SystemeInternationalUnit UnitOfMeasure) (documentation SystemeInternationalUnit "The &%Class of Systeme International (SI) units.") (subclass LengthMeasure ConstantQuantity) (documentation LengthMeasure "The &%Class of &%ConstantQuantities relating to length.") (subclass MassMeasure ConstantQuantity) (documentation MassMeasure "The &%Class of &%ConstantQuantities relating to the amount of matter in an &%Object.") (subclass AreaMeasure ConstantQuantity) (documentation AreaMeasure "Measures of the amount of space in two dimensions.") (subclass VolumeMeasure ConstantQuantity) (documentation VolumeMeasure "Measures of the amount of space in three dimensions.") (subclass TemperatureMeasure ConstantQuantity) (documentation TemperatureMeasure "Measures of temperature. In scientific circles, the temperature of something is understood as the average velocity of the atoms or molecules that make up the thing.") (subclass CurrencyMeasure ConstantQuantity) (documentation CurrencyMeasure "Includes all standard measures of monetary value, including &%DollarUnitedStates, &%CentUnitedStates, Lire, Yen, etc.") (subclass AngleMeasure ConstantQuantity) (documentation AngleMeasure "The value of an angle in a plane or in a solid.") (subclass PlaneAngleMeasure AngleMeasure) (documentation PlaneAngleMeasure "The value of an angle in a plane.") (subclass SolidAngleMeasure AngleMeasure) (disjoint SolidAngleMeasure PlaneAngleMeasure) (documentation SolidAngleMeasure "The value of an angle in a solid.") (instance MeasureFn BinaryFunction) (domain MeasureFn 1 RealNumber) (domain MeasureFn 2 UnitOfMeasure) (range MeasureFn ConstantQuantity) (documentation MeasureFn "This &%BinaryFunction maps a &%RealNumber and a &%UnitOfMeasure to that &%Number of units. It is used for expressing &%ConstantQuantities. For example, the concept of three meters is represented as (&%MeasureFn 3 &%Meter).") (=> (and (equal (MeasureFn ?NUMBER ?UNIT) ?QUANT) (instance ?UNIT ?QUANTTYPE) (not (equal ?QUANTTYPE UnitOfMeasure))) (instance ?QUANT ?QUANTTYPE)) (=> (and (instance ?FUNCTION RelationExtendedToQuantities) (instance ?FUNCTION BinaryFunction) (instance ?NUMBER1 RealNumber) (instance ?NUMBER2 RealNumber) (equal (AssignmentFn ?FUNCTION ?NUMBER1 ?NUMBER2) ?VALUE)) (forall (?UNIT) (=> (instance ?UNIT UnitOfMeasure) (equal (AssignmentFn ?FUNCTION (MeasureFn ?NUMBER1 ?UNIT) (MeasureFn ?NUMBER2 ?UNIT)) (MeasureFn ?VALUE ?UNIT))))) (=> (and (instance ?REL RelationExtendedToQuantities) (instance ?REL BinaryRelation) (instance ?NUMBER1 RealNumber) (instance ?NUMBER2 RealNumber) (holds ?REL ?NUMBER1 ?NUMBER2)) (forall (?UNIT) (=> (instance ?UNIT UnitOfMeasure) (holds ?REL (MeasureFn ?NUMBER1 ?UNIT) (MeasureFn ?NUMBER2 ?UNIT))))) (instance KiloFn UnaryFunction) (domain KiloFn 1 UnitOfMeasure) (range KiloFn PhysicalQuantity) (documentation KiloFn "A &%UnaryFunction that maps a &%UnitOfMeasure into 1,000 units of the &%UnitOfMeasure. For example, (&%KiloFn &%Gram) is 1,000 &%Grams.") (equal (KiloFn ?UNIT) (MeasureFn 1000 ?UNIT)) (instance MegaFn UnaryFunction) (domain MegaFn 1 UnitOfMeasure) (range MegaFn PhysicalQuantity) (documentation MegaFn "A &%UnaryFunction that maps a &%UnitOfMeasure into 1,000,000 units of the &%UnitOfMeasure. For example, (&%KiloFn &%Hertz) is 1,000,000 &%Hertz.") (equal (MegaFn ?UNIT) (MeasureFn 1000000 ?UNIT)) (instance GigaFn UnaryFunction) (domain GigaFn 1 UnitOfMeasure) (range GigaFn PhysicalQuantity) (documentation GigaFn "A &%UnaryFunction that maps a &%UnitOfMeasure into 1,000,000,000 units of the &%UnitOfMeasure. For example, (&%GigaFn &%Hertz) is 1,000,000,000 &%Hertz.") (equal (GigaFn ?UNIT) (MeasureFn 1000000000 ?UNIT)) (instance TeraFn UnaryFunction) (domain TeraFn 1 UnitOfMeasure) (range TeraFn PhysicalQuantity) (documentation TeraFn "A &%UnaryFunction that maps a &%UnitOfMeasure into 1,000,000,000,000 units of the &%UnitOfMeasure. For example, (&%TeraFn &%Hertz) is 1,000,000,000,000 &%Hertz.") (equal (TeraFn ?UNIT) (MeasureFn 1000000000000 ?UNIT)) (instance MilliFn UnaryFunction) (domain MilliFn 1 UnitOfMeasure) (range MilliFn PhysicalQuantity) (documentation MilliFn "A &%UnaryFunction that maps a &%UnitOfMeasure into .001 units of the &%UnitOfMeasure. For example, (&%MilliFn &%Ampere) is .001 &%Amperes.") (equal (MilliFn ?UNIT) (MeasureFn .001 ?UNIT)) (instance MicroFn UnaryFunction) (domain MicroFn 1 UnitOfMeasure) (range MicroFn PhysicalQuantity) (documentation MicroFn "A &%UnaryFunction that maps a &%UnitOfMeasure into .000001 units of the &%UnitOfMeasure. For example, (&%MicroFn &%Meter) is .000001 &%Meters.") (equal (MicroFn ?UNIT) (MeasureFn .000001 ?UNIT)) (instance NanoFn UnaryFunction) (domain NanoFn 1 UnitOfMeasure) (range NanoFn PhysicalQuantity) (documentation NanoFn "A &%UnaryFunction that maps a &%UnitOfMeasure into .000000001 units of the &%UnitOfMeasure. For example, (&%MicroFn &%SecondDuration) is .000000001 &%SecondDurations.") (equal (NanoFn ?UNIT) (MeasureFn .000000001 ?UNIT)) (instance PicoFn UnaryFunction) (domain PicoFn 1 UnitOfMeasure) (range PicoFn PhysicalQuantity) (documentation PicoFn "A &%UnaryFunction that maps a &%UnitOfMeasure into .000000000001 units of the &%UnitOfMeasure. For example, (&%PicoFn &%Ampere) is .000000000001 &%Amperes.") (equal (PicoFn ?UNIT) (MeasureFn .000000000001 ?UNIT)) (instance IntervalFn BinaryFunction) (domain IntervalFn 1 ConstantQuantity) (domain IntervalFn 2 ConstantQuantity) (range IntervalFn ConstantQuantity) (documentation IntervalFn "A &%BinaryFunction that maps two &%ConstantQuantities to the &%ConstantQuantity that is an interval from the first &%ConstantQuantity to the second &%ConstantQuantity. For example, (&%IntervalFn (&%MeasureFn 6 &%Hour) (&%MeasureFn 12 &%Hour)) would return the &%TimeInterval which begins at 6 in the morning and ends at 12 noon. For a slightly different example, (&%IntervalFn (&%MeasureFn 8 &%Meter) (&%MeasureFn 14 &%Meter)) would return the &%ConstantQuantity of being between 8 and 14 meters in length.") (instance MagnitudeFn UnaryFunction) (domain MagnitudeFn 1 ConstantQuantity) (range MagnitudeFn RealNumber) (documentation MagnitudeFn "The magnitude of a &%ConstantQuantity is the numeric value for the quantity. In other words, &%MagnitudeFn converts a &%ConstantQuantity with an associated &%UnitOfMeasure into an ordinary &%RealNumber. For example, the magnitude of the &%ConstantQuantity 2 &%Kilometers is the &%RealNumber 2. Note that the magnitude of a quantity in a given unit times that unit is equal to the original quantity.") (equal (MagnitudeFn (MeasureFn ?NUMBER ?UNIT)) ?NUMBER) (instance DensityFn BinaryFunction) (domain DensityFn 1 MassMeasure) (domain DensityFn 2 VolumeMeasure) (range DensityFn FunctionQuantity) (documentation DensityFn "A very general &%FunctionQuantity. &%DensityFn maps an instance of &%MassMeasure and an instance of &%VolumeMeasure to the density represented by this combination of mass and volume. For example, (&%DensityFn (&%MeasureFn 3 &%Kilogram) (&%MeasureFn 1 &%Liter)) represents the density of 3 kilograms per liter.") ;; Now the units of measure: ;; First base units for the SI system. No conversion functions are ;; provided for these units. ;; Length Base Unit (instance Meter LengthMeasure) (instance Meter SystemeInternationalUnit) (documentation Meter "SI &%LengthMeasure. Symbol: m. It is one of the base units in SI, and it is currently defined as follows: the &%Meter is the length of the path traveled by light in a vacuum during a time interval of 1/299792458 of a &%SecondDuration.") ;; Mass Base Unit (instance Gram MassMeasure) (instance Gram SystemeInternationalUnit) (documentation Gram "Submultiple of &%Kilogram. Symbol: g. 1 &%Kilogram = 1000 &%Grams.") ;; Time Base Unit (instance SecondDuration TimeDuration) (instance SecondDuration SystemeInternationalUnit) (documentation SecondDuration "SI &%TimeDuration. Symbol: s. It is one of the base units in SI, and it is currently defined as follows: the &%SecondDuration is the duration of 9192631770 periods of the radiation corresponding to the transition between the two hyperfine levels of the ground state of the cesium 133 atom.") ;; Electric Current Base Unit (instance Ampere FunctionQuantity) (instance Ampere SystemeInternationalUnit) (documentation Ampere "SI electric current measure. Symbol: A. It is one of the base units in SI. It is defined as follows: the &%Ampere is that constant current which, if maintained in two straight parallel conductors of infinite length, of negligible circular cross-section, and placed 1 &%Meter apart in a vacuum, would produce between these conductors a force equal to 2*10^(-7) &%Newton per &%Meter of length.") ;; Thermodynamic Temperature Base Unit (instance Kelvin TemperatureMeasure) (instance Kelvin SystemeInternationalUnit) (documentation Kelvin "SI &%TemperatureMeasure. Symbol: K. It is one of the base units in SI (it is also a unit in the ITS system). It is defined as follows: the &%Kelvin is the fraction 1/273.16 of the thermodynamic temperature of the triple point of water.") ;; Amount Of Substance Base Unit (instance Mole ConstantQuantity) (instance Mole SystemeInternationalUnit) (documentation Mole "SI amount of substance unit. symbol: mol. It is one of the base units in SI. It is defined as follows: the &%Mole is the amount of substance of a system which contains as many elementary entities as there are atoms in 0.012 &%Kilograms of carbon 12. Note that, when this &%UnitOfMeasure is used, the elementary entities must be specified - they may be atoms, molecules, ions, electrons, etc. or groups of such particles.") ;; Luminosity Intensity Base Unit (instance Candela FunctionQuantity) (instance Candela SystemeInternationalUnit) (documentation Candela "SI luminosity intensity measure. Symbol: cd. It is one of the base units in SI, and it is currently defined as follows: the &%Candela is the luminous intensity, in a given direction, of a source that emits monochromatic radiation of frequency 540*10^12 &%Hertz and that has a radiant intensity in that direction of 1/683 &%Watt per &%Steradian.") (instance Liter VolumeMeasure) (instance Liter UnitOfMeasure) (documentation Liter "Unit of volume in the metric system. It is currently defined to be equal to one cubic decimeter (0.001 cubic meter). Symbol: l.") (instance Centimeter LengthMeasure) (instance Centimeter UnitOfMeasure) (documentation Centimeter "Submultiple of &%Meter. Symbol: cm. It is the 100th part of a &%Meter") (equal (MeasureFn ?NUMBER Centimeter) (MeasureFn (MultiplicationFn ?NUMBER 0.01) Meter)) ;; What follows are derived SI units with special names and symbols ;; (multiples and submultiples are together since they represent ;; quantities of the same kind). ;; Plane angle unit (instance Radian PlaneAngleMeasure) (instance Radian SystemeInternationalUnit) (documentation Radian "SI plane angle measure. Symbol: rad. It is the angle of a circle subtended by an arc equal in length to the circle's radius. Another definition is: the plane angle between two radii of a circle which cut off on the circumference an arc equal in length to the radius. &%Radian = m/m = 1.") ;; Solid angle unit (instance Steradian SolidAngleMeasure) (instance Steradian SystemeInternationalUnit) (documentation Steradian "SI solid angle measure. Symbol: sr. It is the solid angle of a sphere subtended by a portion of the surface whose area is equal to the square of the sphere's radius. Another definition is: the solid angle which, having its vertex in the center of the sphere, cuts off an area of the surface of the sphere equal to that of a square with sides of length equal to the radius of the sphere. &%Steradian = m^2/m^2 = 1.") ;; Frequency units (instance Hertz TimeDependentQuantity) (instance Hertz SystemeInternationalUnit) (documentation Hertz "SI frequency measure. Symbol: Hz. It is the number of cycles per second. &%Hertz = s^(-1). Note that &%Hertz does not have a conversion function.") ; Force Unit (instance Newton FunctionQuantity) (instance Newton SystemeInternationalUnit) (documentation Newton "SI force measure. Symbol: N. It is that force which gives to a mass of 1 &%Kilogram an acceleration of 1 &%Meter per &%SecondDuration. &%Newton = m*kg*s^(-2).") ; Pressure unit (instance Pascal FunctionQuantity) (instance Pascal SystemeInternationalUnit) (documentation Pascal "SI pressure measure. Symbol:Pa. It is the pressure of one &%Newton per square &%Meter. &%Pascal = N/m^2 = m^(-1)*kg*s^(-2).") ; Energy Unit (instance Joule FunctionQuantity) (instance Joule SystemeInternationalUnit) (documentation Joule "SI energy measure. Symbol: J. It is the work done when the point of application of 1 &%Newton is displaced a distance of 1 &%Meter in the direction of the force. &%Joule = N*m = m^2*kg*s^(-2).") ; Power Units (instance Watt FunctionQuantity) (instance Watt SystemeInternationalUnit) (documentation Watt "SI power measure. Aymbol: W. A &%UnitOfMeasure that measures power, i.e. energy produced or expended divided by &%TimeDuration. It is the power which gives rise to the production of energy (or work) at the rate of one &%Joule per &%SecondDuration. &%Watt = J/s = m^2*kg*s^(-3).") ;;; Note: According to SI one should not use the expression "per unit of." ; Electric Charge Units (instance Coulomb TimeDependentQuantity) (instance Coulomb SystemeInternationalUnit) (documentation Coulomb "SI electric charge measure. Symbol: C. It is the quantity of electric charge transported through a cross section of a conductor in an electric circuit during each &%SecondDuration by a current of 1 &%Ampere. Coulomb = s*A.") ; Electric Potential Units (instance Volt FunctionQuantity) (instance Volt SystemeInternationalUnit) (documentation Volt "SI electric potential measure. Symbol: V. It is the difference of electric potential between two points of a conducting wire carrying a constant current of 1 &%Ampere, when the power dissipated between these points is equal to 1 &%Watt. &%Volt = W/A = m^2*kg*s^(-3)*A^(-1).") ; Capacitance Units (instance Farad FunctionQuantity) (instance Farad SystemeInternationalUnit) (documentation Farad "SI capacitance measure. Symbol: F. It is the capacitance of a capacitator between the plates of which there appears a difference of potential of 1 &%Volt when it is charged by a quantity of electricity equal to 1 Coulomb. &%Farad = C/V = m^(-2)*kg(-1)*s^4*A^2.") ;Electric Resistance Units (instance Ohm FunctionQuantity) (instance Ohm SystemeInternationalUnit) (documentation Ohm "SI electric resistance measure. It is the electric resistance between two points of a conductor when a constant difference of potential of 1 &%Volt, applied between these two points, produces in this conductor a current of 1 &%Ampere, this conductor not being the force of any electromotive force. &%Ohm = V/A = m^2*kg*s^(-3)*A^(-2).") ; Electric Conductance Units (instance Siemens FunctionQuantity) (instance Siemens SystemeInternationalUnit) (documentation Siemens "SI electric conductance measure. Symbol: S. In the case of direct current, the conductance in &%Siemens is the reciprocal of the resistance in &%Ohms; in the case of alternating current, it is the reciprocal of the impedance in ohms. siemens = A/V = m^(-2)*kg(-1)*s^(3)*A^2.") ; Magnetic Flux Units (instance Weber FunctionQuantity) (instance Weber SystemeInternationalUnit) (documentation Weber "SI magnetic flux measure. Symbol: Wb. It is the magnetic flux which, linking a circuit of one turn, produces in it an electromotive force of 1 &%Volt as it is reduced to zero at a uniform rate in 1 &%SecondDuration. &%Weber = V*s = m^2*kg*s^(-2)*A^(-1)." ) ; Magnetic Flux Density Units (instance Tesla FunctionQuantity) (instance Tesla SystemeInternationalUnit) (documentation Tesla "SI magnetic flux density measure. Symbol: T. One &%Tesla equals one &%Weber per square &%Meter. &%Tesla = Wb/m^2 = kg*s^(-2)*A^(-1).") ; Inductance Units (instance Henry FunctionQuantity) (instance Henry SystemeInternationalUnit) (documentation Henry "SI inductance measure. Symbol: H. One &%Henry is equivalent to one &%Volt divided by one &%Ampere per &%SecondDuration. If a current changing at the rate of one &%Ampere per &%SecondDuration induces an electromotive force of one &%Volt, the circuit has an inductance of one &%Henry. &%Henry = Wb/A = m^2*kg*s^(-2)*A^(-2).") ; Celsius Temperature unit (instance Celsius TemperatureMeasure) (instance Celsius SystemeInternationalUnit) (documentation Celsius "A &%TemperatureMeasure. &%Kelvin differs from the &%Celsius scale in that the triple point of water is defined to be 273.16 degrees &%Kelvin while it is 0 degrees &%Celsius. The boiling point of water is 100 degrees &%Celsius. The magnitudes of intervals in the two scales are the same. By definition the conversion constant is 273.15") (equal (MeasureFn ?NUMBER Celsius) (MeasureFn (SubtractionFn ?NUMBER 273.15) Kelvin)) ; Luminous Flux Units (instance Lumen FunctionQuantity) (instance Lumen SystemeInternationalUnit) (documentation Lumen "SI luminous flux measure. Symbol: lm. It is the amount streaming outward through one solid angle of 1 &%Steradian from a uniform point source having an intensity of one &%Candela. &%Lumen = cd*sr = cd * 1.") ; Illuminance Units (instance Lux FunctionQuantity) (instance Lux SystemeInternationalUnit) (documentation Lux "SI illuminance measure. Symbol: lx. It is the amount of illumination provided when one &%Lumen is evenly distributed over an area of 1 square &%Meter. This is also equivalent to the illumination that would exist on a surface all points of which are one &%Meter from a point source of one &%Candela. &%Lux = lm/m^2 = m^(-2)*cd.") ; Activity Units (instance Becquerel TimeDependentQuantity) (instance Becquerel SystemeInternationalUnit) (documentation Becquerel "SI activity measure. Symbol: Bq. It measures the amount of radioactivity contained in a given sample of matter. It is that quantity of a radioactive element in which there is one atomic disintegration per &%SecondDuration. &%Becquerel = s^(-1).") ; Absorbed Dose Units (instance Gray FunctionQuantity) (instance Gray SystemeInternationalUnit) (documentation Gray "SI absorbed dose measure. Symbol: Gy. It measures the dose of radiation absorbed in living tissue. It is equal approximately to the absorbed dose delivered when the energy per unit mass imparted to matter by ionizing radiation is 1 &%Joule per &%Kilogram. &%Gray = J/kg = m^2*s^(-2).") ; Dose Equivalent Units (instance Sievert FunctionQuantity) (instance Sievert SystemeInternationalUnit) (documentation Sievert "SI dose equivalent measure. Symbol: Sv. It is a unit of biologic dose of ionizing radiation. The &%Sievert makes it possible to normalize doses of different types of radiation. It takes into account the relative biologic effectiveness of ionizing radiation, since each form of such radiation--e.g., X rays, gamma rays, neutrons-- has a slightly different effect on living tissue for a given absorbed dose. The dose equivalent of a given type of radiation (in &%Sievert) is the dose of the radiation in &%Gray multiplied by a quality factor that is based on the relative biologic effectiveness of the radiation. Accordingly, one &%Sievert is generally defined as the amount of radiation roughly equivalent in biologic effectiveness to one &%Gray of gamma radiation. &%Sievert = J/kg = m^2*s^(-2)") ; Units that are accepted for -use- with SI (instance DayDuration TimeDuration) (instance DayDuration UnitOfMeasure) (documentation DayDuration "Time unit. 1 day = 24 hours.") (equal (MeasureFn ?NUMBER DayDuration) (MeasureFn (MultiplicationFn ?NUMBER 24) HourDuration)) (instance HourDuration TimeDuration) (instance HourDuration UnitOfMeasure) (documentation HourDuration "Time unit. 1 hour = 60 minutes.") (equal (MeasureFn ?NUMBER HourDuration) (MeasureFn (MultiplicationFn ?NUMBER 60) MinuteDuration)) (instance MinuteDuration TimeDuration) (instance MinuteDuration UnitOfMeasure) (documentation MinuteDuration "Time unit. 1 minute = 60 seconds. ") (equal (MeasureFn ?NUMBER MinuteDuration) (MeasureFn (MultiplicationFn ?NUMBER 60) SecondDuration)) (instance YearDuration TimeDuration) (instance YearDuration UnitOfMeasure) (documentation YearDuration "Time unit. one calendar year. 1 year = 365 days = 31536000 seconds.") (equal (MeasureFn ?NUMBER YearDuration) (MeasureFn (MultiplicationFn ?NUMBER 365) DayDuration)) ;; What follows are units that are also accepted for use with SI. The ;; SI equivalents for these units are obtained experimentally. (instance Amu MassMeasure) (instance Amu UnitOfMeasure) (documentation Amu "Atomic mass unit. Symbol: u. It is the mass of the twelfth part of an atom of the Carbon 12 isotope.") (equal (MeasureFn ?NUMBER Amu) (MeasureFn (MultiplicationFn ?NUMBER 1.6605402E-27) Kilogram)) (instance ElectronVolt FunctionQuantity) (instance ElectronVolt UnitOfMeasure) (documentation ElectronVolt "The &%ElectronVolt is an energy measure. Symbol: eV. It is the kinetic energy acquired by an electron in passing through a potential difference of 1 &%Volt in a vacuum.") (equal (MeasureFn ?NUMBER ElectronVolt) (MeasureFn (MultiplicationFn ?NUMBER 1.60217733E-19) Joule)) ;; The following units have been temporarily accepted for use with ;; SI units. (instance Angstrom LengthMeasure) (instance Angstrom UnitOfMeasure) (documentation Angstrom "The &%Angstrom is a &%LengthMeasure. 1 &%Angstrom = 10^(-10) m") (equal (MeasureFn ?NUMBER Angstrom) (MeasureFn (MultiplicationFn ?NUMBER 1.0E-10) Meter)) ;; The following units are unacceptable in SI but are part of other ;; systems of measurement that are widely used. ;; More Length units (instance Foot LengthMeasure) (instance Foot UnitOfMeasure) (documentation Foot "English length unit of feet.") (equal (MeasureFn ?NUMBER Foot) (MeasureFn (MultiplicationFn ?NUMBER 0.3048) Meter)) (instance Inch LengthMeasure) (instance Inch UnitOfMeasure) (documentation Inch "English length unit of inches.") (equal (MeasureFn ?NUMBER Inch) (MeasureFn (MultiplicationFn ?NUMBER 0.0254) Meter)) (instance Mile LengthMeasure) (instance Mile UnitOfMeasure) (documentation Mile "English length unit of miles.") (equal (MeasureFn ?NUMBER Mile) (MeasureFn (MultiplicationFn ?NUMBER 1609.344) Meter)) ;; More Volume units (instance UnitedStatesGallon VolumeMeasure) (instance UnitedStatesGallon UnitOfMeasure) (relatedInternalConcept UnitedStatesGallon UnitedKingdomGallon) (documentation UnitedStatesGallon "Unit of volume commonly used in the United States.") (equal (MeasureFn ?NUMBER UnitedStatesGallon) (MeasureFn (MultiplicationFn ?NUMBER 3.785411784) Liter)) (instance Quart VolumeMeasure) (instance Quart UnitOfMeasure) (documentation Quart "English unit of volume equal to 1/4 of a &%UnitedStatesGallon.") (equal (MeasureFn ?NUMBER Quart) (MeasureFn (DivisionFn ?NUMBER 4) UnitedStatesGallon)) (instance Pint VolumeMeasure) (instance Pint UnitOfMeasure) (documentation Pint "English unit of volume equal to 1/2 of a &%Quart.") (equal (MeasureFn ?NUMBER Pint) (MeasureFn (DivisionFn ?NUMBER 2) Quart)) (instance Cup VolumeMeasure) (instance Cup UnitOfMeasure) (documentation Cup "English unit of volume equal to 1/2 of a &%Pint.") (equal (MeasureFn ?NUMBER Cup) (MeasureFn (DivisionFn ?NUMBER 2) Pint)) (instance Ounce VolumeMeasure) (instance Ounce UnitOfMeasure) (documentation Ounce "English unit of volume equal to 1/8 of a &%Cup.") (equal (MeasureFn ?NUMBER Ounce) (MeasureFn (DivisionFn ?NUMBER 8) Cup)) (instance UnitedKingdomGallon VolumeMeasure) (instance UnitedKingdomGallon UnitOfMeasure) (documentation UnitedKingdomGallon "Unit of volume commonly used in the United Kingdom.") (equal (MeasureFn ?NUMBER UnitedKingdomGallon) (MeasureFn (MultiplicationFn ?NUMBER 4.54609) Liter)) ;; More Mass units (instance AtomGram MassMeasure) (instance AtomGram UnitOfMeasure) (documentation AtomGram "&%MassMeasure that is also known as the gram-atom. Defined as the mass in grams of 1 &%Mole of pure substance. For example, 1 &%AtomGram of Carbon 12 will be 12 &%Grams of pure Carbon 12. 2 &%AtomGrams of the same substance will be 24 &%Grams of it. This is an unusual unit in that it is essentially 1 &%Mole of 'stuff' measured in grams, so that the actual value (i.e. mass) depends on the type of substance.") (instance PoundMass MassMeasure) (instance PoundMass UnitOfMeasure) (documentation PoundMass "English mass unit of pounds.") (equal (MeasureFn ?NUMBER Pound) (MeasureFn (MultiplicationFn ?NUMBER 0.45359237) Kilogram)) (instance Slug MassMeasure) (instance Slug UnitOfMeasure) (documentation Slug "English mass unit of slugs.") (equal (MeasureFn ?NUMBER Slug) (MeasureFn (MultiplicationFn ?NUMBER 14.59390) Kilogram)) ;; More Temperature units (instance Rankine TemperatureMeasure) (instance Rankine UnitOfMeasure) (documentation Rankine "A &%TemperatureMeasure. Note that 0 degrees &%Rankine is the same as the absolute zero (i.e. 0 degrees &%Kelvin).") (equal (MeasureFn ?NUMBER Rankine) (MeasureFn (MultiplicationFn ?NUMBER 1.8) Kelvin)) ;; More Force units (instance PoundForce FunctionQuantity) (instance PoundForce UnitOfMeasure) (documentation PoundForce "English pound of force. The conversion factor depends on the local value of the acceleration of free fall. A mean value is used in the conversion axiom associated with this constant.") (equal (MeasureFn ?NUMBER PoundForce) (MeasureFn (MultiplicationFn ?NUMBER 4.448222) Newton)) ;; More Energy units (instance Calorie FunctionQuantity) (instance Calorie UnitOfMeasure) (documentation Calorie "A &%Calorie is an energy measure.") (equal (MeasureFn ?NUMBER Calorie) (MeasureFn (MultiplicationFn ?NUMBER 4.1868) Joule)) (instance BritishThermalUnit FunctionQuantity) (instance BritishThermalUnit UnitOfMeasure) (documentation BritishThermalUnit "An energy measure.") (equal (MeasureFn ?NUMBER BritishThermalUnit) (MeasureFn (MultiplicationFn ?NUMBER 1055.05585262) Joule)) ;; More plane angle units (instance AngularDegree PlaneAngleMeasure) (instance AngularDegree UnitOfMeasure) (documentation AngularDegree "A plane angle measure.") (equal (MeasureFn ?NUMBER AngularDegree) (MeasureFn (MultiplicationFn ?NUMBER (DivisionFn Pi 180)) Radian)) ; Other interesting units of measure ; Currency units (instance DollarUnitedStates CurrencyMeasure) (instance DollarUnitedStates UnitOfMeasure) (documentation DollarUnitedStates "A currency measure.") (instance CentUnitedStates CurrencyMeasure) (instance CentUnitedStates UnitOfMeasure) (documentation CentUnitedStates "A currency measure. 1 US cent = 10^-2 US dollars.") (equal (MeasureFn ?NUMBER CentUnitedStates) (MeasureFn (MultiplicationFn ?NUMBER .01) DollarUnitedStates)) ; Information units (instance Bit ConstantQuantity) (instance Bit UnitOfMeasure) (documentation Bit "One &%Bit of information. A one or a zero.") (instance Byte ConstantQuantity) (instance Byte UnitOfMeasure) (documentation Byte "One &%Byte of information. A &%Byte is eight &%Bits.") (equal (MeasureFn ?NUMBER Byte) (MeasureFn (MultiplicationFn ?NUMBER 8) Bit)) (instance KiloByte ConstantQuantity) (instance KiloByte UnitOfMeasure) (documentation KiloByte "One &%KiloByte (K) of information. One &%KiloByte is 1024 &%Bytes. Note that this sense of 'kilo' is different from the one accepted in the SI system.") (equal (MeasureFn ?NUMBER KiloByte) (MeasureFn (MultiplicationFn ?NUMBER 1024) Byte)) (instance MegaByte ConstantQuantity) (instance MegaByte UnitOfMeasure) (documentation MegaByte "One &%MegaByte (MB) of information. One &%MegaByte is 1024 &%KiloBytes. Note that this sense of 'mega' is different from the one accepted in the SI system.") (equal (MeasureFn ?NUMBER MegaByte) (MeasureFn (MultiplicationFn ?NUMBER 1024) KiloByte)) ;; The following content was inspired by the Quantities ontology ;; developed by ITBM-CNR. (instance measure BinaryPredicate) (instance measure AsymmetricRelation) (domain measure 1 Object) (domain measure 2 ConstantQuantity) (documentation measure "A very general &%Predicate for asserting that a particular &%Object is measured by a particular &%ConstantQuantity. In general, the second argument of this &%Predicate will be an instance of the &%Function &%MeasureFn.") (subrelation age measure) (domain age 2 TimeDuration) (singleValued age 2) (documentation age "Simply relates an &%Object to a &%ConstantQuantity specifying the age of the &%Object.") (subrelation length measure) (domain length 2 LengthMeasure) (documentation length "&%BinaryPredicate that is used to state the measure of an &%Object from one point to another point along its surface.") (subrelation width length) (singleValued width 2) (documentation width "&%BinaryPredicate that is used to state the measure of an &%Object from side to side at its widest span.") (subrelation diameter width) (documentation diameter "&%BinaryPredicate that is used to state the measure of a circular &%Object from side to side.") (subrelation height length) (singleValued height 2) (documentation height "&%BinaryPredicate that is used to state the measure of an &%Object from its lowest point to its highest point.") (instance distance SpatialRelation) (instance distance TernaryPredicate) (domain distance 1 Physical) (domain distance 2 Physical) (domain distance 3 LengthMeasure) (singleValued distance 3) (documentation distance "(&%distance ?OBJ1 ?OBJ2 ?QUANT) means that the shortest distance between the two objects ?OBJ1 and ?OBJ2 is ?QUANT.") (instance larger BinaryPredicate) (instance larger SpatialRelation) (instance larger TransitiveRelation) (instance larger IrreflexiveRelation) (domain larger 1 Object) (domain larger 2 Object) (documentation larger "(&%larger ?OBJ1 ?OBJ2) simply means that ?OBJ1 is larger, with respect to all &%LengthMeasures, than ?OBJ2.") (=> (larger ?OBJ1 ?OBJ2) (forall (?QUANT1 ?QUANT2) (=> (and (measure ?OBJ1 (MeasureFn ?QUANT1 LengthMeasure)) (measure ?OBJ2 (MeasureFn ?QUANT2 LengthMeasure))) (greaterThan ?QUANT1 ?QUANT2)))) (instance smaller BinaryPredicate) (instance smaller SpatialRelation) (instance smaller TransitiveRelation) (instance smaller IrreflexiveRelation) (domain smaller 1 Object) (domain smaller 2 Object) (inverse smaller larger) (documentation smaller "(&%smaller ?OBJ1 ?OBJ2) simply means that ?OBJ1 is smaller, with respect to all &%LengthMeasures, than ?OBJ2.") (subrelation monetaryValue measure) (domain monetaryValue 2 CurrencyMeasure) (singleValued monetaryValue 2) (documentation monetaryValue "A &%BinaryPredicate that associates an &%Object with its value expressed as an instance of &%CurrencyMeasure.") (instance WealthFn UnaryFunction) (domain WealthFn 1 Agent) (range WealthFn CurrencyMeasure) (documentation WealthFn "A &%UnaryFunction that maps an &%Agent to a &%CurrencyMeasure specifying the value of the property owned by the &%Agent. Note that this &%Function is generally used in conjunction with the &%Function &%PropertyFn, e.g. (&%WealthFn (&%PropertyFn BillGates)) would return the monetary value of the sum of Bill Gates' holdings.") (<=> (equal (WealthFn ?PERSON) ?AMOUNT) (monetaryValue (PropertyFn ?PERSON) ?AMOUNT)) ;; END FILE ;; BEGIN FILE ;;;;;;;;;;;;;;;;;;;;;;; ;; TEMPORAL CONCEPTS ;; ;;;;;;;;;;;;;;;;;;;;;;; ;; INCLUDES 'STRUCTURAL ONTOLOGY' ;; INCLUDES 'BASE ONTOLOGY' ;; The first part of this section contains definitions relations involving ;; temporal notions. Most of these definitions and axioms were derived from ;; James Allen's work. This part of the section was extensively revised on ;; the basis of comments from Pat Hayes. The second part of this section ;; is an attempt to incorporate the Simple-Time ontology from the ;; Ontolingua server into the SUMO. (instance PositiveInfinity TimePoint) (documentation PositiveInfinity "The &%TimePoint that is after all other &%TimePoints.") (=> (and (instance ?POINT TimePoint) (not (equal ?POINT PositiveInfinity))) (before ?POINT PositiveInfinity)) (=> (and (instance ?POINT TimePoint) (not (equal ?POINT PositiveInfinity))) (exists (?OTHERPOINT) (temporallyBetween ?POINT ?OTHERPOINT PositiveInfinity))) (instance NegativeInfinity TimePoint) (documentation NegativeInfinity "The &%TimePoint that is before all other &%TimePoints.") (=> (and (instance ?POINT TimePoint) (not (equal ?POINT NegativeInfinity))) (before NegativeInfinity ?POINT)) (=> (and (instance ?POINT TimePoint) (not (equal ?POINT NegativeInfinity))) (exists (?OTHERPOINT) (temporallyBetween NegativeInfinity ?OTHERPOINT ?POINT))) (instance duration BinaryPredicate) (instance duration AsymmetricRelation) (domain duration 1 TimePosition) (domain duration 2 TimeDuration) (documentation duration "(&%duration ?POS ?TIME) means that the duration of the &%TimePosition ?POS is ?TIME. Note that this &%Predicate can be used in conjunction with the &%Function &%WhenFn to specify the duration of any instance of &%Physical.") (=> (instance ?INTERVAL TimeInterval) (exists (?DURATION) (duration ?INTERVAL ?DURATION))) (=> (instance ?POINT TimePoint) (not (exists (?DURATION) (duration ?POINT ?DURATION)))) (instance frequency BinaryPredicate) (instance frequency AsymmetricRelation) (domainSubclass frequency 1 Process) (domain frequency 2 TimeDuration) (documentation frequency "(frequency ?PROC ?TIME) means that the &%Process type of ?PROC recurs after every interval of ?TIME.") (=> (frequency ?PROC ?TIME1) (forall (?TIME2) (=> (duration ?TIME2 ?TIME1) (exists (?POSITION) (and (temporalPart ?POSITION ?TIME2) (holdsDuring ?POSITION (exists (?INST) (instance ?INST ?PROC)))))))) (instance temporalPart BinaryPredicate) (instance temporalPart AsymmetricRelation) (domain temporalPart 1 TimePosition) (domain temporalPart 2 TimePosition) (documentation temporalPart "(&%temporalPart ?POS1 ?POS2) means that &%TimePosition ?POS1 is part of &%TimePosition ?POS2.") (=> (instance ?POINT TimePoint) (exists (?INTERVAL) (and (instance ?INTERVAL TimeInterval) (temporalPart ?POINT ?INTERVAL)))) (=> (and (holdsDuring ?TIME1 ?SITUATION) (temporalPart ?TIME2 ?TIME1)) (holdsDuring ?TIME2 ?SITUATION)) (=> (and (holdsDuring ?INTERVAL (holds ?REL ?INST1 ?INST2)) (instance ?INST1 Physical) (instance ?INST2 Physical)) (and (time ?INST1 ?INTERVAL) (time ?INST2 ?INTERVAL))) (<=> (temporalPart ?POS (WhenFn ?THING)) (time ?THING ?POS)) (instance BeginFn TemporalRelation) (instance BeginFn UnaryFunction) (domain BeginFn 1 TimeInterval) (range BeginFn TimePoint) (documentation BeginFn "A &%UnaryFunction that maps a &%TimeInterval to the &%TimePoint at which the interval begins.") (=> (equal (BeginFn ?INTERVAL) ?POINT) (forall (?OTHERPOINT) (=> (and (temporalPart ?OTHERPOINT ?INTERVAL) (not (equal ?OTHERPOINT ?POINT))) (before ?POINT ?OTHERPOINT)))) (=> (origin ?PROCESS ?OBJ) (located (WhereFn ?PROCESS (BeginFn (WhenFn ?PROCESS))) (WhereFn ?OBJ (BeginFn (WhenFn ?OBJ))))) (instance EndFn TemporalRelation) (instance EndFn UnaryFunction) (domain EndFn 1 TimeInterval) (range EndFn TimePoint) (documentation EndFn "A &%UnaryFunction that maps a &%TimeInterval to the &%TimePoint at which the interval ends.") (=> (equal (EndFn ?INTERVAL) ?POINT) (forall (?OTHERPOINT) (=> (and (temporalPart ?OTHERPOINT ?INTERVAL) (not (equal ?OTHERPOINT ?POINT))) (before ?OTHERPOINT ?POINT)))) (instance starts BinaryPredicate) (instance starts TemporalRelation) (instance starts TransitiveRelation) (instance starts IrreflexiveRelation) (domain starts 1 TimeInterval) (domain starts 2 TimeInterval) (documentation starts "(&%starts ?INTERVAL1 ?INTERVAL2) means that ?INTERVAL1 and ?INTERVAL2 are both &%TimeIntervals that have the same initial &%TimePoint and that ?INTERVAL1 ends before ?INTERVAL2.") (<=> (starts ?INTERVAL1 ?INTERVAL2) (and (equal (BeginFn ?INTERVAL1) (BeginFn ?INTERVAL2)) (before (EndFn ?INTERVAL1) (EndFn ?INTERVAL2)))) (instance finishes BinaryPredicate) (instance finishes TemporalRelation) (instance finishes TransitiveRelation) (instance finishes IrreflexiveRelation) (domain finishes 1 TimeInterval) (domain finishes 2 TimeInterval) (documentation finishes "(&%finishes ?INTERVAL1 ?INTERVAL2) means that ?INTERVAL1 and ?INTERVAL2 are both &%TimeIntervals that have the same ending &%TimePoint and that ?INTERVAL2 begins before ?INTERVAL1.") (<=> (finishes ?INTERVAL1 ?INTERVAL2) (and (before (BeginFn ?INTERVAL2) (BeginFn ?INTERVAL1)) (equal (EndFn ?INTERVAL2) (EndFn ?INTERVAL1)))) (instance before TemporalRelation) (instance before IrreflexiveRelation) (instance before TransitiveRelation) (subrelation before beforeOrEqual) (domain before 1 TimePoint) (domain before 2 TimePoint) (documentation before "(&%before ?POINT1 ?POINT2) means that ?POINT1 precedes ?POINT2 on the universal timeline.") ;; An Object exists (and, hence, retains its identity) over time, i.e., ;; an object exists at every point over some interval of time. (=> (instance ?OBJ Object) (exists (?TIME1 ?TIME2) (and (instance ?TIME1 TimePoint) (instance ?TIME2 TimePoint) (before ?TIME1 ?TIME2) (forall (?TIME) (=> (and (beforeOrEqual ?TIME1 ?TIME) (beforeOrEqual ?TIME ?TIME2)) (time ?OBJ ?TIME)))))) (=> (result ?PROC ?OBJ) (forall (?TIME) (=> (before ?TIME (BeginFn (WhenFn ?PROC))) (not (time ?OBJ ?TIME))))) (instance beforeOrEqual BinaryPredicate) (instance beforeOrEqual PartialOrderingRelation) (domain beforeOrEqual 1 TimePoint) (domain beforeOrEqual 2 TimePoint) (documentation beforeOrEqual "(&%beforeOrEqual ?POINT1 ?POINT2) means that ?POINT1 is identical with ?POINT2 or occurs before it on the universal timeline.") (=> (beforeOrEqual ?POINT1 ?POINT2) (or (before ?POINT1 ?POINT2) (equal ?POINT1 ?POINT2))) (instance temporallyBetween TemporalRelation) (instance temporallyBetween TernaryPredicate) (subrelation temporallyBetween temporallyBetweenOrEqual) (domain temporallyBetween 1 TimePoint) (domain temporallyBetween 2 TimePoint) (domain temporallyBetween 3 TimePoint) (documentation temporallyBetween "(&%temporallyBetween ?POINT1 ?POINT2 ?POINT3) means that the &%TimePoint ?POINT2 is between the &%TimePoints ?POINT1 and ?POINT3, i.e. ?POINT1 is before ?POINT2 and ?POINT2 is before ?POINT3.") (<=> (temporallyBetween ?POINT1 ?POINT2 ?POINT3) (and (before ?POINT1 ?POINT2) (before ?POINT2 ?POINT3))) (instance temporallyBetweenOrEqual TemporalRelation) (instance temporallyBetweenOrEqual TernaryPredicate) (domain temporallyBetweenOrEqual 1 TimePoint) (domain temporallyBetweenOrEqual 2 TimePoint) (domain temporallyBetweenOrEqual 3 TimePoint) (documentation temporallyBetweenOrEqual "(&%temporallyBetweenOrEqual ?POINT1 ?POINT2 ?POINT3) means that the &%TimePoint ?POINT1 is before or equal to the &%TimePoint ?POINT2 and ?POINT2 is before or equal to the &%TimePoint ?POINT3.") (<=> (temporallyBetweenOrEqual ?POINT1 ?POINT2 ?POINT3) (and (beforeOrEqual ?POINT1 ?POINT2) (beforeOrEqual ?POINT2 ?POINT3))) (<=> (and (time ?PHYS ?TIME) (instance ?TIME TimePoint)) (temporallyBetweenOrEqual (BeginFn (WhenFn ?PHYS)) ?TIME (EndFn (WhenFn ?PHYS)))) (instance overlapsTemporally BinaryPredicate) (instance overlapsTemporally TemporalRelation) (instance overlapsTemporally PartialOrderingRelation) (domain overlapsTemporally 1 TimeInterval) (domain overlapsTemporally 2 TimeInterval) (documentation overlapsTemporally "(&%overlapsTemporally ?INTERVAL1 ?INTERVAL2) means that the two &%TimeIntervals ?INTERVAL1 and ?INTERVAL2 have a &%TimeInterval in common. Note that this is consistent with ?INTERVAL1 and ?INTERVAL2 being the same &%TimeInterval.") (<=> (overlapsTemporally ?INTERVAL1 ?INTERVAL2) (or (equal ?INTERVAL1 ?INTERVAL2) (during ?INTERVAL1 ?INTERVAL2) (starts ?INTERVAL1 ?INTERVAL2) (finishes ?INTERVAL1 ?INTERVAL2))) (=> (and (instance ?REL SpatialRelation) (holds ?REL ?OBJ1 ?OBJ2)) (overlapsTemporally (WhenFn ?OBJ1) (WhenFn ?OBJ2))) (instance during TemporalRelation) (instance during TransitiveRelation) (instance during IrreflexiveRelation) (subrelation during overlapsTemporally) (domain during 1 TimeInterval) (domain during 2 TimeInterval) (documentation during "(&%during ?INTERVAL1 ?INTERVAL2) means that ?INTERVAL1 starts after and ends before ?INTERVAL2.") (=> (during ?INTERVAL1 ?INTERVAL2) (and (before (EndFn ?INTERVAL1) (EndFn ?INTERVAL2)) (before (BeginFn ?INTERVAL2) (BeginFn ?INTERVAL1)))) (instance meetsTemporally BinaryPredicate) (instance meetsTemporally TemporalRelation) (instance meetsTemporally AsymmetricRelation) (instance meetsTemporally IntransitiveRelation) (domain meetsTemporally 1 TimeInterval) (domain meetsTemporally 2 TimeInterval) (documentation meetsTemporally "(&%meetsTemporally ?INTERVAL1 ?INTERVAL2) means that the terminal point of the &%TimeInterval ?INTERVAL1 is the initial point of the &%TimeInterval ?INTERVAL2.") (<=> (meetsTemporally ?INTERVAL1 ?INTERVAL2) (equal (EndFn ?INTERVAL1) (BeginFn ?INTERVAL2))) (=> (and (equal (BeginFn ?INTERVAL1) (BeginFn ?INTERVAL2)) (equal (EndFn ?INTERVAL1) (EndFn ?INTERVAL2))) (equal ?INTERVAL1 ?INTERVAL2)) (instance earlier BinaryPredicate) (instance earlier TemporalRelation) (instance earlier TransitiveRelation) (instance earlier IrreflexiveRelation) (domain earlier 1 TimeInterval) (domain earlier 2 TimeInterval) (documentation earlier "(earlier INTERVAL1 INTERVAL2) means that INTERVAL1 ends before INTERVAL2 begins.") (<=> (earlier ?INTERVAL1 ?INTERVAL2) (before (EndFn ?INTERVAL1) (BeginFn ?INTERVAL2))) (instance cooccur BinaryPredicate) (instance cooccur TemporalRelation) (instance cooccur EquivalenceRelation) (domain cooccur 1 Physical) (domain cooccur 2 Physical) (documentation cooccur "(&%cooccur ?THING1 ?THING2) means that the &%Object or &%Process ?THING1 occurs at the same time as, together with, or jointly with the &%Object or &%Process ?THING2. This covers the following temporal relations: is co-incident with, is concurrent with, is contemporaneous with, and is concomitant with.") (<=> (cooccur ?PHYS1 ?PHYS2) (equal (WhenFn ?PHYS1) (WhenFn ?PHYS2))) ;; The following functions generate &%TimeIntervals. (instance TimeIntervalFn BinaryFunction) (instance TimeIntervalFn TemporalRelation) (domain TimeIntervalFn 1 TimePoint) (domain TimeIntervalFn 2 TimePoint) (range TimeIntervalFn TimeInterval) (documentation TimeIntervalFn "A &%BinaryFunction that takes two &%TimePoints as arguments and returns the &%TimeInterval defined by these two &%TimePoints. Note that the first &%TimePoint must occur earlier than the second &%TimePoint.") (=> (equal (TimeIntervalFn ?POINT1 ?POINT2) ?INTERVAL) (and (equal (BeginFn ?INTERVAL) ?POINT1) (equal (EndFn ?INTERVAL) ?POINT2))) (=> (equal (TimeIntervalFn ?POINT1 ?POINT2) ?INTERVAL) (forall (?POINT) (<=> (temporallyBetweenOrEqual ?POINT1 ?POINT ?POINT2) (temporalPart ?POINT ?INTERVAL)))) (instance WhenFn TemporalRelation) (instance WhenFn UnaryFunction) (domain WhenFn 1 Physical) (range WhenFn TimeInterval) (documentation WhenFn "A &%UnaryFunction that maps an &%Object or &%Process to the exact &%TimeInterval during which it exists. Note that, for every &%TimePoint ?TIME outside of the &%TimeInterval (WhenFn ?THING), (time ?THING ?TIME) does not hold.") (before (BeginFn (WhenFn ?THING)) (EndFn (WhenFn ?THING))) (instance PastFn TemporalRelation) (instance PastFn UnaryFunction) (domain PastFn 1 TimePosition) (range PastFn TimeInterval) (documentation PastFn "A &%UnaryFunction that maps a &%TimePosition to the &%TimeInterval that meets it and that begins at &%NegativeInfinity.") (meetsTemporally (PastFn (WhenFn ?THING)) (WhenFn ?THING)) (equal (BeginFn (PastFn ?TIME)) NegativeInfinity) (instance ImmediatePastFn TemporalRelation) (instance ImmediatePastFn UnaryFunction) (domain ImmediatePastFn 1 TimePosition) (range ImmediatePastFn TimeInterval) (documentation ImmediatePastFn "A &%UnaryFunction that maps a &%TimePosition to a short, indeterminate &%TimeInterval that immediately precedes the &%TimePosition.") (finishes (ImmediatePastFn (WhenFn ?THING)) (PastFn (WhenFn ?THING))) (=> (and (resource ?PROC ?OBJ) (holdsDuring (ImmediatePastFn (WhenFn ?PROC)) (measure ?OBJ ?QUANT1)) (holdsDuring (ImmediateFutureFn (WhenFn ?PROC)) (measure ?OBJ ?QUANT2))) (greaterThan ?QUANT1 ?QUANT2)) (instance FutureFn TemporalRelation) (instance FutureFn UnaryFunction) (domain FutureFn 1 TimePosition) (range FutureFn TimeInterval) (documentation FutureFn "A &%UnaryFunction that maps a &%TimePosition to the &%TimeInterval which it meets and which ends at &%PositiveInfinity.") (meetsTemporally (WhenFn ?THING) (FutureFn (WhenFn ?THING))) (equal (EndFn (FutureFn ?TIME)) PositiveInfinity) (instance ImmediateFutureFn TemporalRelation) (instance ImmediateFutureFn UnaryFunction) (domain ImmediateFutureFn 1 TimePosition) (range ImmediateFutureFn TimeInterval) (documentation ImmediateFutureFn "A &%UnaryFunction that maps a &%TimePosition to a short, indeterminate &%TimeInterval that immediately follows the &%TimePosition.") (starts (ImmediateFutureFn (WhenFn ?THING)) (FutureFn (WhenFn ?THING))) ;; The following definitions and axioms (down to the next section break) ;; cover the content in the Simple-Time ontology on the Ontolingua server. (instance date BinaryPredicate) (instance date AsymmetricRelation) (domain date 1 Physical) (domain date 2 Day) (subrelation date time) (singleValued date 2) (documentation date "A &%BinaryPredicate that specifies a &%TimePosition in absolute calendar time, at the resolution of one day, for a particular &%Object or &%Process.") (instance YearFn TemporalRelation) (instance YearFn UnaryFunction) (domain YearFn 1 Integer) (range YearFn Year) (documentation YearFn "A &%UnaryFunction that maps a number to the corresponding calendar &%Year. For example, (&%YearFn 1912) denotes the &%Year 1912.") (instance MonthFn TemporalRelation) (instance MonthFn BinaryFunction) (domainSubclass MonthFn 1 Month) (domain MonthFn 2 Year) (range MonthFn Month) (documentation MonthFn "A &%BinaryFunction that maps a subclass of &%Month and an instance of &%Year to the corresponding &%Month of the &%Year. For example (&%MonthFn January (&%YearFn 1912)) denotes the eighth &%Month, i.e. August, of the &%Year 1912.") (instance DayFn TemporalRelation) (instance DayFn BinaryFunction) (domain DayFn 1 PositiveInteger) (domain DayFn 2 Month) (range DayFn Day) (documentation DayFn "A &%BinaryFunction that maps a number and a &%Month to the corresponding &%Day of the &%Month. For example, (&%DayFn 18 (&%MonthFn 8 (YearFn 1912))) denotes the 18th day of August 1912.") (=> (instance (DayFn ?NUMBER ?MONTH) Day) (lessThanOrEqualTo ?NUMBER 31)) (=> (and (equal ?DAY1 (DayFn ?NUMBER1 ?MONTH)) (equal ?DAY2 (DayFn ?NUMBER2 ?MONTH)) (equal (SubtractionFn ?NUMBER2 ?NUMBER1) 1)) (meetsTemporally ?DAY1 ?DAY2)) (instance HourFn TemporalRelation) (instance HourFn BinaryFunction) (domain HourFn 1 PositiveRealNumber) (domain HourFn 2 Day) (range HourFn Hour) (documentation HourFn "A &%BinaryFunction that maps a number and a &%Day to the corresponding &%Hour of the &%Day. For example, (&%HourFn 14 (&%DayFn 18 (&%MonthFn 8 (YearFn 1912)))) denotes the 14th hour, i.e. 2 PM, on the 18th day of August 1912.") (=> (instance (HourFn ?NUMBER ?DAY) Hour) (lessThan ?NUMBER 24)) (=> (and (equal ?HOUR1 (HourFn ?NUMBER1 ?DAY)) (equal ?HOUR2 (HourFn ?NUMBER2 ?DAY)) (equal (SubtractionFn ?NUMBER2 ?NUMBER1) 1)) (meetsTemporally ?HOUR1 ?HOUR2)) (instance MinuteFn TemporalRelation) (instance MinuteFn BinaryFunction) (domain MinuteFn 1 PositiveRealNumber) (domain MinuteFn 2 Hour) (range MinuteFn Minute) (documentation MinuteFn "A &%BinaryFunction that maps a number and an &%Hour to the corresponding &%Minute of the &%Hour. For example, (&%MinuteFn 15 (&%HourFn 14 (&%DayFn 18 (&%MonthFn 8 (YearFn 1912))))) denotes 15 minutes after 2 PM on the 18th day of August 1912.") (=> (instance (MinuteFn ?NUMBER ?HOUR) Minute) (lessThan ?NUMBER 60)) (=> (and (equal ?MINUTE1 (MinuteFn ?NUMBER1 ?HOUR)) (equal ?MINUTE2 (MinuteFn ?NUMBER2 ?HOUR)) (equal (SubtractionFn ?NUMBER2 ?NUMBER1) 1)) (meetsTemporally ?MINUTE1 ?MINUTE2)) (instance SecondFn TemporalRelation) (instance SecondFn BinaryFunction) (domain SecondFn 1 PositiveRealNumber) (domain SecondFn 2 Minute) (range SecondFn Second) (documentation SecondFn "A &%BinaryFunction that maps a number and a &%Minute to the corresponding &%Second of the &%Minute. For example, (&%SecondFn 9 (&%MinuteFn 15 (&%HourFn 14 (&%DayFn 18 (&%MonthFn 8 (YearFn 1912)))))) denotes 9 seconds and 15 minutes after 2 PM on the 18th day of August 1912.") (=> (instance (SecondFn ?NUMBER ?MINUTE) Second) (lessThan ?NUMBER 60)) (=> (and (equal ?SECOND1 (SecondFn ?NUMBER1 ?MINUTE)) (equal ?SECOND2 (SecondFn ?NUMBER2 ?MINUTE)) (equal (SubtractionFn ?NUMBER2 ?NUMBER1) 1)) (meetsTemporally ?SECOND1 ?SECOND2)) (subclass Year TimeInterval) (relatedInternalConcept Year YearFn) (relatedInternalConcept Year YearDuration) (documentation Year "The &%Class of all calendar &%Years.") (=> (instance ?YEAR Year) (duration ?YEAR YearDuration)) (=> (and (instance ?YEAR1 Year) (instance ?YEAR2 Year) (equal (SubtractionFn ?YEAR2 ?YEAR1) 1)) (meetsTemporally ?YEAR1 ?YEAR2)) (subclass LeapYear Year) (documentation LeapYear "The &%Class of all leap years. These are years which are either (i.) evenly divisible by 4 and not by 100 or (ii.) evenly divisible by 400 (this latter case is known as a leap century).") (=> (and (instance ?LEAP LeapYear) (equal ?LEAP (MeasureFn ?NUMBER Year))) (or (and (equal (RemainderFn ?NUMBER 4) 0) (not (equal (RemainderFn ?NUMBER 100) 0))) (equal (RemainderFn ?NUMBER 400) 0))) (subclass Month TimeInterval) (relatedInternalConcept Month MonthFn) (documentation Month "The &%Class of all calendar &%Months.") (subclass January Month) (documentation January "The &%Class of all &%Months which are January.") (=> (instance ?MONTH January) (duration ?MONTH (MeasureFn 31 Day))) (=> (and (equal ?MONTH1 (MonthFn January ?YEAR)) (equal ?MONTH2 (MonthFn February ?YEAR))) (meetsTemporally ?MONTH1 ?MONTH2)) (subclass February Month) (documentation February "The &%Class of all &%Months which are February.") (=> (and (equal (MonthFn February ?YEAR) ?MONTH) (not (instance ?YEAR LeapYear))) (duration ?MONTH (MeasureFn 28 Day))) (=> (and (equal (MonthFn February ?YEAR) ?MONTH) (instance ?YEAR LeapYear)) (duration ?MONTH (MeasureFn 29 Day))) (=> (and (equal ?MONTH1 (MonthFn February ?YEAR)) (equal ?MONTH2 (MonthFn March ?YEAR))) (meetsTemporally ?MONTH1 ?MONTH2)) (subclass March Month) (documentation March "The &%Class of all &%Months which are March.") (=> (instance ?MONTH March) (duration ?MONTH (MeasureFn 31 Day))) (=> (and (equal ?MONTH1 (MonthFn March ?YEAR)) (equal ?MONTH2 (MonthFn April ?YEAR))) (meetsTemporally ?MONTH1 ?MONTH2)) (subclass April Month) (documentation April "The &%Class of all &%Months which are April.") (=> (instance ?MONTH April) (duration ?MONTH (MeasureFn 30 Day))) (=> (and (equal ?MONTH1 (MonthFn April ?YEAR)) (equal ?MONTH2 (MonthFn May ?YEAR))) (meetsTemporally ?MONTH1 ?MONTH2)) (subclass May Month) (documentation May "The &%Class of all &%Months which are May.") (=> (instance ?MONTH May) (duration ?MONTH (MeasureFn 31 Day))) (=> (and (equal ?MONTH1 (MonthFn May ?YEAR)) (equal ?MONTH2 (MonthFn June ?YEAR))) (meetsTemporally ?MONTH1 ?MONTH2)) (subclass June Month) (documentation June "The &%Class of all &%Months which are June.") (=> (instance ?MONTH June) (duration ?MONTH (MeasureFn 30 Day))) (=> (and (equal ?MONTH1 (MonthFn June ?YEAR)) (equal ?MONTH2 (MonthFn July ?YEAR))) (meetsTemporally ?MONTH1 ?MONTH2)) (subclass July Month) (documentation July "The &%Class of all &%Months which are July.") (=> (instance ?MONTH July) (duration ?MONTH (MeasureFn 31 Day))) (=> (and (equal ?MONTH1 (MonthFn July ?YEAR)) (equal ?MONTH2 (MonthFn August ?YEAR))) (meetsTemporally ?MONTH1 ?MONTH2)) (subclass August Month) (documentation August "The &%Class of all &%Months which are August.") (=> (instance ?MONTH August) (duration ?MONTH (MeasureFn 31 Day))) (=> (and (equal ?MONTH1 (MonthFn August ?YEAR)) (equal ?MONTH2 (MonthFn September ?YEAR))) (meetsTemporally ?MONTH1 ?MONTH2)) (subclass September Month) (documentation September "The &%Class of all &%Months which are September.") (=> (instance ?MONTH September) (duration ?MONTH (MeasureFn 30 Day))) (=> (and (equal ?MONTH1 (MonthFn September ?YEAR)) (equal ?MONTH2 (MonthFn October ?YEAR))) (meetsTemporally ?MONTH1 ?MONTH2)) (subclass October Month) (documentation October "The &%Class of all &%Months which are October.") (=> (instance ?MONTH October) (duration ?MONTH (MeasureFn 31 Day))) (=> (and (equal ?MONTH1 (MonthFn October ?YEAR)) (equal ?MONTH2 (MonthFn November ?YEAR))) (meetsTemporally ?MONTH1 ?MONTH2)) (subclass November Month) (documentation November "The &%Class of all &%Months which are November.") (=> (instance ?MONTH November) (duration ?MONTH (MeasureFn 30 Day))) (=> (and (equal ?MONTH1 (MonthFn November ?YEAR)) (equal ?MONTH2 (MonthFn December ?YEAR))) (meetsTemporally ?MONTH1 ?MONTH2)) (subclass December Month) (documentation December "The &%Class of all &%Months which are December.") (=> (instance ?MONTH December) (duration ?MONTH (MeasureFn 31 Day))) (=> (and (equal ?MONTH1 (MonthFn December ?YEAR1)) (equal ?MONTH2 (MonthFn January ?YEAR2)) (meetsTemporally ?YEAR1 ?YEAR2)) (meetsTemporally ?MONTH1 ?MONTH2)) (subclass Day TimeInterval) (relatedInternalConcept Day DayFn) (relatedInternalConcept Day DayDuration) (documentation Day "The &%Class of all calendar &%Days.") (=> (instance ?DAY Day) (duration ?DAY DayDuration)) (subclass Hour TimeInterval) (relatedInternalConcept Hour HourFn) (relatedInternalConcept Hour HourDuration) (documentation Hour "The &%Class of all clock &%Hours.") (=> (instance ?HOUR Hour) (duration ?HOUR HourDuration)) (subclass Minute TimeInterval) (relatedInternalConcept Minute MinuteFn) (relatedInternalConcept Minute MinuteDuration) (documentation Minute "The &%Class of all clock &%Minutes.") (=> (instance ?MINUTE Minute) (duration ?MINUTE MinuteDuration)) (subclass Second TimeInterval) (relatedInternalConcept Second SecondDuration) (relatedInternalConcept Second SecondFn) (documentation Second "The &%Class of all clock &%Seconds.") (=> (instance ?SECOND Second) (duration ?SECOND SecondDuration)) ;; END FILE ;; BEGIN FILE ;;;;;;;;;;;;;;;;;;; ;; MEREOTOPOLOGY ;; ;;;;;;;;;;;;;;;;;;; ;; INCLUDES 'STRUCTURAL ONTOLOGY' ;; INCLUDES 'BASE ONTOLOGY' ;; Most of this content is taken from Barry Smith's and Nicola Guarino's ;; papers on the subject. (instance connected BinaryPredicate) (instance connected SpatialRelation) (instance connected ReflexiveRelation) (instance connected SymmetricRelation) (domain connected 1 Object) (domain connected 2 Object) (documentation connected "(connected ?OBJ1 ?OBJ2) means that ?OBJ1 &%meetsSpatially ?OBJ2 or that ?OBJ1 &%overlapsSpatially ?OBJ2.") (=> (connected ?OBJ1 ?OBJ2) (or (meetsSpatially ?OBJ1 ?OBJ2) (overlapsSpatially ?OBJ1 ?OBJ2))) (<=> (instance ?OBJ SelfConnectedObject) (forall (?PART1 ?PART2) (=> (equal ?OBJ (MereologicalSumFn ?PART1 ?PART2)) (connected ?PART1 ?PART2)))) (instance connects SpatialRelation) (instance connects TernaryPredicate) (domain connects 1 Object) (domain connects 2 Object) (domain connects 3 Object) (documentation connects "The relationship between three things, when one of the three things connects the other two. More formally, (&%connects ?OBJ1 ?OBJ2 ?OBJ3) means that (&%connected ?OBJ1 ?OBJ2) and (&%connected ?OBJ1 ?OBJ3) and not (&%connected ?OBJ2 ?OBJ3).") (<=> (connects ?OBJ1 ?OBJ2 ?OBJ3) (and (connected ?OBJ1 ?OBJ2) (connected ?OBJ1 ?OBJ3) (not (connected ?OBJ2 ?OBJ3)))) (subrelation meetsSpatially connected) (disjointRelation meetsSpatially overlapsSpatially) (documentation meetsSpatially "(&%meetsSpatially ?OBJ1 ?OBJ2) means that ?OBJ1 and ?OBJ2 are &%connected but that neither ?OBJ1 nor ?OBJ2 &%overlapsSpatially the other.") (subrelation overlapsSpatially connected) (documentation overlapsSpatially "(&%overlapsSpatially ?OBJ1 ?OBJ2) means that the &%Objects ?OBJ1 and ?OBJ2 have some parts in common. This is a reflexive and symmetric (but not transitive) relation.") (<=> (overlapsSpatially ?OBJ1 ?OBJ2) (exists (?OBJ3) (and (part ?OBJ3 ?OBJ1) (part ?OBJ3 ?OBJ2)))) (=> (forall (?OBJ3) (=> (part ?OBJ3 ?OBJ1) (overlapsSpatially ?OBJ3 ?OBJ2))) (part ?OBJ1 ?OBJ2)) (=> (partlyLocated ?OBJ ?REGION) (overlapsSpatially ?OBJ ?REGION)) (=> (and (member ?OBJ1 ?COLL) (member ?OBJ2 ?COLL)) (not (overlapsSpatially ?OBJ1 ?OBJ2))) (=> (and (instance ?REL CaseRole) (holds ?REL ?PROCESS ?OBJ)) (exists (?TIME) (overlapsSpatially (WhereFn ?PROCESS ?TIME) ?OBJ))) (subrelation overlapsPartially overlapsSpatially) (documentation overlapsPartially "(&%overlapsPartially ?OBJ1 ?OBJ2) means that ?OBJ1 and ?OBJ2 have part(s) in common, but neither ?OBJ1 nor ?OBJ2 is a &%part of the other.") (=> (overlapsPartially ?OBJ1 ?OBJ2) (and (not (part ?OBJ1 ?OBJ2)) (not (part ?OBJ2 ?OBJ1)))) (instance superficialPart BinaryPredicate) (instance superficialPart SpatialRelation) (subrelation superficialPart part) (documentation superficialPart "(&%superficialPart ?OBJ1 ?OBJ2) means that ?OBJ1 is a part of ?OBJ2 that has no interior parts of its own (or, intuitively, that only overlaps those parts of ?OBJ2 that are externally connected with the geometric complement of ?OBJ2). This too is a transitive relation closed under &%MereologicalSumFn and &%MereologicalProductFn.") (=> (superficialPart ?OBJ1 ?OBJ2) (and (not (interiorPart ?OBJ1 ?OBJ2)) (not (exists (?OBJ3) (interiorPart ?OBJ3 ?OBJ1))))) (subrelation surface superficialPart) (documentation surface "(&%surface ?OBJ1 ?OBJ2) means that ?OBJ1 is a maximally connected &%superficialPart of ?OBJ2.") (=> (surface ?OBJ1 ?OBJ2) (and (instance ?OBJ1 SelfConnectedObject) (forall (?OBJ3) (=> (superficialPart ?OBJ3 ?OBJ2) (part ?OBJ3 ?OBJ1))))) (subrelation interiorPart part) (documentation interiorPart "(&%interiorPart ?OBJ1 ?OBJ2) means that ?OBJ1 is part ?OBJ2 and there is no overlap between ?OBJ1 and any &%superficialPart ?OBJ2.") (<=> (interiorPart ?OBJ1 ?OBJ2) (forall (?PART) (=> (superficialPart ?PART ?OBJ2) (not (overlapsSpatially ?OBJ1 ?PART))))) (instance MereologicalSumFn SpatialRelation) (instance MereologicalSumFn BinaryFunction) (domain MereologicalSumFn 1 Object) (domain MereologicalSumFn 2 Object) (range MereologicalSumFn Object) (relatedInternalConcept MereologicalSumFn MereologicalProductFn) (relatedInternalConcept MereologicalSumFn MereologicalDifferenceFn) (documentation MereologicalSumFn "(&%MereologicalSumFn ?OBJ1 ?OBJ2) denotes the &%Object consisting of the parts which belong to either ?OBJ1 or ?OBJ2.") (=> (equal ?OBJ3 (MereologicalSumFn ?OBJ1 ?OBJ2)) (forall (?PART) (<=> (part ?PART ?OBJ3) (or (part ?PART ?OBJ1) (part ?PART ?OBJ2))))) (instance MereologicalProductFn SpatialRelation) (instance MereologicalProductFn BinaryFunction) (domain MereologicalProductFn 1 Object) (domain MereologicalProductFn 2 Object) (range MereologicalProductFn Object) (relatedInternalConcept MereologicalProductFn MereologicalDifferenceFn) (documentation MereologicalProductFn "(&%MereologicalProductFn ?OBJ1 ?OBJ2) denotes the &%Object consisting of the parts which belong to both ?OBJ1 and ?OBJ2.") (=> (equal ?OBJ3 (MereologicalProductFn ?OBJ1 ?OBJ2)) (forall (?PART) (<=> (part ?PART ?OBJ3) (and (part ?PART ?OBJ1) (part ?PART ?OBJ2))))) (instance MereologicalDifferenceFn SpatialRelation) (instance MereologicalDifferenceFn BinaryFunction) (domain MereologicalDifferenceFn 1 Object) (domain MereologicalDifferenceFn 2 Object) (range MereologicalDifferenceFn Object) (documentation MereologicalDifferenceFn "(&%MereologicalDifferenceFn ?OBJ1 ?OBJ2) denotes the &%Object consisting of the parts which belong to ?OBJ1 and not to ?OBJ2.") (=> (equal ?OBJ3 (MereologicalDifferenceFn ?OBJ1 ?OBJ2)) (forall (?PART) (<=> (part ?PART ?OBJ3) (and (part ?PART ?OBJ1) (not (part ?PART ?OBJ2)))))) ;; What follows is an alignment of Casati and Varzi's formal theory of ;; holes with the SUMO. (instance hole BinaryPredicate) (instance hole SpatialRelation) (instance hole AsymmetricRelation) (domain hole 1 Hole) (domain hole 2 Object) (documentation hole "(&%hole ?HOLE ?OBJ) means that ?HOLE is a &%Hole in ?OBJ. A &%Hole is a fillable body located at the &%surface an &%Object.") (subclass Hole Region) (relatedInternalConcept Hole hole) (documentation Hole "A hole is an immaterial body located at the surface of an &%Object. Since every &%Hole is ontologically dependent on its host (i.e., the object in which it is a hole), being a &%Hole is defined as being a &%hole in something. Note that two &%Holes may occupy the same region, or part of the same region, without sharing any parts.") (<=> (instance ?HOLE Hole) (exists (?OBJ) (hole ?HOLE ?OBJ))) (=> (hole ?HOLE ?OBJ) (not (instance ?OBJ Hole))) (=> (hole ?HOLE ?OBJ) (not (overlapsSpatially ?HOLE ?OBJ))) ;; Any two hosts of a hole have a common proper part that entirely hosts ;; the hole. (=> (and (hole ?HOLE ?OBJ1) (hole ?HOLE ?OBJ2)) (exists (?OBJ3) (and (properPart ?OBJ3 (MereologicalProductFn ?OBJ1 ?OBJ2)) (hole ?HOLE ?OBJ3)))) ;; A common host of two holes hosts all parts of the sum of those holes. (=> (and (hole ?HOLE1 ?OBJ) (hole ?HOLE2 ?OBJ)) (forall (?HOLE3) (=> (part ?HOLE3 (MereologicalSumFn ?HOLE1 ?HOLE2)) (hole ?HOLE3 ?OBJ)))) ;; Any object that includes the host of a hole is a host of that hole, ;; unless its parts also include parts of that very hole. (=> (and (hole ?HOLE ?OBJ1) (part ?OBJ1 ?OBJ2)) (or (overlapsSpatially ?HOLE ?OBJ2) (hole ?HOLE ?OBJ2))) ;; Overlapping holes have overlapping hosts. (=> (and (hole ?HOLE1 ?OBJ1) (hole ?HOLE2 ?OBJ2) (overlapsSpatially ?HOLE1 ?HOLE2)) (overlapsSpatially ?OBJ1 ?OBJ2)) ;; No hole is atomic (=> (instance ?HOLE1 Hole) (exists (?HOLE2) (properPart ?HOLE2 ?HOLE1))) ;; Topological Definitions ;; Definition of 'PrincipalHostFn' (instance PrincipalHostFn SpatialRelation) (instance PrincipalHostFn UnaryFunction) (domain PrincipalHostFn 1 Hole) (range PrincipalHostFn Object) (documentation PrincipalHostFn "A &%UnaryFunction that maps a &%Hole to the &%Object which is its principal host. The principle host of a &%Hole is its maximally connected host (a notion taken here to be defined only when the argument is a hole).") (=> (equal ?OBJ1 (PrincipalHostFn ?HOLE)) (forall (?OBJ2) (<=> (overlapsSpatially ?OBJ2 ?OBJ1) (exists (?OBJ3) (and (hole ?HOLE ?OBJ3) (instance ?OBJ3 SelfConnectedObject) (overlapsSpatially ?OBJ2 ?OBJ3)))))) ;; Holes are self-connected; i.e., there are no scattered holes. (=> (instance ?HOLE Hole) (instance ?HOLE SelfConnectedObject)) ;; Holes are connected with their hosts. (=> (hole ?HOLE ?OBJ) (connected ?HOLE ?OBJ)) ;; Every hole has some self-connected host. (=> (instance ?HOLE Hole) (exists (?OBJ) (and (hole ?HOLE ?OBJ) (instance ?OBJ SelfConnectedObject)))) ;; No hole can have a proper part that is externally connected ;; with exactly the same things as the hole itself. (=> (and (instance ?HOLE1 Hole) (properPart ?HOLE2 ?HOLE1)) (exists (?OBJ) (and (meetsSpatially ?HOLE1 ?OBJ) (not (meetsSpatially ?HOLE2 ?OBJ))))) (instance fills BinaryPredicate) (instance fills SpatialRelation) (instance fills AsymmetricRelation) (subrelation fills completelyFills) (subrelation fills properlyFills) (domain fills 1 Object) (domain fills 2 Hole) (relatedInternalConcept fills Fillable) (documentation fills "Holes can be filled. (&%fills ?OBJ ?HOLE) means that the &%Object ?OBJ fills the &%Hole ?HOLE. Note that &%fills here means perfectly filled.") (instance Fillable ShapeProperty) (documentation Fillable "Something is &%Fillable if it can be filled by something else. Note that 'filled' here means perfectly filled.") (=> (holdsDuring ?TIME (fills ?OBJ ?HOLE)) (attribute ?HOLE Fillable)) ;; Something is fillable just in case it is part of a hole; i.e., ;; fillability is an exclusive property of holes and their parts. (<=> (attribute ?HOLE1 Fillable) (exists (?HOLE2) (and (instance ?HOLE2 Hole) (part ?HOLE1 ?HOLE2)))) (instance completelyFills BinaryPredicate) (instance completelyFills Spatial Relation) (instance completelyFills AsymmetricRelation) (subrelation completelyFills partiallyFills) (documentation completelyFills "(&%completelyFills ?OBJ ?HOLE) means that some &%part of the &%Object ?OBJ fills the &%Hole ?HOLE. Note that if (&%completelyFills ?OBJ1 ?HOLE) and (&%part ?OBJ1 ?OBJ2), then (&%completelyFills ?OBJ2 ?HOLE).") (=> (completelyFills ?OBJ1 ?HOLE) (exists (?OBJ2) (and (part ?OBJ2 ?OBJ1) (fills ?OBJ2 ?HOLE)))) (instance partiallyFills BinaryPredicate) (instance partiallyFills SpatialRelation) (instance partiallyFills AsymmetricRelation) (domain partiallyFills 1 Object) (domain partiallyFills 2 Hole) (documentation partiallyFills "(&%partiallyFills ?OBJ ?HOLE) means that ?OBJ &%completelyFills some part of ?HOLE. Note that if (&%partiallyFills ?OBJ1 ?HOLE) and (&%part ?OBJ1 ?OBJ2), then (&%partiallyFills ?OBJ2 ?HOLE). Note too that a partial filler need not be wholly inside a hole (it may stick out), which means that every complete filler also qualifies as (is a limit case of) a partial one.") (=> (partiallyFills ?OBJ ?HOLE1) (exists (?HOLE2) (and (part ?HOLE2 ?HOLE1) (completelyFills ?OBJ ?HOLE2)))) (instance properlyFills BinaryPredicate) (instance properlyFills SpatialRelation) (instance properlyFills AsymmetricRelation) (subrelation properlyFills partiallyFills) (domain properlyFills 1 Object) (domain properlyFills 2 Hole) (documentation properlyFills "(&%properlyFills ?OBJ ?HOLE) means that ?HOLE is properly (though perhaps incompletely) filled by ?OBJ, i.e. some part of ?HOLE is perfectly filled by ?OBJ. Note that &%properlyFills is the dual of &%completelyFills, and is so related to &%partiallyFills that ?OBJ &%properlyFills ?HOLE just in case ?OBJ &%partiallyFills every part of ?HOLE. (Thus, every perfect filler is both complete and proper in this sense).") (=> (properlyFills ?OBJ ?HOLE1) (exists (?HOLE2) (and (part ?HOLE2 ?HOLE1) (fills ?OBJ ?HOLE2)))) ;; Perfect fillers and fillable entities have no parts in common (rather, ;; they may occupy the same spatial region). (=> (and (fills ?OBJ1 ?HOLE) (attribute ?OBJ2 Fillable)) (not (overlapsSpatially ?OBJ1 ?OBJ2))) ;; A complete filler of (a part of) a hole is connected with everything ;; with which (that part of) the hole itself is connected. (=> (completelyFills ?OBJ1 ?HOLE) (forall (?OBJ2) (=> (connected ?OBJ2 ?HOLE) (connected ?OBJ2 ?OBJ1)))) ;; Every hole is connected with everything with which a proper filler ;; of the hole is connected. (=> (and (properlyFills ?OBJ1 ?HOLE) (connected ?OBJ2 ?OBJ1)) (connected ?HOLE ?OBJ2)) ;; A perfect filler of (a part of) a hole completely fills every proper ;; part of (that part of) that hole. (=> (and (fills ?OBJ ?HOLE1) (properPart ?HOLE2 ?HOLE1)) (completelyFills ?OBJ ?HOLE2)) ;; Every proper part of a perfect filler of (a part of) a hole properly ;; fills (that part of) that hole. (=> (and (fills ?OBJ1 ?HOLE) (properPart ?OBJ2 ?OBJ1)) (properlyFills ?OBJ2 ?HOLE)) (instance SkinFn SpatialRelation) (instance SkinFn UnaryFunction) (domain SkinFn 1 Hole) (range SkinFn Object) (documentation SkinFn "A &%UnaryFunction that maps a &%Hole to the skin of the &%Hole. The skin of a &%Hole is the fusion of those superficial parts (see &%superficialPart) of the &%Hole's principal host (see &%PrincipalHostFn) with which the &%Hole is externally connected.") (=> (equal ?OBJ1 (SkinFn ?HOLE)) (forall (?OBJ2) (<=> (overlapsSpatially ?OBJ2 ?OBJ1) (exists (?OBJ3) (and (superficialPart ?OBJ3 (PrincipalHostFn ?HOLE)) (meetsSpatially ?HOLE ?OBJ3) (overlapsSpatially ?OBJ2 ?OBJ3)))))) ;; END FILE ;; BEGIN FILE ;;;;;;;;;;;;;;;;;;;;; ;; PROCESSES ;; ;;;;;;;;;;;;;;;;;;;;; ;; INCLUDES 'TEMPORAL CONCEPTS' ;; INCLUDES 'OBJECTS' ;; INCLUDES 'QUALITIES' (instance subProcess BinaryPredicate) (instance subProcess PartialOrderingRelation) (domain subProcess 1 Process) (domain subProcess 2 Process) (documentation subProcess "(&%subProcess ?SUBPROC ?PROC) means that ?SUBPROC is a subprocess of ?PROC. A subprocess is here understood as a temporally distinguished part (proper or not) of a &%Process.") (=> (subProcess ?SUBPROC ?PROC) (or (equal (WhenFn ?SUBPROC) (WhenFn ?PROC)) (during (WhenFn ?SUBPROC) (WhenFn ?PROC)))) (=> (subProcess ?SUBPROC ?PROC) (forall (?REGION) (=> (located ?PROC ?REGION) (located ?SUBPROC ?REGION)))) ;; Each temporal part of a Process exists at some timepoint. (=> (and (instance ?PROC Process) (subProcess ?SUBPROC ?PROC)) (exists (?TIME) (time ?SUBPROC ?TIME))) ;; Processes have temporal parts. (=> (instance ?PROC Process) (exists (?SUBPROC) (subProcess ?SUBPROC ?PROC))) (subclass NonintentionalProcess Process) (documentation NonintentionalProcess "A &%Process that occurs irrespective of the intentions of &%Humans or &%Animals.") ;; The following formulas cover the hierarchy of &%Classes under ;; &%BiologicalProcess. (subclass BiologicalProcess NonintentionalProcess) (documentation BiologicalProcess "A &%NonintentionalProcess embodied in an &%Organism.") (=> (instance ?PROC BiologicalProcess) (exists (?OBJ) (and (instance ?OBJ Organism) (located ?PROC ?OBJ)))) (subclass PhysiologicProcess BiologicalProcess) (documentation PhysiologicProcess "A normal process of an &%Organism or part of an &%Organism.") (subclass OrganismProcess PhysiologicProcess) (documentation OrganismProcess "A physiologic function of the &%Organism as a whole, of multiple organ systems or of multiple &%Organs or &%Tissues.") (subclass Birth OrganismProcess) (documentation Birth "The &%Process of being born.") (=> (instance ?ORGANISM Organism) (exists (?BIRTH) (and (instance ?BIRTH Birth) (experiencer ?BIRTH ?ORGANISM)))) (subclass Death OrganismProcess) (documentation Death "The &%Process of dying.") (=> (instance ?ORGANISM Organism) (exists (?DEATH) (and (instance ?DEATH Death) (experiencer ?DEATH ?ORGANISM)))) (subclass Breathing OrganismProcess) (documentation Breathing "The &%Process of respiration, by which oxygen is made available to an &%Animal. This covers processes of inhalation, exhalation, and alternations between the two.") (subclass Ingesting OrganismProcess) (documentation Ingesting "The &%Process by which &%Food is incorporated into an &%Animal.") (=> (and (instance ?ACT Ingesting) (patient ?ACT ?FOOD)) (instance ?FOOD Food)) (subclass Eating Ingesting) (documentation Eating "The &%Process by which solid &%Food is incorporated into an &%Animal.") (=> (and (instance ?ACT Eating) (patient ?ACT ?FOOD)) (attribute ?FOOD Solid)) (subclass Drinking Ingesting) (documentation Drinking "The &%Process by which liquid &%Food is incorporated into an &%Animal.") (=> (and (instance ?ACT Drinking) (patient ?ACT ?FOOD)) (attribute ?FOOD Liquid)) (subclass Growth PhysiologicProcess) (documentation Growth "The &%Process of biological development in which an &%Organism changes its form or its size.") (subclass Replication PhysiologicProcess) (documentation Replication "The &%Process of biological reproduction. This can be either a sexual or an asexual process.") (subclass SexualReproduction Replication) (disjoint SexualReproduction AsexualReproduction) (documentation SexualReproduction "Sexual &%Processes of biological reproduction.") (subclass AsexualReproduction Replication) (documentation AsexualReproduction "Asexual &%Processes of biological reproduction.") (subclass MentalProcess IntentionalProcess) (documentation MentalProcess "An &%OrganismProcess involving the mind or cognitive processing.") (=> (instance ?PROCESS MentalProcess) (exists (?ANIMAL) (and (instance ?ANIMAL Animal) (experiencer ?PROCESS ?ANIMAL)))) (subclass OrganOrTissueProcess PhysiologicProcess) (disjoint OrganOrTissueProcess OrganismProcess) (documentation OrganOrTissueProcess "A &%PhysiologicProcess of a particular &%Organ or &%Tissue.") (=> (instance ?PROC OrganOrTissueProcess) (exists (?THING) (and (located ?PROC ?THING) (or (instance ?THING Organ) (instance ?THING Tissue))))) (subclass PathologicProcess BiologicalProcess) (disjoint PathologicProcess PhysiologicProcess) (documentation PathologicProcess "A disordered process, activity, or state of the &%Organism as a whole, of a body system or systems, or of multiple &%Organs or &%Tissues. Included here are normal responses to a negative stimulus as well as patholologic conditions or states that are less specific than a disease. Pathologic functions frequently have systemic effects.") (subclass DiseaseOrSyndrome PathologicProcess) (documentation DiseaseOrSyndrome "A &%PathologicProcess which alters or interferes with a normal process, state or activity of an &%Organism. It is usually characterized by the abnormal functioning of one or more of the host's systems, parts, or &%Organs.") (subclass MentalOrBehavioralDysfunction DiseaseOrSyndrome) (documentation MentalOrBehavioralDysfunction "A clinically significant dysfunction whose major manifestation is behavioral or psychological. These dysfunctions may have identified or presumed biological etiologies or manifestations.") (=> (instance ?DISEASE MentalOrBehavioralDysfunction) (exists (?ANIMAL) (and (instance ?ANIMAL Animal) (patient ?DISEASE ?ANIMAL)))) (subclass Injuring PathologicProcess) (documentation Injuring "A traumatic wound or injury caused by an external agent or force. Since no injury is possible without some biologic function which affects the organism being injured, it is a subclass of &%BiologicalProcess.") (=> (instance ?INJ Injuring) (exists (?STRUCT) (and (instance ?STRUCT AnatomicalStructure) (patient ?INJ ?STRUCT)))) (<=> (instance ?INJ Injuring) (and (instance ?INJ Damaging) (patient ?INJ Organism))) (subclass Poisoning Injuring) (documentation Poisoning "A &%Poisoning is caused by an external substance. Since &%Poisoning is not possible without some biologic function which affects the &%Organism being injured, it is a subclass of &%BiologicalProcess.") (=> (instance ?POISON Poisoning) (exists (?THING) (and (patient ?POISON ?THING) (or (instance ?THING Organism) (instance ?THING AnatomicalStructure))))) (=> (instance ?POISON Poisoning) (exists (?SUBSTANCE) (and (instance ?SUBSTANCE BiologicallyActiveSubstance) (instrument ?POISON ?SUBSTANCE)))) (subclass IntentionalProcess Process) (disjoint IntentionalProcess NonintentionalProcess) (documentation IntentionalProcess "A &%Process that is deliberately set in motion by a &%CognitiveAgent.") (=> (and (instance ?PROC IntentionalProcess) (agent ?PROC ?AGENT)) (and (instance ?AGENT CognitiveAgent) (exists (?PURP) (hasPurposeForAgent ?PROC ?PURP ?AGENT)))) (=> (instance ?PROC IntentionalProcess) (exists (?AGENT) (and (instance ?AGENT CognitiveAgent) (agent ?PROC ?AGENT)))) (subclass RecreationalProcess IntentionalProcess) (documentation RecreationalProcess "A &%Process that is carried out for the purpose of recreation.") (subclass ExerciseProcess IntentionalProcess) (documentation ExerciseProcess "A &%Process that is carried out for the purpose of exercise.") (subclass DiagnosticProcess IntentionalProcess) (documentation DiagnosticProcess "A &%Process that is carried out for the purpose of determining the nature of a &%DiseaseOrSyndrome.") (subclass TherapeuticProcess IntentionalProcess) (documentation TherapeuticProcess "A &%Process that is carried out for the purpose of curing, improving or reducing the pain associated with a &%DiseaseOrSyndrome.") (subclass Surgery TherapeuticProcess) (documentation Surgery "Any &%TherapeuticProcess that involves making an incision in the &%Animal that is the &%patient of the &%TherapeuticProcess.") (=> (and (instance ?ACT Surgery) (patient ?ACT ?ANIMAL)) (exists (?SUBACT) (and (instance ?SUBACT Cutting) (instance ?ANIMAL Animal) (patient ?ANIMAL ?CUTTING) (subProcess ?SUBACT ?ACT)))) (subclass OrganizationalProcess IntentionalProcess) (documentation OrganizationalProcess "An &%IntentionalProcess that is carried out within or by an &%Organization.") (=> (and (instance ?ACT OrganizationalProcess) (agent ?ACT ?AGENT)) (or (instance ?AGENT Organization) (exists (?ORG) (and (instance ?ORG Organization) (member ?AGENT ?ORG))))) (subclass EducationalProcess OrganizationalProcess) (documentation EducationalProcess "Any &%Process which occurs in an organizational setting and which is intended to result in &%Learning.") (subclass Managing OrganizationalProcess) (documentation Managing "&%OccupationalProcesses that involve overseeing the activities of others.") (subclass ReligiousProcess OrganizationalProcess) (documentation ReligiousProcess "An &%OrganizationalProcess that is carried out within or by a &%ReligiousOrganization.") (=> (and (instance ?ACT ReligiousProcess) (agent ?ACT ?AGENT)) (or (instance ?AGENT ReligiousOrganization) (exists (?ORG) (and (member ?AGENT ?ORG) (instance ?ORG ReligiousOrganization))))) (subclass Graduation OrganizationalProcess) (documentation Graduation "The &%IntentionalProcess of graduating from an &%EducationalOrganization.") (subclass PoliticalProcess OrganizationalProcess) (documentation PoliticalProcess "An &%OrganizationalProcess carried out by officially constituted governments or with the aim of overthrowing or modifying such a government.") (subclass RegulatoryProcess OrganizationalProcess) (documentation RegulatoryProcess "an &%OrganizationalProcess related to the creation or enforcement of rules or regulations.") (subclass OccupationalProcess OrganizationalProcess) (documentation OccupationalProcess "An &%OrganizationalProcess carried out as part of an occupation or job.") (=> (instance ?ACT OccupationalProcess) (exists (?ORG ?EMP) (and (instance ?ORG Organization) (employs ?ORG ?EMP) (agent ?ACT ?EMP)))) (subclass Planning MentalProcess) (documentation Planning "Specifying a set of actions in order to meet a set of goals or objectives.") (subclass Increasing Process) (disjoint Increasing Decreasing) (relatedInternalConcept Increasing Putting) (documentation Increasing "Any &%Process where a &%PhysicalQuantity associated with the &%patient is increased.") (=> (and (instance ?INCREASE Increasing) (patient ?INCREASE ?OBJ)) (exists (?UNIT ?QUANT1 ?QUANT2) (and (holdsDuring (ImmediatePastFn (WhenFn ?INCREASE)) (equal (MeasureFn ?OBJ ?UNIT) ?QUANT1)) (holdsDuring (ImmediateFutureFn (WhenFn ?INCREASE)) (equal (MeasureFn ?OBJ ?UNIT) ?QUANT2)) (greaterThan ?QUANT2 ?QUANT1)))) (subclass Heating Increasing) (disjoint Heating Cooling) (documentation Heating "Any &%Increasing &%Process where the &%PhysicalQuantity increased is a &%TemperatureMeasure.") (=> (and (instance ?HEAT Heating) (patient ?HEAT ?OBJ)) (exists (?UNIT ?QUANT1 ?QUANT2) (and (instance ?UNIT TemperatureMeasure) (holdsDuring (ImmediatePastFn (WhenFn ?HEAT)) (equal (MeasureFn ?OBJ ?UNIT) ?QUANT1)) (holdsDuring (ImmediateFutureFn (WhenFn ?HEAT)) (equal (MeasureFn ?OBJ ?UNIT) ?QUANT2)) (greaterThan ?QUANT2 ?QUANT1)))) (subclass Decreasing Process) (relatedInternalConcept Decreasing Removing) (documentation Decreasing "Any &%Process where a &%PhysicalQuantity associated with the &%patient is decreased.") (=> (and (instance ?DECREASE Decreasing) (patient ?DECREASE ?OBJ)) (exists (?UNIT ?QUANT1 ?QUANT2) (and (holdsDuring (ImmediatePastFn (WhenFn ?DECREASE)) (equal (MeasureFn ?OBJ ?UNIT) ?QUANT1)) (holdsDuring (ImmediateFutureFn (WhenFn ?DECREASE)) (equal (MeasureFn ?OBJ ?UNIT) ?QUANT2)) (lessThan ?QUANT2 ?QUANT1)))) (subclass Cooling Decreasing) (documentation Cooling "Any &%Decreasing &%Process where the &%PhysicalQuantity decreased is a &%TemperatureMeasure.") (=> (and (instance ?COOL Cooling) (patient ?COOL ?OBJ)) (exists (?UNIT ?QUANT1 ?QUANT2) (and (instance ?UNIT TemperatureMeasure) (holdsDuring (ImmediatePastFn (WhenFn ?COOL)) (equal (MeasureFn ?OBJ ?UNIT) ?QUANT1)) (holdsDuring (ImmediateFutureFn (WhenFn ?COOL)) (equal (MeasureFn ?OBJ ?UNIT) ?QUANT2)) (lessThan ?QUANT2 ?QUANT1)))) (subclass Motion Process) (documentation Motion "Any &%Process of movement.") (=> (and (instance ?MOTION Motion) (patient ?MOTION ?OBJ) (origin ?MOTION ?PLACE)) (holdsDuring (ImmediatePastFn (WhenFn ?MOTION)) (located ?OBJ ?PLACE))) (=> (and (instance ?MOTION Motion) (patient ?MOTION ?OBJ) (destination ?MOTION ?PLACE)) (holdsDuring (ImmediateFutureFn (WhenFn ?MOTION)) (located ?OBJ ?PLACE))) (instance path CaseRole) (domain path 1 Motion) (domain path 2 Region) (documentation path "(&%path ?MOTION ?PATH) means that ?PATH is a route along which ?MOTION occurs. For example, Highway 101 is the path in the following proposition: the car drove up Highway 101.") (=> (and (path ?PROCESS ?PATH1) (origin ?PROCESS ?SOURCE) (destination ?PROCESS ?DEST) (length ?PATH1 ?MEASURE1) (not (exists (?PATH2 ?MEASURE2) (and (path ?PROCESS ?PATH2) (origin ?PROCESS ?ORIGIN) (destination ?PROCESS ?DEST) (length ?PATH2 ?MEASURE2) (lessThan ?MEASURE2 ?MEASURE1))))) (forall (?OBJ) (=> (part ?OBJ ?PATH1) (between ?SOURCE ?OBJ ?DEST)))) (subclass BodyMotion Motion) (documentation BodyMotion "Any &%Motion where the &%patient is a &%BodyPart.") (=> (instance ?MOTION BodyMotion) (exists (?OBJ) (and (instance ?OBJ BodyPart) (patient ?MOTION ?OBJ)))) (subclass Walking BodyMotion) (documentation Walking "Any &%BodyMotion which is accomplished by means of the legs of an &%Organism on land for the purpose of moving from one point to another.") (subclass Swimming BodyMotion) (documentation Swimming "Any deliberate and controlled &%BodyMotion through water that is accomplished by an &%Organism.") (subclass Dancing BodyMotion) (documentation Dancing "Any &%BodyMotion of &%Humans which is deliberately coordinated with music.") (subclass DirectionChange Motion) (documentation DirectionChange "The act of changing the direction in which the &%patient of the act is oriented.") (=> (instance ?PROC DirectionChange) (exists (?ATTR) (and (instance ?ATTR DirectionalAttribute) (or (and (holdsDuring (ImmediatePastFn (WhenFn ?PROC)) (attribute ?PROC ?ATTR)) (holdsDuring (ImmediateFutureFn (WhenFn ?PROC)) (not (attribute ?PROC ?ATTR)))) (and (holdsDuring (ImmediateFutureFn (WhenFn ?PROC)) (attribute ?PROC ?ATTR)) (holdsDuring (ImmediatePastFn (WhenFn ?PROC)) (not (attribute ?PROC ?ATTR)))))))) (subclass Transfer Motion) (documentation Transfer "Any &%instance of &%Motion where the &%agent of the &%Motion and the &%patient of the &%Motion are not the same thing.") (=> (and (instance ?TRANSFER Transfer) (agent ?TRANSFER ?AGENT) (patient ?TRANSFER ?PATIENT)) (not (equal ?AGENT ?PATIENT))) (subclass Removing Transfer) (documentation Removing "The &%Class of &%Processes where something is taken away from a location. Note that the thing removed and the location are specified with the &%CaseRoles &%patient and &%origin, respectively.") (=> (and (instance ?REMOVE Removing) (origin ?REMOVE ?PLACE) (patient ?REMOVE ?OBJ)) (and (holdsDuring (ImmediatePastFn (WhenFn ?REMOVE)) (located ?OBJ ?PLACE)) (holdsDuring (ImmediateFutureFn (WhenFn ?REMOVE)) (not (located ?OBJ ?PLACE))))) (subclass Cleaning Removing) (documentation Cleaning "The &%Class of &%Processes where undesirable &%Substances and/or &%Microorganisms are removed from an &%Object.") (subclass Putting Transfer) (documentation Putting "The &%Class of &%Processes where something is put in a location. Note that the location is specified with the &%CaseRole &%destination.") (=> (and (instance ?PUT Putting) (destination ?PUT ?PLACE) (patient ?PUT ?OBJ)) (and (holdsDuring (ImmediatePastFn (WhenFn ?PUT)) (not (located ?OBJ ?PLACE))) (holdsDuring (ImmediateFutureFn (WhenFn ?PUT)) (located ?OBJ ?PLACE)))) (subclass Substituting Transfer) (documentation Substituting "The &%Class of &%Transfers where one thing is replaced with something else.") (=> (instance ?SUB Substituting) (exists (?PUT ?REMOVE ?OBJ1 ?OBJ2 ?PLACE) (and (instance ?PUT Putting) (instance ?REMOVE Removing) (subProcess ?PUT ?SUB) (subProcess ?REMOVE ?SUB) (patient ?REMOVE ?OBJ1) (origin ?REMOVE ?PLACE) (patient ?PUT ?OBJ2) (destination ?PUT ?PLACE) (not (equal ?OBJ1 ?OBJ2))))) (subclass Arranging Transfer) (documentation Arranging "The &%Class of &%IntentionallyCausedProcesses where the order of &%Objects in a &%Collection is altered.") (subclass Impelling Transfer) (documentation Impelling "The &%subclass of &%Transfer where the &%patient travels through space by means of a sudden, forceful event. Some examples would be shooting, throwing, tossing, etc.") (subclass Shooting Impelling) (documentation Shooting "The &%subclass of &%Impelling where the &%patient is a projectile that is fired through the air by means of some sort of &%Device.") (subclass Transportation Motion) (relatedInternalConcept Transportation TransportationDevice) (documentation Transportation "&%Motion from one point to another by means of a &%TransportationDevice.") (=> (instance ?TRANS Transportation) (exists (?DEVICE) (and (instance ?DEVICE TransportationDevice) (instrument ?TRANS ?DEVICE)))) (subclass Guiding IntentionalProcess) (documentation Guiding "Controlling the direction and/or speed of a &%CorpuscularObject. This includes aiming a gun or arrow, navigating a ship, driving a car or truck, operating a train, etc.") (subclass ChangeOfPossession SocialInteraction) (relatedInternalConcept ChangeOfPossession possesses) (documentation ChangeOfPossession "The &%Class of &%Processes where ownership of something is transferred from one &%Agent to another.") (=> (and (instance ?CHANGE ChangeOfPossession) (patient ?CHANGE ?OBJ) (holdsDuring (ImmediatePastFn (WhenFn ?CHANGE)) (possesses ?AGENT1 ?OBJ)) (holdsDuring (ImmediateFutureFn (WhenFn ?CHANGE)) (possesses ?AGENT2 ?OBJ))) (not (equal ?AGENT1 ?AGENT2))) (subclass Giving ChangeOfPossession) (documentation Giving "The &%subclass of &%ChangeOfPossession where the &%agent gives the &%destination something.") (=> (and (instance ?GIVE Giving) (agent ?GIVE ?AGENT1) (destination ?GIVE ?AGENT2) (instance ?AGENT2 Agent) (patient ?GIVE ?OBJ)) (and (holdsDuring (ImmediatePastFn (WhenFn ?GIVE)) (possesses ?AGENT1 ?OBJ)) (holdsDuring (ImmediateFutureFn (WhenFn ?GIVE)) (possesses ?AGENT2 ?OBJ)))) (subclass Lending Giving) (documentation Lending "The &%subclass of &%Giving &%Processes where the &%agent gives the &%destination something for a limited period of time with the expectation that it will be returned later (perhaps with interest).") (subclass Getting ChangeOfPossession) (documentation Getting "The &%subclass of &%ChangeOfPossession where the &%agent gets something. Note that the source from which something is obtained is specified with the &%origin &%CaseRole.") (=> (and (instance ?GET Getting) (agent ?GET ?AGENT1) (origin ?GET ?AGENT2) (instance ?AGENT2 Agent) (patient ?GET ?OBJ)) (exists (?GIVE) (and (instance ?GIVE Giving) (agent ?GIVE ?AGENT2) (destination ?GIVE ?AGENT1) (patient ?GIVE ?OBJ)))) (subclass Borrowing Getting) (documentation Borrowing "The &%subclass of &%Getting &%Processes where the &%agent gets something for a limited period of time with the expectation that it will be returned later (perhaps with interest).") (subclass Transaction ChangeOfPossession) (documentation Transaction "The &%subclass of &%ChangeOfPossession where something is exchanged for something else.") (=> (instance ?TRANS Transaction) (exists (?AGENT1 ?AGENT2 ?GIVE1 ?GIVE2 ?OBJ1 ?OBJ2) (and (instance ?GIVE1 Giving) (instance ?GIVE2 Giving) (subProcess ?GIVE1 ?TRANS) (subProcess ?GIVE2 ?TRANS) (agent ?GIVE1 ?AGENT1) (agent ?GIVE2 ?AGENT2) (patient ?GIVE1 ?OBJ1) (patient ?GIVE2 ?OBJ2) (destination ?GIVE1 ?AGENT2) (destination ?GIVE2 ?AGENT1) (not (equal ?AGENT1 ?AGENT2)) (not (equal ?OBJ1 ?OBJ2))))) (subclass FinancialTransaction Transaction) (documentation FinancialTransaction "A &%Transaction where an instance of &%CurrencyMeasure is exchanged for something else.") (subclass Betting FinancialTransaction) (documentation Betting "A &%FinancialTransaction where an instance of &%CurrencyMeasure is exchanged for the possibility of winning a larger instance of &%CurrencyMeasure within the context of some sort of &%Game.") (subclass Buying FinancialTransaction) (relatedInternalConcept Buying Selling) (documentation Buying "A &%FinancialTransaction in which an instance of &%CurrencyMeasure is exchanged for an instance of &%Physical.") (subclass Selling FinancialTransaction) (documentation Selling "A &%FinancialTransaction in which an instance of &%Physical is exchanged for an instance of &%CurrencyMeasure.") (<=> (and (instance ?BUY Buying) (agent ?BUY ?AGENT1) (origin ?BUY ?AGENT2) (patient ?BUY ?OBJECT)) (and (instance ?SELL Selling) (agent ?SELL ?AGENT2) (destination ?SELL ?AGENT1) (patient ?SELL ?OBJECT))) (subclass Learning MentalProcess) (documentation Learning "The &%Class of &%Processes which relate to the acquisition of information.") (=> (and (instance ?LEARN Learning) (agent ?LEARN ?AGENT)) (instance ?AGENT CognitiveAgent)) (=> (holdsDuring ?TIME (exists (?LEARN) (and (instance ?LEARN Learning) (agent ?LEARN ?AGENT) (patient ?LEARN ?PROP)))) (holdsDuring (ImmediateFutureFn ?TIME) (believes ?AGENT ?PROP))) (subclass Classifying MentalProcess) (documentation Classifying "The &%Class of &%MentalProcesses which involve attaching a name or category to a thing or set of things. Note that &%Classifying is distinguished from &%Learning by the fact that the latter covers the acquisition by a &%CognitiveAgent of any &%Proposition, while the former involves the assignment of a label or category.") (subclass Reasoning MentalProcess) (documentation Reasoning "The &%Class of &%MentalProcesses which involve concluding, on the basis of either deductive or inductive evidence, that a particular &%Proposition or &%Sentence is true.") (subclass Selecting MentalProcess) (documentation Selecting "The &%Class of &%MentalProcesses which involve opting for one or more &%Entity out of a larger set of &%Entities.") (subclass Comparing MentalProcess) (documentation Comparing "The &%Class of &%MentalProcesses which involve comparing, relating, contrasting, etc. the properties of two or more &%Entities.") (subclass Calculating MentalProcess) (documentation Calculating "&%MentalProcesses which involve the consideration and/or manipulation of instances of &%Quantity.") (subclass Measuring Calculating) (documentation Measuring "The &%Class of &%Calculating &%Processes where the aim is to determine the &%PhysicalQuantity of some aspect of the &%patient.") (=> (and (instance ?MEAS Measuring) (agent ?MEAS ?AGENT) (patient ?MEAS ?OBJ)) (exists (?QUANT ?UNIT) (holdsDuring (ImmediateFutureFn (WhenFn ?MEAS)) (knows ?AGENT (measure ?OBJ (MeasureFn ?QUANT ?UNIT)))))) (subclass Counting Calculating) (documentation Counting "Enumerating the &%instances of a &%Class or the &%members of a &%Collection.") (=> (and (instance ?COUNT Counting) (agent ?COUNT ?AGENT) (patient ?COUNT ?ENTITY)) (exists (?NUMBER) (knows ?AGENT (equal (CardinalityFn ?ENTITY))))) (subclass Predicting MentalProcess) (documentation Predicting "The &%Class of &%MentalProcesses which involve the formulation of a &%Proposition about a state of affairs which might be realized in the future.") (subclass Remembering MentalProcess) (documentation Remembering "The &%Class of &%MentalProcesses which involve the recollection of prior experiences and/or of knowledge which was previously acquired.") (subclass Opening Process) (relatedInternalConcept Opening Closing) (documentation Opening "The &%Class of &%Processes where an aperture is created in an &%Object. Note that the aperture may be created intentionally, as when one opens a door, or unintentionally, as when the ground ruptures in a seismic event.") (subclass Closing Process) (documentation Closing "The &%Class of &%Processes where an aperture is closed in an &%Object.") (subclass Keeping IntentionalProcess) (documentation Keeping "The &%Class of &%Processes where the &%agent keeps something in a particular location for an extended period of time.") (subclass Securing Keeping) (documentation Securing "The &%Class of &%Keeping &%Processes where the &%patient is secured in some manner, e.g. by locking it up in a strongbox.") (subclass Confining Securing) (subclass Confining RegulatoryProcess) (documentation Confining "The &%Class of &%Securing &%Processes where the &%patient is &%Human and is kept against his/her will. This covers imprisonment, being jailed, held in custody, etc.") (subclass Maintaining IntentionalProcess) (documentation Maintaining "The &%Class of &%Processes where the &%agent cares for or maintains the &%Object.") (subclass Repairing IntentionalProcess) (relatedInternalConcept Repairing Maintaining) (documentation Repairing "The &%Class of &%Processes where the &%agent makes a modification or series of modifications to an &%Object that is not functioning as intended so that it works properly.") (subclass Damaging Process) (documentation Damaging "The &%Class of &%Processes where the &%agent brings about a situation where the &%patient no longer functions normally or as intended.") (subclass Concealing IntentionalProcess) (documentation Concealing "The &%Class of &%Processes where something is moved out of view.") (subclass Revealing IntentionalProcess) (disjoint Revealing Concealing) (documentation Revealing "The &%Class of &%Processes where something is moved into view.") (subclass Impacting Process) (documentation Impacting "The &%Class of &%Processes where something comes into sudden, forceful, physical contact with something else. Some examples would be striking, knocking, whipping etc.") (=> (and (instance ?IMPACT Impacting) (instrument ?IMPACT ?INST) (patient ?IMPACT ?PLACE)) (holdsDuring (WhenFn ?IMPACT) (connected ?INST ?PLACE))) (subclass Striking Impacting) (subclass Striking IntentionalProcess) (documentation Striking "The &%Class of &%Impactings that are intentionally caused by a &%CognitiveAgent.") (subclass Poking IntentionalProcess) (documentation Poking "The &%Class of &%Processes where the &%agent brings a something long and narrow into contact with an &%Object and, in some cases, pierces the surface of the &%Object.") (=> (and (instance ?POKE Poking) (agent ?POKE ?AGENT) (patient ?POKE ?OBJ) (instrument ?POKE ?INST)) (holdsDuring (WhenFn ?POKE) (connects ?INST ?AGENT ?OBJ))) (subclass Touching IntentionalProcess) (documentation Touching "The &%Class of &%Processes where there is immediate physical contact between an &%Organism and another &%Object.") (=> (and (instance ?TOUCH Touching) (agent ?TOUCH ?AGENT) (patient ?TOUCH ?OBJ)) (holdsDuring (WhenFn ?TOUCH) (connected ?AGENT ?OBJ))) (subclass Holding Touching) (documentation Holding "The &%Class of &%Processes where the &%agent maintains physical contact with something for an extended period of time.") (subclass Covering Process) (documentation Covering "The &%Class of &%Processes where the &%agent covers the &%patient, either completely or only partially, with something else.") (=> (and (instance ?COVER Covering) (patient ?COVER ?OBJ)) (exists (?CONCEAL ?PART) (and (instance ?CONCEAL Concealing) (subProcess ?CONCEAL ?COVER) (part ?PART ?OBJ) (patient ?CONCEAL ?PART)))) (subclass Dressing Process) (documentation Dressing "The act of putting clothing on an &%Animal.") (=> (and (instance ?DRESS Dressing) (instrument ?DRESS ?CLOTH)) (instance ?CLOTH Clothing)) (subclass Attaching Process) (disjoint Attaching Detaching) (relatedInternalConcept Attaching Putting) (documentation Attaching "A &%Process where the &%agent attaches one thing to something else. Note that this is different from &%Putting in that two things which are attached may already be in the same location.") (subclass Tying Attaching) (documentation Tying "The &%Process of tying two things, or two strands of the same thing, together.") (subclass Detaching Process) (documentation Detaching "A &%Process where the &%agent detaches one thing from something else. Note that this is different from &%Removing in that neither of the two things which are detached may be removed from the location where it was attached.") (subclass Untying Detaching) (disjoint Untying Tying) (documentation Untying "The &%Process of untying two things, or two strands of the same thing.") (subclass Cutting Detaching) (documentation Cutting "The &%subclass of &%Detaching &%Processes which involve a relatively sharp &%instrument.") (subclass Combining Process) (documentation Combining "A &%Process where two or more things are combined into a single thing.") (subclass Separating Process) (disjoint Separating Combining) (documentation Separating "A &%Process where something is disassembled into (some of) its parts.") (subclass Decorating IntentionalProcess) (relatedInternalConcept Decorating SurfaceAlteration) (documentation Decorating "The act of modifying or embellishing something with the aim of making it more aesthetically pleasing.") (subclass ShapeAlteration Process) (documentation ShapeAlteration "The act of changing the shape of an &%Object.") (=> (and (instance ?ALT ShapeAlteration) (patient ?ALT ?OBJ)) (exists (?PROPERTY) (and (instance ?PROPERTY ShapeProperty) (or (and (holdsDuring (ImmediatePastFn (WhenFn ?ALT)) (attribute ?OBJ ?PROPERTY)) (holdsDuring (ImmediateFutureFn (WhenFn ?ALT)) (not (attribute ?OBJ ?PROPERTY)))) (and (holdsDuring (ImmediatePastFn (WhenFn ?ALT)) (not (attribute ?OBJ ?PROPERTY))) (holdsDuring (ImmediateFutureFn (WhenFn ?ALT)) (attribute ?OBJ ?PROPERTY))))))) (subclass SurfaceAlteration Process) (documentation SurfaceAlteration "The act of changing the appearance of the surface of an &%Object.") (=> (and (instance ?ALT SurfaceAlteration) (patient ?ALT ?OBJ)) (exists (?PART ?PROPERTY) (and (superficialPart ?PART ?OBJ) (holdsDuring (ImmediatePastFn (WhenFn ?ALT)) (attribute ?PART ?PROPERTY)) (holdsDuring (ImmediateFutureFn (WhenFn ?ALT)) (not (attribute ?PART ?PROPERTY)))))) (subclass Coloring SurfaceAlteration) (documentation Coloring "The &%subclass of &%SurfaceAlteration where a &%ColorProperty of the &%patient is altered.") (=> (and (instance ?COLORING Coloring) (patient ?COLORING ?OBJ)) (exists (?PROPERTY) (and (instance ?PROPERTY ColorProperty) (holdsDuring (ImmediatePastFn (WhenFn ?COLORING)) (attribute ?OBJ ?PROPERTY)) (holdsDuring (ImmediateFutureFn (WhenFn ?COLORING)) (not (attribute ?OBJ ?PROPERTY)))))) (subclass Grooming IntentionalProcess) (documentation Grooming "The &%subclass of &%Process where parts of an &%Organism are arranged in a socially pleasing manner. Some examples are shaving, brushing, combing, etc.") (subclass ContentDevelopment IntentionalProcess) (documentation ContentDevelopment "A &%subclass of &%IntentionalProcess in which content is modified, its form is altered or it is created anew.") (subclass Reading ContentDevelopment) (documentation Reading "A &%subclass of &%ContentDevelopment in which content is converted from a written form into a spoken or mental representation.") (subclass Writing ContentDevelopment) (documentation Writing "A &%subclass of &%ContentDevelopment in which content is expressed in a &%Language.") (subclass Encoding Writing) (documentation Encoding "Converting a document or message into a formal language or into a code that can be understood only by a relatively small body of &%Agents. Generally speaking, this hinders wide dissemination of the content in the original document or message.") (subclass Decoding Writing) (disjoint Decoding Encoding) (documentation Decoding "Converting a document or message that has previously been encoded (see &%Encoding) into a &%Language that can be understood by a relatively large number of speakers.") (=> (and (instance ?DECODE Decoding) (patient ?DECODE ?DOC1)) (exists (?ENCODE ?DOC2 ?TIME) (and (containsInformation ?DOC2 ?PROP) (containsInformation ?DOC1 ?PROP) (temporalPart ?TIME (PastFn (WhenFn ?DECODE))) (holdsDuring ?TIME (and (instance ?ENCODE Encoding) (patient ?ENCODE ?DOC2)))))) (subclass Wetting Process) (documentation Wetting "The &%Class of &%Processes where &%Water is added to an &%Object.") (=> (and (instance ?WET Wetting) (patient ?WET ?OBJ)) (holdsDuring (ImmediateFutureFn (WhenFn ?WET)) (or (attribute ?OBJ Wet) (attribute ?OBJ Damp)))) (subclass Drying Process) (documentation Drying "The &%Class of &%Processes where water is removed from an &%Object.") (=> (and (instance ?DRY Drying) (patient ?DRY ?OBJ)) (holdsDuring (ImmediateFutureFn (WhenFn ?DRY)) (or (attribute ?OBJ Anhydrous) (attribute ?OBJ Dry)))) (subclass Creation Process) (documentation Creation "The &%subclass of &%Process in which something is created. Note that the thing created is specified with the &%result &%CaseRole.") (=> (instance ?ACTION Creation) (exists (?RESULT) (result ?ACTION ?RESULT))) (<=> (instance ?PROCESS Creation) (exists (?PATIENT) (and (patient ?PROCESS ?PATIENT) (time ?PATIENT (ImmediateFutureFn(WhenFn ?PROCESS))) (not (time ?PATIENT (ImmediatePastFn (WhenFn ?PROCESS))))))) (subclass Making Creation) (relatedInternalConcept Making OccupationalProcess) (documentation Making "The &%subclass of &%Creation in which an individual &%Artifact or a type of &%Artifact is made.") (=> (instance ?MAKE Making) (exists (?ARTIFACT) (and (instance ?ARTIFACT Artifact) (result ?MAKE ?ARTIFACT)))) (subclass Constructing Making) (documentation Constructing "The &%subclass of &%Making in which a &%StationaryArtifact is built.") (<=> (exists (?BUILD) (and (instance ?BUILD Constructing) (result ?BUILD ?ARTIFACT))) (instance ?ARTIFACT StationaryArtifact)) (subclass Manufacture Making) (documentation Manufacture "The &%Making of &%Artifacts on a mass scale.") (subclass Publication Manufacture) (documentation Publication "The &%Manufacture of &%Texts. Note that this concept does not imply that the &%Texts are disseminated. Such dissemination, when it occurs, is an instance of &%Communication.") (=> (and (instance ?PUB Publication) (patient ?PUB ?TEXT)) (subclass ?TEXT Text)) (subclass Cooking Making) (documentation Cooking "The &%Making of an &%instance of &%Food.") (subclass Destruction Process) (documentation Destruction "The &%subclass of &%Process in which the &%patient (or an essential element of the &%patient) is destroyed.") (<=> (instance ?PROCESS Destruction) (exists (?PATIENT) (and (patient ?PROCESS ?PATIENT) (time ?PATIENT (ImmediatePastFn(WhenFn ?PROCESS))) (not (time ?PATIENT (ImmediateFutureFn (WhenFn ?PROCESS))))))) (subclass Killing Destruction) (documentation Killing "The &%subclass of &%Destruction in which the death of an &%Organism is caused by an &%Organism. Note that in cases of suicide the &%Organism would be the same in both cases.") (=> (and (instance ?KILL Killing) (agent ?KILL ?AGENT) (patient ?KILL ?PATIENT)) (and (instance ?AGENT Organism) (instance ?PATIENT Organism))) (=> (and (instance ?KILL Killing) (patient ?KILL ?PATIENT)) (and (holdsDuring (ImmediatePastFn (WhenFn ?KILL)) (attribute ?PATIENT Living)) (holdsDuring (ImmediateFutureFn (WhenFn ?KILL)) (attribute ?PATIENT Dead)))) (subclass Searching IntentionalProcess) (documentation Searching "Any &%Process where the aim is to find something, whether it be information (i.e. a &%Proposition) or an &%Object.") (=> (and (instance ?SEARCH Searching) (agent ?SEARCH ?AGENT) (patient ?SEARCH ?ENTITY)) (inScopeOfInterest ?AGENT ?ENTITY)) (subclass Pursuing Searching) (documentation Pursuing "The &%subclass of &%Searching where the thing sought is an &%Object. Some examples would be hunting, shopping, trawling, and stalking.") (=> (and (instance ?PURSUE Pursuing) (agent ?PURSUE ?AGENT) (patient ?PURSUE ?OBJ)) (wants ?AGENT ?OBJ)) (subclass Investigating Searching) (documentation Investigating "The &%subclass of &%Searching where the thing sought is a piece of information (i.e. a &%Proposition denoted by a &%Formula).") (=> (and (instance ?INVESTIGATE Investigating) (patient ?INVESTIGATE ?PROP)) (instance ?PROP Formula)) (=> (and (instance ?INVESTIGATE Investigating) (agent ?INVESTIGATE ?AGENT) (patient ?INVESTIGATE ?PROP)) (holdsDuring (WhenFn ?INVESTIGATE) (not (knows ?AGENT ?PROP)))) (subclass SocialInteraction IntentionalProcess) (documentation SocialInteraction "The &%subclass of &%IntentionalProcess that involves interactions between &%CognitiveAgents.") (=> (instance ?INTERACTION SocialInteraction) (exists (?AGENT1 ?AGENT2) (and (agent ?INTERACTION ?AGENT1) (agent ?INTERACTION ?AGENT2) (not (equal ?AGENT1 ?AGENT2))))) (subclass Pretending SocialInteraction) (documentation Pretending "Any &%SocialInteraction where a &%CognitiveAgent or &%Group of &%CognitiveAgents attempts to make another &%CognitiveAgent or &%Group of &%CognitiveAgents believe something that is false. This covers deceit, affectation, impersonation, and entertainment productions, to give just a few examples.") (=> (instance ?PRETEND Pretending) (exists (?PERSON ?PROP) (and (hasPurpose ?PRETEND (believes ?PERSON ?PROP)) (true ?PROP True)))) (subclass Communication SocialInteraction) (documentation Communication "A &%SocialInteraction that involves the transfer of information between two or more &%CognitiveAgents via a &%ContentBearingObject.") (=> (instance ?ACTION Communication) (exists (?OBJ) (and (instance ?OBJ ContentBearingObject) (patient ?ACTION ?OBJ)))) (subclass Disseminating Communication) (documentation Disseminating "Any &%Communication that involves a single &%source and many &%destinations. This covers the release of a published book, broadcasting, a theatrical performance, giving orders to assembled troops, delivering a public lecture, etc.") (subclass Stating Communication) (documentation Stating "Instances of this &%Class commit a sender to some truth. Example: John concluded that Peter was not present, and predicted that he would arrive soon.") (subclass Directing Communication) (documentation Directing "Instances of this &%Class urge some further action among the receivers. Example: The 5th Battalion requested air support from the 3rd Bomber Group.") (subclass Ordering Directing) (documentation Ordering "A &%Directing in which the receiver is commanded to realize the content of a &%ContentBearingObject. Orders are injunctions, the disobedience of which involves sanctions, or which express an obligation upon the part of the orderee.") (=> (and (instance ?ORDER Ordering) (patient ?ORDER ?FORMULA)) (modalProperty ?FORMULA Obligation)) (subclass Requesting Directing) (documentation Requesting "A request expresses a desire by the &%agent of the request that the &%destination of the request perform some future action.") (subclass Questioning Directing) (documentation Questioning "A request for information.") (subclass Committing Communication) (documentation Committing "Instances of this &%Class commit the sender to some future course. Example: Bob promised Susan that he would be home by 11pm.") (=> (and (instance ?COMMIT Committing) (patient ?COMMIT ?FORMULA)) (modalProperty ?COMMIT Promise)) (subclass Expressing Communication) (documentation Expressing "Instances of this &%Class express a state of the sender. Example: Jane thanked Barbara for the present she had given her.") (subclass Declaring Communication) (documentation Declaring "The &%Class of &%Communications that effect an institutional alteration when performed by competent authority. Some examples are nominating, marrying, and excommunicating.") (subclass Cooperation SocialInteraction) (documentation Cooperation "The &%subclass of &%SocialInteraction where the participants involved work together for the achievement of a common goal.") (=> (instance ?COOPERATE Cooperation) (exists (?PURP) (forall (?AGENT) (=> (agent ?COOPERATE ?AGENT) (hasPurposeForAgent ?COOPERATE ?PURP ?AGENT))))) (subclass Meeting SocialInteraction) (documentation Meeting "The coming together of two or more &%CognitiveAgents for the purpose of &%Communication. This covers informal meetings, e.g. visits with family members, and formal meetings, e.g. a board of directors meeting.") (subclass Competition Process) (documentation Competition "A &%Process where the &%agent and &%patient are &%Agents who are trying to defeat one another. The &%Agents need not be &%CognitiveAgents. For example, the struggle of plants for space or sunlight, or of bacteria for food resources in some environment would be instances of &%Competition.") (subclass Contest Competition) (subclass Contest SocialInteraction) (documentation Contest "A &%Competition in which the &%Agents are &%CognitiveAgents. More specifically, the &%Agents are aware at some level that there is a prize at stake in the &%Competition.") (=> (instance ?CONTEST Contest) (exists (?AGENT1 ?AGENT2 ?PURP1 ?PURP2) (and (agent ?CONTEST ?AGENT1) (agent ?CONTEST ?AGENT2) (hasPurposeForAgent ?CONTEST ?PURP1 ?AGENT1) (hasPurposeForAgent ?CONTEST ?PURP2 ?AGENT2) (not (equal ?AGENT1 ?AGENT2)) (not (equal ?PURP1 ?PURP2))))) (subclass ViolentContest Contest) (documentation ViolentContest "A &%Contest where one participant attempts to physically injure another participant.") (subclass War ViolentContest) (documentation War "A military confrontation between two or more &%Nations or &%Organizations whose members are &%Nations. As the corresponding axiom specifies, a &%War is made up of &%Battles.") (=> (instance ?WAR War) (exists (?BATTLE) (and (instance ?BATTLE Battle) (subProcess ?BATTLE ?WAR)))) (=> (and (instance ?WAR War) (agent ?WAR ?AGENT)) (or (instance ?AGENT Nation) (and (instance ?AGENT Organization) (forall (?MEMBER) (=> (member ?MEMBER ?AGENT) (instance ?MEMBER Nation)))))) (subclass Battle ViolentContest) (documentation Battle "A &%ViolentContest between two or more military units within the context of a war. Note that this does not cover the metaphorical sense of 'battle', which simply means a struggle of some sort. This sense should be represented with the more general concept of &%Competition.") (=> (instance ?BATTLE Battle) (exists (?WAR) (and (instance ?WAR War) (subProcess ?BATTLE ?WAR)))) (=> (instance ?BATTLE Battle) (exists (?ATTACK) (and (instance ?ATTACK ViolentContest) (subProcess ?ATTACK ?BATTLE)))) (subclass Game Contest) (subclass Game RecreationalProcess) (documentation Game "A &%Contest whose purpose is the enjoyment/stimulation of the participants or spectators of the &%Game.") (subclass Sport Game) (subclass Sport ExerciseProcess) (documentation Sport "A &%Game which requires some degree of physical exercion from the participants of the game.") (subclass LegalAction Contest) (documentation LegalAction "Any &%Process where a &%CognitiveAgent seeks to obtain something from another &%CognitiveAgent through a court of law.") (subclass Maneuver IntentionalProcess) (documentation Maneuver "An intentional move or play within a &%Contest. In many cases, a &%Maneuver is part of a strategy for winning the larger &%Contest of which the &%Maneuver is a part.") (=> (instance ?MOVE Maneuver) (exists (?CONTEST) (and (instance ?CONTEST Contest) (subProcess ?MOVE ?CONTEST)))) (subclass Perception MentalProcess) (documentation Perception "Sensing some aspect of the material world. Note that the &%agent of this sensing is assumed to be an &%Animal.") (=> (and (instance ?PERCEPT Perception) (agent ?PERCEPT ?AGENT)) (instance ?AGENT Animal)) (=> (and (instance ?PERCEPT Perception) (agent ?PERCEPT ?AGENT) (patient ?PERCEPT ?OBJECT)) (notices ?AGENT ?OBJECT)) (subclass Seeing Perception) (documentation Seeing "The &%subclass of &%Perception in which the sensing is done by an ocular &%Organ.") (subclass Smelling Perception) (documentation Smelling "The &%subclass of &%Perception in which the sensing is done by an olefactory &%Organ.") (subclass Tasting Perception) (documentation Tasting "The &%subclass of &%Perception in which the sensing is done by of an &%Organ which can discriminate various tastes.") (subclass Hearing Perception) (documentation Hearing "The &%subclass of &%Perception in which the sensing is done by an auditory &%Organ.") (subclass TactilePerception Perception) (documentation TactilePerception "The &%subclass of &%Perception in which the sensing is done by &%Touching.") (=> (instance ?TACTILE TactilePerception) (exists (?TOUCH) (and (instance ?TOUCH Touching) (subProcess ?TOUCH ?TACTILE)))) (subclass Emitting Process) (documentation Emitting "&%Processes in which something is given off by something else.") (subclass EmittingLight Emitting) (documentation EmittingLight "The &%subclass of &%Emitting in which light is given off. Some examples include blinking, flashing, and glittering.") (subclass EmittingSmell Emitting) (documentation EmittingSmell "The &%subclass of &%Emitting in which smells are given off. Some examples include reeking, smelling, and stinking.") (subclass EmittingSound Emitting) (documentation EmittingSound "The &%subclass of &%Emitting in which sound is given off. Some examples include creaking, roaring, and whistling.") (subclass Music EmittingSound) (documentation Music "The &%subclass of &%EmittingSound where the sound is intended to be melodic and is produced deliberately.") ;; END FILE ;; BEGIN FILE ;;;;;;;;;;;;;;;;;;; ;; OBJECTS ;; ;;;;;;;;;;;;;;;;;;; ;; INCLUDES 'MEREOTOPOLOGY' ;; INCLUDES 'PROCESSES' ;; INCLUDES 'QUALITIES' (subclass Nation Agent) (relatedInternalConcept Nation Land) (documentation Nation "That aspect of a Nation which can act automonously and which is the same throughout the changes in population and borders. Compare the &%Class Land.") (=> (instance ?NATION Nation) (exists (?GOV) (and (instance ?GOV Government) (subOrganizations ?GOV ?NATION)))) (subclass GeographicArea Region) (documentation GeographicArea "A geographic location, generally having definite boundaries. Note that this differs from its immediate superclass &%Region in that a &%GeographicArea is a &%Region of land of significant size.") (subclass TimeZone GeographicArea) (documentation TimeZone "A &%GeographicArea in which time measures are uniform, i.e. all time devices are synchronized to the same temporal coordinates. Instances of this &%Class include the following: pacific time zone, mountain time zone, central time zone, eastern time zone, pacific daylight time, mountain daylight time, central daylight time, and eastern daylight time.") (instance RelativeTimeFn TernaryFunction) (instance RelativeTimeFn TemporalRelation) (domain RelativeTimeFn 1 TimePosition) (domain RelativeTimeFn 2 TimeZone) (domain RelativeTimeFn 3 TimeZone) (range RelativeTimeFn TimePosition) (documentation RelativeTimeFn "A means of converting &%TimePositions between different &%TimeZones. (&%RelativeTimeFn ?TIME ?ZONE1 ?ZONE2) denotes the &%TimePosition in &%TimeZone ?ZONE2 that is contemporaneous with the &%TimePosition ?TIME in &%TimeZone ?ZONE1. For example, (&%RelativeTimeFn (&%MeasureFn 14 &%Hour) &%PacificTimeZone &%EasternTimeZone) would return the value (&%MeasureFn 17 &%Hour). Note that whenever a &%TimeZone is not specified, the &%TimePosition is understood to be with respect to Coordinated Universal Time.") (subclass Land GeographicArea) (documentation Land "A &%Land is the &%GeographicArea associated with a nation. For example, the &%Land of Australia is the &%Region making up the continent of Oceania.") (subclass Address GeographicArea) (documentation Address "A &%GeographicArea with definite boundaries and of relatively small size. This concept represents the state of 'being at an address'.") (subclass City GeographicArea) (documentation City "A &%GeographicArea of relatively small size, inhabited by people, and exhibiting a distinctive sort of political structure.") (subclass Water CompoundSubstance) (documentation Water "The &%Class of samples of the compound H20. Note that this &%Class covers both pure and impure &%Water.") (subclass Mineral Mixture) (documentation Mineral " Any of various naturally occurring homogeneous substances (such as stone, coal, salt, sulfur, sand, petroleum), or synthetic substances having the chemical composition and crystalline form and properties of a naturally occurring mineral.") (instance developmentalForm BinaryPredicate) (instance developmentalForm AsymmetricRelation) (instance developmentalForm TransitiveRelation) (domain developmentalForm 1 (UnionFn Organism AnatomicalStructure)) (domain developmentalForm 2 DevelopmentalProperty) (documentation developmentalForm "(&%developmentalForm ?OBJECT ?FORM) means that ?FORM is an earlier stage in the individual maturation of ?OBJECT. For example, tadpole and caterpillar are &%developmentalForms of frogs and butterflies, respectively.") (subclass Organism CorpuscularObject) (subclass Organism Agent) (documentation Organism "Generally, a living individual, including all &%Plants and &%Animals.") (=> (instance ?ORGANISM Organism) (exists (?TIME1 ?TIME2) (and (birthTime ?ORGANISM ?TIME1) (deathTime ?ORGANISM ?TIME2)))) (instance inhabits BinaryPredicate) (instance inhabits AsymmetricRelation) (domain inhabits 1 Organism) (domain inhabits 2 Object) (documentation inhabits "A very basic notion of living within something else. (&%inhabits ?ORGANISM ?OBJECT) means that ?OBJECT is the residence, nest, home, etc. of ?ORGANISM.") (instance parent BinaryPredicate) (subrelation parent familyRelation) (instance parent AsymmetricRelation) (instance parent IntransitiveRelation) (domain parent 1 Organism) (domain parent 2 Organism) (documentation parent "The general relationship of parenthood. (&%parent ?PARENT ?CHILD) means that ?PARENT is a biological parent of ?CHILD.") (=> (parent ?PARENT ?CHILD) (before (BeginFn (WhenFn ?PARENT)) (BeginFn (WhenFn ?CHILD)))) (=> (and (parent ?PARENT ?CHILD) (subclass ?CLASS Organism) (instance ?PARENT ?CLASS)) (instance ?CHILD ?CLASS)) (=> (parent ?PARENT ?CHILD) (or (mother ?PARENT ?CHILD) (father ?PARENT ?CHILD))) (subrelation mother parent) (domain mother 1 Animal) (singleValued mother 1) (documentation mother "The general relationship of motherhood. (&%mother ?MOTHER ?CHILD) means that ?MOTHER is the biological mother of ?CHILD.") (=> (mother ?MOTHER ?CHILD) (attribute ?MOTHER Female)) (subrelation father parent) (domain father 1 Animal) (singleValued father 1) (documentation father "The general relationship of fatherhood. (&%father ?FATHER ?CHILD) means that ?FATHER is the biological father of ?CHILD.") (=> (father ?FATHER ?CHILD) (attribute ?FATHER Male)) (instance sibling BinaryPredicate) (subrelation sibling familyRelation) (instance sibling SymmetricRelation) (instance sibling TransitiveRelation) (instance sibling IrreflexiveRelation) (domain sibling 1 Animal) (domain sibling 2 Animal) (documentation sibling "The relationship between two &%Animals that have the same &%parents.") (<=> (sibling ?ANIMAL1 ?ANIMAL2) (exists (?FATHER ?MOTHER) (and (father ?FATHER ?ANIMAL1) (father ?FATHER ?ANIMAL2) (mother ?MOTHER ?ANIMAL1) (mother ?MOTHER ?ANIMAL2)))) ;; The following formulas incorporate the content in the Natural-Kinds ;; ontology developed by ITBM-CNR. This content is essentially a set of ;; high-level biological categories. (subclass Plant Organism) (disjoint Plant Animal) (documentation Plant "An &%Organism having cellulose cell walls, growing by synthesis of &%Substances, generally distinguished by the presence of chlorophyll, and lacking the power of locomotion.") (subclass Animal Organism) (documentation Animal "An &%Organism with eukaryotic &%Cells, and lacking stiff cell walls, plastids, and photosynthetic pigments.") (subclass Microorganism Organism) (documentation Microorganism "An &%Organism that can be seen only with the aid of a microscope.") (subclass Bacterium Microorganism) (documentation Bacterium "A small, typically one-celled, prokaryotic &%Microorganism.") (=> (instance ?BACTERIUM Bacterium) (exists (?CELL1) (and (component ?CELL1 ?BACTERIUM) (instance ?CELL1 Cell) (forall (?CELL2) (=> (and (component ?CELL2 ?BACTERIUM) (instance ?CELL2 Cell)) (equal ?CELL1 ?CELL2)))))) (=> (and (instance ?BACTERIUM Bacterium) (inhabits ?BACTERIUM ?OBJ)) (instance ?OBJ Organism)) (subclass Virus Microorganism) (documentation Virus "An &%Organism consisting of a core of a single nucleic acid enclosed in a protective coat of protein. A virus may replicate only inside a host living cell. A virus exhibits some but not all of the usual characteristics of living things.") (=> (instance ?VIRUS Virus) (exists (?MOL1) (and (component ?MOL1 ?VIRUS) (instance ?MOL1 Molecule) (forall (?MOL2) (=> (and (component ?MOL2 ?VIRUS) (instance ?MOL2 Molecule)) (equal ?MOL1 ?MOL2)))))) (=> (and (instance ?VIRUS Virus) (inhabits ?VIRUS ?OBJ)) (instance ?OBJ Organism)) (=> (and (instance ?VIRUS Virus) (instance ?PROC Replication) (agent ?PROC ?VIRUS)) (exists (?CELL) (and (located ?PROC ?CELL) (instance ?CELL Cell)))) (subclass Vertebrate Animal) (documentation Vertebrate "An &%Animal which has a spinal column.") (subclass Invertebrate Animal) (disjoint Invertebrate Vertebrate) (disjointDecomposition Invertebrate Worm Mollusk Arthropod) (documentation Invertebrate "An &%Animal which has no spinal column.") (subclass Worm Invertebrate) (documentation Worm "Long, narrow, soft-bodied &%Invertebrates.") (subclass Mollusk Invertebrate) (documentation Mollusk "Soft-bodied &%Invertebrate that is usually contained in a shell. Includes oysters, clams, mussels, snails, slugs, octopi, and squid.") (subclass Arthropod Invertebrate) (disjointDecomposition Arthropod Arachnid Myriapod Insect Crustacean) (documentation Arthropod "A &%Class of &%Invertebrate that includes &%Arachnids and &%Insects.") (subclass Arachnid Arthropod) (documentation Arachnid "A &%Class of &%Arthropods that includes ticks and spiders.") (subclass Myriapod Arthropod) (documentation Myriapod "A &%Class of &%Arthropods that includes centipedes and millipedes.") (subclass Insect Arthropod) (documentation Insect "A &%Class of small &%Arthropods that are air-breathing and that are distinguished by appearance.") (subclass Crustacean Arthropod) (documentation Crustacean "A &%Class of &%Arthropods that mainly dwells in water and has a segmented body and a chitinous exoskeleton. Includes lobsters, crabs, shrimp, and barnacles.") (subclass ColdBloodedVertebrate Vertebrate) (disjointDecomposition ColdBloodedVertebrate Amphibian Fish Reptile) (documentation ColdBloodedVertebrate "&%Vertebrates whose body temperature is not internally regulated.") (subclass WarmBloodedVertebrate Vertebrate) (disjoint WarmBloodedVertebrate ColdBloodedVertebrate) (documentation WarmBloodedVertebrate "&%Vertebrates whose body temperature is internally regulated.") (subclass Alga Plant) (documentation Alga "A chiefly aquatic plant that contains chlorophyll, but does not form embryos during development and lacks vascular tissue.") (=> (instance ?ALGA Alga) (exists (?WATER) (and (inhabits ?ALGA ?WATER) (instance ?WATER Water)))) (subclass Amphibian ColdBloodedVertebrate) (documentation Amphibian "A cold-blooded, smooth-skinned &%Vertebrate which characteristically hatches as an aquatic larva, breathing by gills. When mature, the &%Amphibian breathes with &%Lungs.") (subclass Bird WarmBloodedVertebrate) (disjoint Bird Mammal) (documentation Bird "A &%Vertebrate having a constant body temperature and characterized by the presence of feathers.") (subclass Fish ColdBloodedVertebrate) (documentation Fish "A cold-blooded aquatic &%Vertebrate characterized by fins and breathing by gills. Included here are &%Fish having either a bony skeleton, such as a perch, or a cartilaginous skeleton, such as a shark. Also included are those &%Fish lacking a jaw, such as a lamprey or hagfish.") (=> (instance ?FISH Fish) (exists (?WATER) (and (inhabits ?FISH ?WATER) (instance ?WATER Water)))) (subclass Fungus Plant) (documentation Fungus "A eukaryotic &%Organism characterized by the absence of chlorophyll and the presence of rigid cell walls. Included here are both slime molds and true fungi such as yeasts, molds, mildews, and mushrooms.") (=> (and (instance ?FUNGUS Fungus) (inhabits ?FUNGUS ?OBJ)) (instance ?OBJ Organism)) (subclass Mammal WarmBloodedVertebrate) (disjointDecomposition Mammal AquaticMammal HoofedMammal Marsupial Rodent Primate) (documentation Mammal "A &%Vertebrate having a constant body temperature and characterized by the presence of hair, mammary glands, and sweat glands.") (subclass AquaticMammal Mammal) (documentation AquaticMammal "The &%Class of &%Mammals that dwell chiefly in the water. Includes whales, dolphins, manatees, seals, and walruses.") (subclass HoofedMammal Mammal) (documentation HoofedMammal "The &%Class of &%Mammals with hooves. Includes horses, cows, sheep, pigs, antelope, etc.") (subclass Marsupial Mammal) (documentation Marsupial "The &%Class of &%Mammals which have a pouch for their young.") (subclass Carnivore Mammal) (documentation Carnivore "The &%Class of flesh-eating &%Mammals. Members of this &%Class typically have four or five claws on each paw. Includes cats, dogs, bears, racoons, and skunks.") (subclass Canine Carnivore) (disjoint Canine Feline) (documentation Canine "The &%Class of &%Carnivores with completely separable toes, nonretractable claws, and long muzzles.") (subclass Feline Carnivore) (documentation Feline "The &%Class of &%Carnivores with completely separable toes, nonretractable claws, slim bodies, and rounded heads.") (subclass Rodent Mammal) (documentation Rodent "The &%Class of &%Mammals with one or two pairs of incisors for gnawing. Includes rats, mice, guinea pigs, and rabbits.") (subclass Primate Mammal) (disjointDecomposition Primate Ape Monkey Hominid) (documentation Primate "The &%Class of &%Mammals which are &%Primates.") (subclass Ape Primate) (documentation Ape "Various &%Primates with no tails or only short tails.") (subclass Monkey Primate) (documentation Monkey "Various &%Primates with relatively long tails.") (subclass Hominid Primate) (documentation Hominid "Includes &%Humans and relatively recent ancestors of &%Humans.") (subclass Human Hominid) (subclass Human CognitiveAgent) (documentation Human "Modern man, the only remaining species of the Homo genus.") (subclass Reptile ColdBloodedVertebrate) (documentation Reptile "A &%ColdBloodedVertebrate having an external covering of scales or horny plates. &%Reptiles breathe by means of &%Lungs and generally lay eggs.") ;; The following formulas cover biologically related &%Classes under ;; &%Substance. (subclass BiologicallyActiveSubstance Substance) (documentation BiologicallyActiveSubstance "A &%Substance that is capable of inducing a change in the structure or functioning of an &%Organism. This &%Class includes &%Substances used in the treatment, diagnosis, prevention or analysis of normal and abnormal body function. This &%Class also includes &%Substances that occur naturally in the body and are administered therapeutically. Finally, &%BiologicallyActiveSubstance includes &%Nutrients, most drugs of abuse, and agents that require special handling because of their toxicity.") (subclass Nutrient BiologicallyActiveSubstance) (documentation Nutrient "A &%BiologicallyActiveSubstance produced or required by an &%Organism, of primary interest because of its role in the biologic functioning of the &%Organism.") (subclass Protein Nutrient) (documentation Protein "A Nutrient made up of amino acids joined by peptide bonds.") (subclass Enzyme Protein) (documentation Enzyme "A complex &%Protein that is produced by living cells and which catalyzes specific biochemical reactions. There are six main types of enzymes: oxidoreductases, transferases, hydrolases, lyases, isomerases, and ligases.") (subclass Vitamin Nutrient) (documentation Vitamin "A &%BiologicallyActiveSubstance present in natural products or made synthetically, which is essential in the diet of &%Humans and other higher &%Animals. Included here are &%Vitamin precursors and provitamins.") (subclass Metal PureSubstance) (documentation Metal "A &%Metal is a &%PureSubstance that conducts heat and electricity, is shiny and reflects many colors of light, and can be hammered into sheets or drawn into wire. About 80% of the known chemical elements (&%ElementalSubstances) are metals.") (subclass BodySubstance Mixture) (documentation BodySubstance "Extracellular material and mixtures of cells and extracellular material that are produced, excreted or accreted by an &%Organism. Included here are &%Substances such as saliva, dental enamel, sweat, and gastric acid.") (subclass Hormone BodySubstance) (documentation Hormone "In &%Animals, a chemical secreted by an endocrine gland whose products are released into the circulating fluid. &%Plant hormones or synthetic hormones which are used only to alter or control various physiologic processes, e.g., reproductive control agents, are assigned to the &%Class &%BiologicallyActiveSubstance. &%Hormones act as chemical messengers and regulate various physiologic processes such as growth, reproduction, metabolism, etc. They usually fall into two broad categories, viz. steroid hormones and peptide hormones.") (subclass Blood BodySubstance) (documentation Blood "A fluid present in &%Animals that transports &%Nutrients to and waste products away from various &%BodyParts.") (subclass ToxicOrganism Organism) (documentation ToxicOrganism "The &%Class of &%Organisms which are poisonous to other &%Organisms.") (=> (instance ?ORGANISM ToxicOrganism) (exists (?SUBSTANCE) (and (instance ?SUBSTANCE BiologicallyActiveSubstance) (part ?SUBSTANCE ?ORGANISM)))) (subclass Food Object) (documentation Food "Any &%Object containing &%Nutrients, such as carbohydrates, proteins, and fats, that can be ingested by a living &%Organism and metabolized into energy and body tissue.") (=> (instance ?FOOD Food) (exists (?NUTRIENT) (and (instance ?NUTRIENT Nutrient) (part ?NUTRIENT ?FOOD)))) (=> (instance ?FOOD Food) (forall (?PART1) (=> (part ?PART1 ?FOOD) (exists (?PART2 ?ORGANISM) (and (part ?PART1 ?PART2) (part ?PART2 ?ORGANISM) (instance ?ORGANISM Organism)))))) (subclass AnatomicalStructure CorpuscularObject) (disjoint AnatomicalStructure Organism) (documentation AnatomicalStructure "A normal or pathological part of the anatomy or structural organization of an &%Organism.") (=> (instance ?ANAT AnatomicalStructure) (exists (?ORGANISM) (and (instance ?ORGANISM Organism) (part ?ANAT ?ORGANISM)))) (subclass Egg AnatomicalStructure) (documentation "Reproductive structure of &%Animals. Consists of an &%Embryonic &%Object and a nutritive/protective envelope.") (subclass BodyPart AnatomicalStructure) (documentation BodyPart "A collection of &%Cells and &%Tissues which are localized to a specific area. The instances of this &%Class range from gross structures to small components of complex &%Organs.") (=> (instance ?PART BodyPart) (exists (?CELL) (and (instance ?CELL Cell) (part ?CELL ?PART)))) (subclass BodyCovering BodyPart) (documentation BodyCovering "Any &%BodyPart which is a covering of another &%BodyPart or of an entire &%Organism.") (=> (instance ?COVER BodyCovering) (exists (?BODY) (and (superficialPart ?COVER ?BODY) (or (instance ?BODY Organism) (instance ?BODY BodyPart))))) (subclass BodyJunction BodyPart) (documentation BodyJunction "The place where two &%BodyParts meet or connect.") (=> (instance ?JUNCT BodyJunction) (exists (?STRUCT) (and (instance ?STRUCT BodyPart) (component ?JUNCT ?STRUCT)))) (=> (instance ?JUNCT BodyJunction) (exists (?STRUCT1 ?STRUCT2) (and (connected ?JUNCT ?STRUCT1) (connected ?JUNCT ?STRUCT2) (instance ?STRUCT1 BodyPart) (instance ?STRUCT2 BodyPart) (not (equal ?STRUCT1 ?STRUCT2))))) (subclass BodyVessel BodyPart) (documentation BodyVessel "Any tube-like structure which occurs naturally in an &%Organism and through which a &%BodySubstance can circulate.") (subclass Cell BodyPart) (documentation Cell "The fundamental structural and functional unit of living &%Organisms.") (subclass Organ BodyPart) (documentation Organ "A somewhat independent &%BodyPart that performs a specialized function.") (=> (instance ?ORGAN Organ) (exists (?PURP) (hasPurpose ?ORGAN ?PURP))) (subclass Gland Organ) (documentation Gland "An &%Organ that removes &%Substances from the &%Blood, alters them in some way, and then releases them.") (subclass Fruit Organ) (documentation Fruit "A ripe &%Plant &%Organ that produces seeds for reproduction.") (=> (instance ?FRUIT Fruit) (exists (?PLANT) (and (component ?FRUIT ?PLANT) (instance ?PLANT Plant)))) (subclass Tissue BodySubstance) (documentation Tissue "An aggregation of similarly specialized &%Cells and the associated intercellular substance. &%Tissues are relatively non-localized in comparison to &%BodyParts, &%Organs or &%Organ components. The main features of &%Tissues are self-connectivity (see &%SelfConnectedObject) and being a homogeneous mass (all parts in the same granularity are instances of &%Tissue as well).") (=> (instance ?STUFF Tissue) (exists (?PART) (and (instance ?PART Cell) (part ?PART ?STUFF)))) (=> (instance ?STUFF Tissue) (exists (?ORGANISM) (and (instance ?ORGANISM Organism) (part ?STUFF ?ORGANISM)))) (subclass Bone Tissue) (documentation Bone "Rigid &%Tissue composed largely of calcium that makes up the skeleton of &%Vertebrates. Note that this &%Class also includes teeth.") (=> (instance ?BONE Bone) (exists (?VERT) (and (instance ?VERT Vertebrate) (part ?BONE ?VERT)))) (subclass Muscle Tissue) (disjoint Muscle Bone) (documentation Muscle "Nonrigid &%Tissue appearing only in &%Animals and composed largely of contractile cells.") (subclass Noun Word) (partition Word Noun Verb Adjective Adverb Particle) (documentation Noun "One of the parts of speech. The &%Class of &%Words that conventionally denote &%Objects.") (subclass Verb Word) (documentation Verb "One of the parts of speech. The &%Class of &%Words that conventionally denote &%Processes.") (subclass Adjective Word) (documentation Adjective "One of the parts of speech. The &%Class of &%Words that conventionally denote &%Attributes of &%Objects.") (subclass Adverb Word) (documentation Adverb "One of the parts of speech. The &%Class of &%Words that conventionally denote &%Attributes of &%Processes.") (subclass Particle Word) (documentation Particle "An umbrella &%Class for any &%Word that does not fit into the other subclasses of &%Word. A &%Particle is generally a small term that serves a grammatical or logical function, e.g. 'and', 'of', 'since', etc. At some point, this class might be broken up into the subclasses 'Connective', 'Preposition', etc.") (subclass Morpheme LinguisticExpression) (documentation Morpheme "Part of a &%Word which cannot be subdivided and which expresses a meaning.") (=> (instance ?MORPH Morpheme) (not (exists (?OTHERMORPH) (and (instance ?OTHERMORPH Morpheme) (part ?OTHERMORPH ?MORPH) (not (equal ?OTHERMORPH ?MORPH)))))) (=> (instance ?MORPH Morpheme) (exists (?WORD) (and (instance ?WORD Word) (part ?MORPH ?WORD)))) (=> (instance ?WORD Word) (exists (?PART) (and (part ?PART ?WORD) (instance ?PART Morpheme)))) (subclass Phrase LinguisticExpression) (disjointDecomposition Phrase VerbPhrase NounPhrase PrepositionalPhrase Clause) (documentation Phrase "A set of &%Words in a &%Language which form a unit, i.e. express a meaning in the &%Language.") (=> (instance ?PHRASE Phrase) (exists (?PART1 ?PART2) (and (part ?PART1 ?PHRASE) (part ?PART2 ?PHRASE) (instance ?PART1 Word) (instance ?PART2 Word) (not (equal ?PART1 ?PART2))))) (subclass VerbPhrase Phrase) (documentation VerbPhrase "A &%Phrase that has the same function as a &%Verb.") (subclass NounPhrase Phrase) (disjoint NounPhrase VerbPhrase) (documentation NounPhrase "A &%Phrase that has the same function as a &%Noun.") (=> (instance ?SENTENCE Sentence) (exists (?PHRASE1 ?PHRASE2) (and (instance ?PHRASE1 NounPhrase) (instance ?PHRASE2 VerbPhrase) (part ?PHRASE1 ?SENTENCE) (part ?PHRASE2 ?SENTENCE)))) (subclass PrepositionalPhrase Phrase) (documentation PrepositionalPhrase "A &%Phrase that begins with a preposition and that functions as an &%Adjective or an &%Adverb.") (subclass Text LinguisticExpression) (subclass Text Artifact) (documentation Text "A &%Phrase, &%Sentence or set of &%Sentences that perform a specific function related to &%Communication, e.g. express a discourse about a particular topic.") (=> (instance ?TEXT Text) (exists (?PART1 ?PART2) (and (part ?PART1 ?TEXT) (part ?PART2 ?TEXT) (instance ?PART1 Sentence) (instance ?PART2 Sentence) (not (equal ?PART1 ?PART2))))) (instance authors BinaryPredicate) (instance authors AsymmetricRelation) (domain authors 1 Agent) (domainSubclass authors 2 Text) (documentation authors "(&%authors ?AGENT ?TEXT) means that ?AGENT is creatively responsible for ?TEXT. For example, Agatha Christie is author of Murder_on_the_Orient_Express.") (=> (authors ?AGENT ?TEXT) (exists (?PROCESS ?INSTANCE) (and (agent ?PROCESS ?AGENT) (instance ?INSTANCE ?TEXT) (result ?PROCESS ?TEXT)))) (instance editor BinaryPredicate) (instance editor AsymmetricRelation) (domain editor 1 Agent) (domainSubclass editor 2 Text) (documentation editor "(&%editor ?AGENT ?TEXT) means that ?AGENT is an editor of ?TEXT.") (instance publishes BinaryPredicate) (instance publishes AsymmetricRelation) (domain publishes 1 Organization) (domainSubclass publishes 2 Text) (documentation publishes "(&%publishes ?ORG ?TEXT) means that ?ORG publishes ?TEXT. For example, Bantam Books publishes Agatha Christie's Murder_on_the_Orient_Express.") (<=> (publishes ?ORG ?TEXT) (exists (?PUB) (and (instance ?PUB Publication) (agent ?PUB ?ORG) (patient ?PUB ?TEXT)))) (instance EditionFn BinaryFunction) (domainSubclass EditionFn 1 ContentBearingObject) (domain EditionFn 2 PositiveInteger) (rangeSubclass EditionFn ContentBearingObject) (documentation EditionFn "A &%BinaryFunction that maps a type of text (e.g. Agatha Christie's Murder_on_the_Orient_Express) and a number to the edition of the text type corresponding to the number.") (=> (and (equal (EditionFn ?TEXT ?INT1) ?EDITION1) (equal (EditionFn ?TEXT ?INT2) ?EDITION2) (greaterThan ?INT2 ?INT1) (instance ?PUB1 Publication) (instance ?PUB2 Publication) (patient ?PUB1 ?EDITION1) (patient ?PUB2 ?EDITION2) (date ?PUB1 ?DATE1) (date ?PUB2 ?DATE2)) (before (EndFn ?DATE1) (EndFn ?DATE2))) (=> (equal (EditionFn ?TEXT1 ?NUMBER) ?TEXT2) (subsumesContentClass ?TEXT1 ?TEXT2)) (instance SeriesVolumeFn BinaryFunction) (domainSubclass SeriesVolumeFn 1 Series) (domain SeriesVolumeFn 2 PositiveInteger) (rangeSubclass SeriesVolumeFn Text) (documentation SeriesVolumeFn "A &%BinaryFunction that maps a type of &%Series (e.g. the Encyclopedia_Britannica or the Popular_Mechanics periodical) and a number to the volumes of the text type designated by the number.") (=> (and (subclass ?TEXT Periodical) (equal (SeriesVolumeFn ?TEXT ?INT1) ?VOLUME1) (equal (SeriesVolumeFn ?TEXT ?INT2) ?VOLUME2) (greaterThan ?INT2 ?INT1) (instance ?PUB1 Publication) (instance ?PUB2 Publication) (patient ?PUB1 ?VOLUME1) (patient ?PUB2 ?VOLUME2) (date ?PUB1 ?DATE1) (date ?PUB2 ?DATE2)) (before (EndFn ?DATE1) (EndFn ?DATE2))) (=> (equal (SeriesVolumeFn ?SERIES ?NUMBER) ?VOLUME) (subsumesContentClass ?SERIES ?VOLUME)) (instance PeriodicalIssueFn BinaryFunction) (domainSubclass PeriodicalIssueFn 1 Periodical) (domain PeriodicalIssueFn 2 PositiveInteger) (rangeSubclass PeriodicalIssueFn Periodical) (documentation PeriodicalIssueFn "A &%BinaryFunction that maps a subclass of &%Periodical and a number to all of the issues of the &%Periodical corresponding to the number.") (=> (equal (PeriodicalIssueFn ?PERIODICAL ?NUMBER) ?ISSUE) (subsumesContentClass ?PERIODICAL ?ISSUE)) (subclass Book Text) (documentation Book "A &%Text that has pages and is bound.") (subclass Summary Text) (documentation Summary "A short &%Text that is a summary of another, longer &%Text.") (=> (instance ?TEXT Summary) (exists (?TEXT2) (and (instance ?TEXT2 Text) (subsumesContentInstance ?TEXT2 ?TEXT)))) (subclass Series ContentBearingObject) (documentation Series "A &%ContentBearingObject consisting of multiple self-contained units. Some examples are an encyclopedia containing a couple dozen volumes, a television series made up of many dozens of episodes, a film serial, etc.") (=> (instance ?SERIES Series) (exists (?BOOK1 ?BOOK2) (and (instance ?BOOK1 Book) (instance ?BOOK2 Book) (subsumesContentInstance ?SERIES ?BOOK1) (subsumesContentInstance ?SERIES ?BOOK2) (not (equal ?BOOK1 ?BOOK2))))) (subclass Periodical Series) (documentation Periodical "A &%Series whose elements are published separately and on a periodic basis.") (subclass Article Text) (documentation Article "An article in a &%Book or &%Series.") (=> (instance ?ARTICLE Article) (exists (?BOOK) (and (instance ?BOOK Book) (subsumesContentInstance ?BOOK ?ARTICLE)))) (subclass Certificate Text) (documentation Certificate "A &%Text that confers a right or obligation on the holder of the &%Certificate. Note that the right or obligation need not be a legal one, as in the case of an academic diploma that grants certain privileges in the professional world.") (=> (and (instance ?DOC Certificate) (possesses ?AGENT ?DOC)) (exists (?PROC) (or (confersRight ?PROC ?DOC ?AGENT) (confersObligation ?PROC ?DOC ?AGENT)))) (subclass Patent Certificate) (documentation Patent "A &%Certificate that expresses the content of an invention that has been accorded legal protection by a governemental entity.") (subclass SubmolecularObject CorpuscularObject) (documentation SubmolecularObject "The &%Class of &%CorpuscularObjects that compose &%Molecules.") (=> (instance ?SUBMOLE SubmolecularObject) (exists (?MOLE) (and (instance ?MOLE Molecule) (part ?SUBMOLE ?MOLE)))) (subclass Molecule CompoundSubstance) (documentation Molecule "A molecule is the smallest unit of matter of a &%CompoundSubstance that retains all the physical and chemical properties of that substance, e.g., Ne, H2, H2O. A molecule is two or more &%Atoms linked by a chemical bond.") (=> (instance ?MOLE Molecule) (exists (?ATOM1 ?ATOM2) (and (instance ?ATOM1 Atom) (instance ?ATOM2 Atom) (part ?ATOM1 ?MOLE) (part ?ATOM2 ?MOLE) (not (equal ?ATOM1 ?ATOM2))))) (subclass Atom SubmolecularObject) (documentation Atom "An extremely small unit of matter that retains its identity in Chemical reactions. It consists of an &%AtomicNucleus and &%Electrons surrounding the &%AtomicNucleus.") (=> (instance ?ATOM Atom) (exists (?PROTON ?ELECTRON) (and (component ?PROTON ?ATOM) (component ?ELECTRON ?ATOM) (instance ?PROTON Proton) (instance ?ELECTRON Electron)))) (=> (instance ?ATOM Atom) (forall (?NUCLEUS1 ?NUCLEUS2) (=> (and (component ?NUCLEUS1 ?ATOM) (component ?NUCLEUS2 ?ATOM) (instance ?NUCLEUS1 AtomicNucleus) (instance ?NUCLEUS2 AtomicNucleus)) (equal ?NUCLEUS1 ?NUCLEUS2)))) (subclass SubatomicParticle SubmolecularObject) (documentation SubatomicParticle "The class of &%SubmolecularObjects that are smaller than &%Atoms and often compose &%Atoms.") (subclass AtomicNucleus SubatomicParticle) (documentation AtomicNucleus "The core of the &%Atom. It is composed of &%Protons and &%Neutrons.") (=> (instance ?NUCLEUS AtomicNucleus) (exists (?NEUTRON ?PROTON) (and (component ?NEUTRON ?NUCLEUS) (component ?PROTON ?NUCLEUS) (instance ?NEUTRON Neutron) (instance ?PROTON Proton)))) (subclass Electron SubatomicParticle) (documentation Electron "&%SubatomicParticles that surround the &%AtomicNucleus. They have a negative charge.") (subclass Proton SubatomicParticle) (documentation Proton "Components of the &%AtomicNucleus. They have a positive charge.") (subclass Neutron SubatomicParticle) (documentation Neutron "Components of the &%AtomicNucleus. They have no charge.") (subclass Artifact CorpuscularObject) (documentation Artifact "A &%CorpuscularObject that is the product of an &%IntentionalProcess.") (=> (instance ?ARTIFACT Artifact) (exists (?MAKING) (and (instance ?PROCESS Making) (result ?MAKING ?ARTIFACT)))) (subclass Product Artifact) (documentation Product "An &%Artifact that is produced by &%Manufacture and that is intended to be sold.") (=> (instance ?PRODUCT Product) (exists (?MANUFACTURE) (and (instance ?MANUFACTURE Manufacture) (result ?MANUFACTURE ?PRODUCT)))) (subclass Award Artifact) (documentation Award "An &%Artifact which is given to someone in honor of something that he/she has done.") (instance version BinaryPredicate) (instance version AsymmetricRelation) (instance version TransitiveRelation) (domainSubclass version 1 Artifact) (domainSubclass version 2 Artifact) (documentation version "Some &%Artifacts have a life cycle with discrete stages or versions. (&%version ARTIFACT1 ARTIFACT2) means that ARTIFACT1 is a version of ARTIFACT2. Note that this &%Predicate relates subclasses of &%Artifact and not instances.") (=> (version ?ARTIFACT1 ?ARTIFACT2) (subclass ?ARTIFACT1 ?ARTIFACT2)) ;; The following part of the ontology will eventually encompass all ;; artifacts. For the time being, it is mostly restricted to the content ;; of the Ontolingua ontology component-assemblies, which covers the types ;; of elements used to construct engineering systems. (subclass StationaryArtifact Artifact) (documentation StationaryArtifact "A &%StationaryArtifact is an &%Artifact that has a fixed spatial location. Most instances of this &%Class are architectural works, e.g. the Eiffel Tower, the Great Pyramids, office towers, single-family houses, etc.") (=> (instance ?ARTIFACT StationaryArtifact) (exists (?PLACE) (forall (?TIME) (=> (and (beforeOrEqual ?TIME (EndFn (WhenFn ?ARTIFACT))) (beforeOrEqual (BeginFn (WhenFn ?ARTIFACT)) ?TIME)) (equal (WhereFn ?ARTIFACT ?TIME) ?PLACE))))) (subclass Building StationaryArtifact) (documentation Building "The Class of &%StationaryArtifacts which are intended to house &%Humans and their activities.") (=> (instance ?BUILDING Building) (exists (?HUMAN) (and (instance ?HUMAN Human) (or (inhabits ?HUMAN ?BUILDING) (exists (?ACT) (and (agent ?ACT ?HUMAN) (located ?ACT ?BUILDING))))))) (subclass Room StationaryArtifact) (documentation Room "A &%component of a &%Building which has a specific purpose, e.g. sleeping, bathing, cooking, entertainment, etc.") (=> (instance ?ROOM Room) (exists (?BUILD) (and (instance ?BUILD Building) (component ?ROOM ?BUILD)))) (subclass ArtWork Artifact) (documentation ArtWork "&%Artifacts that are created primarily for aesthetic appreciation. Note that this &%Class does not include most examples of architecture, which belong under &%StationaryArtifact.") (subclass Fabric Artifact) (documentation Fabric "&%Artifacts that are created by weaving together natural or synthetic fibers. Note that this &%Class includes articles that are created by stitching together various types of fabrics, e.g. bedspreads. On the other hand, &%Clothing is not a &%subclass of &%Fabric, because many clothing items contain elements that are not fabrics.") (subclass Clothing Artifact) (documentation Clothing "&%Artifact made out of fabrics and/or other materials that are used to cover the bodies of &%Humans.") (subclass Device Artifact) (documentation Device "A &%Device is an &%Artifact whose purpose is to serve as an &%instrument in a specific type of task.") (=> (instance ?DEVICE Device) (exists (?PROC) (and (instance ?PROC Process) (instrument ?PROC ?DEVICE)))) (subclass MusicalInstrument Device) (documentation MusicalInstrument "A &%Device which is manipulated by a &%Human and whose purpose is to produce &%Music.") (=> (instance ?INSTRUMENT MusicalInstrument) (hasPurpose ?INSTRUMENT (exists (?MUSIC) (and (instance ?MUSIC Music) (instrument ?MUSIC ?INSTRUMENT))))) (subclass TransportationDevice Device) (documentation TransportationDevice "A &%TransportationDevice is a &%Device which serves as an &%instrument in &%Transportation &%Processes.") (subclass Weapon Device) (documentation Weapon "The &%Class of &%Devices that are designed primarily to damage or destroy &%Humans/&%Animals or the places inhabited by &%Humans/&%Animals.") (=> (instance ?WEAPON Weapon) (hasPurpose ?WEAPON (exists (?DEST) (and (or (instance ?DEST Damaging) (instance ?DEST Destruction)) (forall (?PATIENT) (=> (patient ?DEST ?PATIENT) (or (instance ?PATIENT Animal) (exists (?ANIMAL) (and (instance ?ANIMAL Animal) (inhabits ?ANIMAL ?PATIENT)))))))))) (subclass Machine Device) (documentation Machine "&%Machines are &%Devices that that have a well-defined &%resource and &%result and that automatically convert the &%resource into the &%result.") (subclass EngineeringComponent Device) (documentation EngineeringComponent "A fundamental concept that applies in many engineering domains. An &%EngineeringComponent is an element of a &%Device that is a physically whole object, such as one might see listed as standard parts in a catalog. The main difference betweeen &%EngineeringComponents and arbitrary globs of matter is that &%EngineeringComponents are object-like in a modeling sense. Thus, an &%EngineeringComponent is not an arbtrary subregion, but a part of a system with a stable identity.") (=> (instance ?COMP EngineeringComponent) (exists (?DEVICE) (and (instance ?DEVICE Device) (component ?COMP ?DEVICE)))) (subrelation engineeringSubcomponent properPart) (domain engineeringSubcomponent 1 EngineeringComponent) (domain engineeringSubcomponent 2 EngineeringComponent) (documentation engineeringSubcomponent "(&%engineeringSubcomponent ?SUB ?SUPER) means that the &%EngineeringComponent ?SUB is structurally a &%properPart ?SUPER. This relation is an &%AsymmetricRelation, since two &%EngineeringComponents cannot be subcomponents of each other.") (instance connectedEngineeringComponents SymmetricRelation) (instance connectedEngineeringComponents IrreflexiveRelation) (subrelation connectedEngineeringComponents connected) (domain connectedEngineeringComponents 1 EngineeringComponent) (domain connectedEngineeringComponents 2 EngineeringComponent) (documentation connectedEngineeringComponents "This is the most general connection relation between &%EngineeringComponents. If (&%connectedEngineeringComponents ?COMP1 ?COMP2), then neither ?COMP1 nor ?COMP2 can be an &%engineeringSubcomponent of the other. The relation &%connectedEngineeringComponents is a &%SymmetricRelation; there is no information in the direction of connection between two components. It is also an &%IrreflexiveRelation; no &%EngineeringComponent bears this relation to itself. Note that this relation does not associate a name or type with the connection.") (=> (connectedEngineeringComponents ?COMP1 ?COMP2) (and (not (engineeringSubcomponent ?COMP1 ?COMP2)) (not (engineeringSubcomponent ?COMP2 ?COMP1)))) (=> (connectedEngineeringComponents ?COMP1 ?COMP2) (not (or (instance ?COMP1 EngineeringConnection) (instance ?COMP2 EngineeringConnection)))) (<=> (connectedEngineeringComponents ?COMP1 ?COMP2) (exists (?CONNECTION) (connectsEngineeringComponents ?CONNECTION ?COMP1 ?COMP2))) (subclass EngineeringConnection EngineeringComponent) (documentation EngineeringConnection "An &%EngineeringConnection is an &%EngineeringComponent that represents a connection relationship between two other &%EngineeringComponents. It is a reification of the &%Predicate &%connectedEngineeringComponents. That means that whenever this &%Predicate holds between two &%EngineeringComponents, there exists an &%EngineeringConnection. The practical reason for reifying a relationship is to be able to attach other information about it. For example, one might want to say that a particular connection is associated with some shared parameters, or that it is of a particular type. &%EngineeringConnections are &%EngineeringComponents and can therefore be an &%engineeringSubcomponent of other &%EngineeringComponents. However, to provide for modular regularity in component systems, &%EngineeringConnections cannot be connected. For each pair of &%EngineeringComponents related by &%connectedEngineeringComponents, there exists at least one &%EngineeringConnection. However, that object may not be unique, and the same &%EngineeringConnection may be associated with several pairs of &%EngineeringComponents.") (=> (instance ?CONNECTION EngineeringConnection) (exists (?COMP1 ?COMP2) (connectsEngineeringComponents ?CONNECTION ?COMP1 ?COMP2))) (subrelation connectsEngineeringComponents connects) (domain connectsEngineeringComponents 1 EngineeringConnection) (domain connectsEngineeringComponents 2 EngineeringComponent) (domain connectsEngineeringComponents 3 EngineeringComponent) (documentation connectsEngineeringComponents "&%connectsEngineeringComponents is a &%TernaryPredicate that maps from an &%EngineeringConnection to the &%EngineeringComponents it connects. Since &%EngineeringComponents cannot be connected to themselves and there cannot be an &%EngineeringConnection without a &%connectedEngineeringComponents &%Predicate, the second and third arguments of any &%connectsEngineeringComponents relationship will always be distinct for any given first argument.") (subclass PersonBySocialRole CognitiveAgent) (documentation PersonBySocialRole "The &%Class of all &%CognitiveAgents who are considered with respect to a social role that they have.") (=> (instance ?PERSON PersonBySocialRole) (exists (?ACT) (and (instance ?ACT OrganizationalProcess) (agent ?ACT ?PERSON)))) (subclass PersonByOccupationalRole PersonBySocialRole) (documentation PersonByOccupationalRole "The &%Class of all &%CognitiveAgents who are considered with respect to an occupational role that they have.") (=> (instance ?PERSON PersonByOccupationalRole) (exists (?ACT) (and (instance ?ACT OccupationalProcess) (agent ?ACT ?PERSON)))) (subclass UnemployedPerson PersonByOccupationalRole) (documentation UnemployedPerson "The &%Class of all &%CognitiveAgents who are unemployed.") (=> (instance ?PERSON UnemployedPerson) (not (exists (?ORG) (employs ?ORG ?PERSON)))) ;; This following part contains definitions and axioms relating to social ;; groups and the relations between them. (subclass Group Collection) (subclass Group Agent) (documentation Group "A &%Collection of &%Agents, e.g. a flock of sheep, a herd of goats, or the local Boy Scout troop.") (=> (and (instance ?GROUP Group) (member ?MEMB ?GROUP)) (instance ?MEMB Agent)) (subclass AgeGroup Group) (documentation AgeGroup "A &%Group whose &%members all have the same &%age.") (=> (instance ?GROUP AgeGroup) (forall (?MEMB1 ?MEMB2 ?AGE1 ?AGE2) (=> (and (member ?MEMB1 ?GROUP) (member ?MEMB2 ?GROUP) (age ?MEMB1 ?AGE1) (age ?MEMB2 ?AGE2)) (equal ?AGE1 ?AGE2)))) (subclass FamilyGroup Group) (documentation FamilyGroup "A &%Group whose &%members bear &%familyRelations to one another.") (=> (instance ?GROUP FamilyGroup) (forall (?MEMB1 ?MEMB2) (=> (and (member ?MEMB1 ?GROUP) (member ?MEMB2 ?GROUP)) (familyRelation ?MEMB1 ?MEMB2)))) (instance familyRelation BinaryPredicate) (instance familyRelation EquivalenceRelation) (domain familyRelation 1 Organism) (domain familyRelation 2 Organism) (documentation familyRelation "A very general &%Predicate for biological relationships. (&%familyRelation ?ORGANISM1 ?ORGANISM2) means that ?ORGANISM1 and ?ORGANISM2 are biologically derived from a common ancestor.") (=> (familyRelation ?ORGANISM1 ?ORGANISM2) (exists (?ORGANISM3) (and (familyRelation ?ORGANISM3 ?ORGANISM1) (familyRelation ?ORGANISM3 ?ORGANISM2)))) (subclass EthnicGroup Group) (documentation EthnicGroup "A &%Group whose &%members originate from the same &%Region or share the same &%Language and/or cultural practices.") (subclass OrganizationUnit CognitiveAgent) (documentation OrganizationUnit "An organization or a divisions or department within an organization. For example, the Shell Corporation, the accounting department at Shell, etc. would all be instances of &%OrganizationUnit. The continued existence of an &%OrganizationUnit is not dependent on any of its members, locations, or facilities. Note that, unlike &%Organization, an &%OrganizationUnit may have no members.") (subclass Organization Group) (documentation Organization "An &%Organization is a corporate or similar institution, distinguished from other &%Agents. The &%members of an &%Organization typically have a common purpose or function. Note that parts of &%Organizations should not be included here, unless they are &%subOrganizations of an &%Organization.") (instance OrganizationFn UnaryFunction) (domain OrganizationFn 1 OrganizationUnit) (range OrganizationFn Organization) (documentation OrganizationFn "A &%UnaryFunction that maps an &%OrganizationUnit, the notion of an organization which is independent of its members, locations, and facilities, to the corresponding &%Organization, i.e. the &%Group of &%Humans who are &%members of the &%Organization. Note that this is a partial function, since there are many cases of organizations which are legal entities but which lack any members.") (=> (and (equal (OrganizationFn ?UNIT) ?ORG) (instance ?ATTR NormativeAttribute)) (<=> (attribute ?UNIT ?ATTR) (attribute ?ORG ?ATTR))) (instance employs BinaryPredicate) (domain employs 1 Organization) (domain employs 2 CognitiveAgent) (documentation employs "(&%employs ?ORG ?PERSON) means that ?ORG has hired ?PERSON and currently retains ?PERSON, on a salaried or contractual basis, to provide services in exchange for monetary compensation.") (=> (employs ?ORG ?PERSON) (member ?PERSON ?ORG)) (subclass Corporation Organization) (documentation Corporation "An &%Organization that provides products and/or services for a fee with the aim of making a profit.") (subclass Government Organization) (documentation Government "The ruling body of a &%Nation or one of the &%subOrganizations of a &%Nation.") (subclass EducationalOrganization Organization) (documentation EducationalOrganization "A &%EducationalOrganization is an institution of learning. Some examples are public and private K-12 schools, and colleges and universities.") (subclass ReligiousOrganization Organization) (documentation ReligiousOrganization "An &%Organization whose members share a set of religious beliefs.") (=> (instance ?ORG ReligiousOrganization) (exists (?PROP) (forall (?PERSON) (=> (member ?PERSON ?ORG) (believes ?PERSON ?PROP))))) (subrelation subOrganizations subCollection) (domain subOrganizations 1 Organization) (domain subOrganizations 2 Organization) (documentation subOrganizations "(&%subOrganizations ?ORG1 ?ORG2) means that ?ORG1 is an &%Organization which is a proper part of the &%Organization ?ORG2.") (subclass Position CognitiveAgent) (relatedInternalConcept Position occupiesPosition) (documentation Position "A formal position of reponsibility within an &%Organization. Examples of &%Positions include president, laboratory director, senior researcher, sales representative, etc.") (instance occupiesPosition TernaryPredicate) (domain occupiesPosition 1 Human) (domain occupiesPosition 2 Position) (domain occupiesPosition 3 Organization) (documentation occupiesPosition "(&%occupiesPosition ?PERSON ?POSITION ?ORG) means that ?PERSON holds the &%Position ?POSITION at &%Organization ?ORG. For example, (&%occupiesPosition &%TomSmith &%ResearchDirector &%AcmeLaboratory) means that &%TomSmith is a research director at Acme Labs.") (=> (occupiesPosition ?PERSON ?POSITION ?ORG) (employs ?ORG ?PERSON)) (instance citizen BinaryPredicate) (instance citizen AsymmetricRelation) (domain citizen 1 Human) (domain citizen 2 Nation) (documentation citizen "(&%citizen ?PERSON ?NATION) means that the &%Human ?PERSON is a citizen of &%Nation ?NATION.") ;; END FILE ;; BEGIN FILE ;;;;;;;;;;;;;;;;;;; ;; QUALITIES ;; ;;;;;;;;;;;;;;;;;;; ;; INCLUDES 'MEREOTOPOLOGY' ;; INCLUDES 'PROCESSES' ;; INCLUDES 'OBJECTS' (subclass FieldOfStudy Proposition) (documentation FieldOfStudy "An academic or applied discipline with recognized experts and with a core of accepted theory or practice. Note that &%FieldOfStudy is a &%subclass of &%Proposition, because a &%FieldOfStudy is understood to be a body of abstract, informational content, with varying degrees of certainty attached to each element of this content.") (subclass Procedure Proposition) (documentation Procedure "A sequence-dependent specification. Some examples are &%ComputerPrograms, finite-state machines, cooking recipes, musical scores, conference schedules, driving directions, and the scripts of plays and movies.") (subclass ComputerProgram Procedure) (documentation ComputerProgram "A set of instructions in a computer programming language that can be executed by a computer.") (subclass Plan Procedure) (documentation Plan "A specification of a sequence of &%Processes which is intended to satisfy a specified purpose at some future time.") (=> (and (instance ?PLAN Plan) (instance ?OBJ ContentBearingObject) (containsInformation ?OBJ ?PLAN)) (exists (?PLANNING) (and (instance ?PLANNING Planning) (result ?PLANNING ?OBJ)))) (=> (instance ?PLAN Plan) (exists (?PURP) (hasPurpose ?PLAN ?PURP))) (instance orientation SpatialRelation) (instance orientation TernaryPredicate) (domain orientation 1 Object) (domain orientation 2 Object) (domain orientation 3 PositionalAttribute) (documentation orientation "A general &%Predicate for indicating how two &%Objects are oriented with respect to one another. For example, (orientation ?OBJ1 ?OBJ2 North) means that ?OBJ1 is north of ?OBJ2, and (orientation ?OBJ1 ?OBJ2 Vertical) means that ?OBJ1 is positioned vertically with respect to ?OBJ2.") (<=> (between ?OBJ1 ?OBJ2 ?OBJ3) (and (orientation ?OBJ2 ?OBJ1 Left) (orientation ?OBJ1 ?OBJ3 Left))) (instance direction CaseRole) (domain direction 1 Process) (domain direction 2 DirectionalAttribute) (documentation direction "(&%direction ?PROC ?ATTR) means that the &%Process ?PROC is moving in the direction ?ATTR. For example, one would use this &%Predicate to represent the fact that Max is moving &%North.") (=> (holdsDuring ?TIME (direction ?PROC ?ATTR1)) (forall (?ATTR2) (=> (holdsDuring ?TIME (direction ?PROC ?ATTR2)) (equal ?ATTR2 ?ATTR1)))) (subclass PositionalAttribute Attribute) (documentation PositionalAttribute "&%Attributes characterizing the orientation of an &%Object, e.g. &%Vertical versus &%Horizontal, &%Left versus &%Right etc.") (subclass DirectionalAttribute PositionalAttribute) (documentation DirectionalAttribute "The subclass of &%PositionalAttributes that concern compass directions.") (=> (and (orientation ?OBJ1 ?OBJ2 ?ATTR1) (instance ?ATTR1 DirectionalAttribute) (instance ?ATTR2 DirectionalAttribute) (not (equal ?ATTR1 ?ATTR2))) (not (orientation ?OBJ1 ?OBJ2 ?ATTR2))) (instance North DirectionalAttribute) (documentation North "The compass direction of &%North.") (instance South DirectionalAttribute) (documentation South "The compass direction of &%South.") (instance East DirectionalAttribute) (documentation East "The compass direction of &%East.") (instance West DirectionalAttribute) (documentation West "The compass direction of &%West.") (instance Vertical PositionalAttribute) (documentation Vertical "Attribute used to indicate that an &%Object is positioned height-wise with respect to another &%Object.") (instance Horizontal PositionalAttribute) (contraryProperty Horizontal Vertical) (documentation Horizontal "Attribute used to indicate that an &%Object is positioned width-wise with respect to another &%Object.") (instance Above PositionalAttribute) (documentation Above "This is a &%PositionalAttribute derived from the up/down schema and not involving contact. Note that this means directly above, i.e., if one object is &%Above another object, then the projections of the two objects overlap.") (<=> (orientation ?OBJ1 ?OBJ2 Above) (not (orientation ?OBJ1 ?OBJ2 Below))) (=> (orientation ?OBJ1 ?OBJ2 Above) (not (connected ?OBJ1 ?OBJ2))) (instance Below PositionalAttribute) (documentation Below "This &%PositionalAttribute is derived from the up/down schema and may or may not involve contact. Note that this means directly below, i.e., if one object is &%Below another object, then the projections of the two objects overlap.") (=> (orientation ?OBJ1 ?OBJ2 Below) (or (orientation ?OBJ2 ?OBJ1 On) (orientation ?OBJ2 ?OBJ1 Above))) (instance Adjacent PositionalAttribute) (documentation Adjacent "Used to assert that an object ?OBJ1 is close to, near or abutting ?OBJ2. This &%PositionalAttribute covers the following common sense notions: adjoins, abuts, is contiguous to, is juxtaposed, and is close to.") (=> (orientation ?OBJ1 ?OBJ2 Adjacent) (or (orientation ?OBJ1 ?OBJ2 Near) (connected ?OBJ1 ?OBJ2))) (instance Front PositionalAttribute) (documentation Front "This &%PositionalAttribute is derived from the front/back schema. Note that this means directly in front of, so that, if one object is in front of another, then the projections of the two objects overlap.") (instance Behind PositionalAttribute) (documentation Behind "This &%PositionalAttribute is derived from the front/back schema. Note that this means directly behind, so that, if one object is behind another, then the projections of the two objects overlap.") (<=> (orientation ?OBJ1 ?OBJ2 Front) (not (orientation ?OBJ1 ?OBJ2 Behind))) (instance Left PositionalAttribute) (documentation Left "This &%PositionalAttribute is derived from the left/right schema. Note that this means directly to the left, so that, if one object is to the left of another, then the projections of the two objects overlap.") (instance Right PositionalAttribute) (documentation Right "This &%PositionalAttribute is derived from the left/right schema. Note that this means directly to the right, so that, if one object is to the right of another, then the projections of the two objects overlap.") (<=> (orientation ?OBJ1 ?OBJ2 Right) (not (orientation ?OBJ1 ?OBJ2 Left))) (instance Near PositionalAttribute) (documentation Near "The relation of common sense adjacency. Note that, if an object is &%Near another object, then the objects are not &%connected.") (=> (orientation ?OBJ1 ?OBJ2 Near) (not (connected ?OBJ1 ?OBJ2))) (instance On PositionalAttribute) (documentation on "This is used to assert that an object is on top of another object, and it is derived from the up/down schema and involves contact.") (=> (orientation ?OBJ1 ?OBJ2 On) (connected ?OBJ1 ?OBJ2)) (subclass PhysicalState Attribute) (documentation PhysicalState "The physical state of an &%Object. There are three instances of this &%Class: &%Solid, &%Liquid, and &%Gas. Physical changes are not characterized by the transformation of one substance into another, but rather by the change of the form (physical states) of a given substance. The bending of a piece of copper wire fails to change the copper into another substance; crushing a block of ice leaves only crushed ice; melting an iron nail yields a substance still called iron: these are all accepted as physical changes.") (instance Solid PhysicalState) (documentation Solid "An &%Object has the &%Attribute of &%Solid if it has a fixed shape and a fixed volume.") (instance Liquid PhysicalState) (documentation Liquid "An &%Object has the &%Attribute of &%Liquid if it has a fixed volume but not a fixed shape.") (=> (instance ?X Solution) (attribute ?X Liquid)) (instance Gas PhysicalState) (documentation Gas "An &%Object has the &%Attribute of &%Gas if it has neither a fixed volume nor a fixed shape.") (=> (and (instance ?STATE PhysicalState) (part ?PART ?OBJ) (holdsDuring ?TIME (attribute ?OBJ ?STATE))) (not (exists (?OTHERSTATE) (and (instance ?OTHERSTATE PhysicalState) (holdsDuring ?TIME (attribute ?PART ?OTHERSTATE)) (not (equal ?STATE ?OTHERSTATE)))))) (subclass TasteProperty Attribute) (documentation TasteProperty "The &%Class of &%Attributes relating to the taste of &%Objects.") (=> (instance ?OBJ Food) (exists (?ATTR) (and (instance ?ATTR TasteProperty) (attribute ?OBJ ?ATTR)))) (instance Sweet TasteProperty) (contraryProperty Sweet Bitter) (documentation Sweet "The &%Attribute of &%Objects that are sweet-tasting.") (instance Bitter TasteProperty) (documentation Bitter "The &%Attribute of &%Objects that are bitter-tasting.") (subclass OlfactoryProperty Attribute) (documentation OlfactoryProperty "The &%Class of properties that are detectable by smell.") (subclass VisualProperty Attribute) (documentation VisualProperty "The &%Class of visually discernible properties.") (subclass ColorProperty VisualProperty) (documentation ColorProperty "The &%Class of &%VisualProperties relating to the color of &%Objects.") (subclass PrimaryColor ColorProperty) (documentation PrimaryColor "Colors which can be blended to form any color and which cannot be derived from any other colors.") (instance Red PrimaryColor) (contraryProperty Red Blue) (contraryProperty Red Yellow) (documentation Red "The &%Attribute of redness.") (instance Blue PrimaryColor) (contraryProperty Blue Yellow) (documentation Blue "The &%Attribute of being blue in color.") (instance Yellow PrimaryColor) (documentation Yellow "The &%Attribute of being yellow in color.") (instance Monochromatic ColorProperty) (documentation Monochromatic "An &%Object with this &%Attribute has the same color on every part of its surface.") (=> (and (attribute ?OBJ Monochromatic) (superficialPart ?PART ?OBJ) (attribute ?PART ?COLOR) (instance ?COLOR PrimaryColor)) (forall (?ELEMENT) (=> (superficialPart ?ELEMENT ?OBJ) (attribute ?ELEMENT ?COLOR)))) (instance Polychromatic ColorProperty) (contraryProperty Polychromatic Monochromatic) (documentation Polychromatic "An &%Object with this &%Attribute has different colors on different parts of its surface.") (=> (attribute ?OBJ Polychromatic) (exists (?PART1 ?PART2 ?COLOR1 ?COLOR2) (and (superficialPart ?PART1 ?OBJ) (superficialPart ?PART2 ?OBJ) (attribute ?PART1 ?COLOR1) (attribute ?PART2 ?COLOR2) (instance ?COLOR1 ColorProperty) (instance ?COLOR2 ColorProperty) (not (equal ?COLOR1 ?COLOR2))))) (subclass ShapeProperty Attribute) (documentation ShapeProperty "Any &%Attribute that characterizes the shape of an &%Object.") (instance Pliable ShapeProperty) (documentation Pliable "The shape of an &%Object with this &%Attribute can be altered.") (=> (and (instance ?PROC ShapeAlteration) (patient ?PROC ?OBJ)) (attribute ?OBJ Pliable)) (instance Rigid ShapeProperty) (contraryProperty Rigid Pliable) (documentation Rigid "The shape of an &%Object with this &%Attribute cannot be easily altered.") (subclass TextureProperty Attribute) (documentation TextureProperty "Any &%Attribute that characterizes the texture of an &%Object.") (=> (and (instance ?ATTRIBUTE TextureProperty) (attribute ?OBJ ?ATTRIBUTE) (surface ?SURFACE ?OBJ)) (attribute ?SURFACE ?ATTRIBUTE)) (instance Smooth TextureProperty) (documentation Smooth "An &%Object with this &%Attribute has a smooth surface.") (instance Rough TextureProperty) (contraryProperty Smooth Rough) (documentation Rough "An &%Object with this &%Attribute has a rough surface.") (subclass SoundProperty Attribute) (documentation SoundProperty "Any &%Attribute that characterizes the sound made by an &%Object.") (subclass SaturationProperty Attribute) (documentation SaturationProperty "A &%Class of &%Attributes that specify, in qualitative terms, the amount of &%Water in a particular &%Object.") (instance Dry SaturationProperty) (contraryProperty Dry Damp) (documentation Dry "An &%Attribute which indicates that the associated &%Object contains a relatively small amount of &%Water.") (instance Anhydrous SaturationProperty) (subAttribute Anhydrous Dry) (documentation Anhydrous "An &%Attribute which indicates that the associated &%Object does not contain any &%Water.") (=> (attribute ?OBJ Anhydrous) (not (exists (?WATER) (and (instance ?WATER Water) (part ?WATER ?OBJ))))) (instance Damp SaturationProperty) (documentation Damp "An &%Attribute which indicates that the associated &%Object contains a relatively large amount of &%Water.") (instance Wet SaturationProperty) (subAttribute Wet Damp) (documentation Wet "An &%Attribute which indicates that the associated &%Object is fully saturated with &%Water.") (=> (attribute ?OBJ Wet) (forall (?PART) (=> (part ?PART ?OBJ) (exists (?WATER) (and (instance ?WATER Water) (or (overlapsSpatially ?WATER ?PART) (meetsSpatially ?WATER ?PART))))))) (subclass BreakabilityProperty Attribute) (documentation BreakabilityProperty "A &%subclass of &%Attributes for characterizing the breakability of &%CorpuscularObjects.") (instance Fragile BreakabilityProperty) (documentation Fragile "An &%Attribute which indicates that the associated &%Object is very breakable.") (instance Unbreakable BreakabilityProperty) (contraryProperty Unbreakable Fragile) (documentation Unbreakable "An &%Attribute which indicates that the associated &%Object cannot be broken under ordinary circumstances.") (subclass BiologicalProperty Attribute) (documentation BiologicalProperty "&%Attributes that apply specifically to instances of &%Organism or &%parts of an &%Organism.") (=> (and (attribute ?ORG ?ATT) (instance ?ATT BiologicalProperty)) (instance ?ORG Organism)) (subclass AnimacyProperty BiologicalProperty) (documentation AnimacyProperty "&%Attributes that indicate whether an &%Organism is alive or not.") (instance Living AnimacyProperty) (documentation Living "This &%Attribute applies to &%Organisms that are alive.") (=> (and (instance ?ORGANISM Organism) (agent ?PROCESS ?ORGANISM)) (holdsDuring (WhenFn ?PROCESS) (attribute ?ORGANISM Living))) (instance birthTime BinaryPredicate) (instance birthTime AsymmetricRelation) (domain birthTime 1 Organism) (domain birthTime 2 TimePosition) (subrelation birthTime time) (documentation birthTime "A &%BinaryPredicate that specifies, at any level of resolution, the &%TimePosition at which a particular &%Organism was born.") (=> (birthTime ?ORGANISM ?TIME) (holdsDuring (ImmediateFutureFn ?TIME) (attribute ?ORGANISM Living))) (=> (birthTime ?ORGANISM ?TIME) (holdsDuring ?TIME (exists (?BIRTH) (and (instance ?BIRTH Birth) (experiencer ?BIRTH ?ORGANISM))))) (instance Dead AnimacyProperty) (contraryProperty Dead Living) (documentation Dead "This &%Attribute applies to &%Organisms that are not alive.") (instance deathTime BinaryPredicate) (instance deathTime AsymmetricRelation) (domain deathTime 1 Organism) (domain deathTime 2 TimePosition) (subrelation deathTime time) (documentation deathTime "A &%BinaryPredicate that specifies, at any level of resolution, the &%TimePosition at which a particular &%Organism died.") (=> (deathTime ?ORGANISM ?TIME) (holdsDuring (FutureFn ?TIME) (attribute ?ORGANISM Dead))) (=> (deathTime ?ORGANISM ?TIME) (holdsDuring ?TIME (exists (?DEATH) (and (instance ?DEATH Death) (experiencer ?DEATH ?ORGANISM))))) (=> (and (birthTime ?ORGANISM ?TIME1) (deathTime ?ORGANISM ?TIME2) (instance ?TIME1 TimePoint) (instance ?TIME2 TimePoint)) (exists (?INTERVAL) (and (equal (BeginFn ?INTERVAL) ?TIME1) (equal (EndFn ?INTERVAL) ?TIME2) (holdsDuring ?INTERVAL (attribute ?ORGANISM Living))))) (=> (and (birthTime ?ORGANISM ?TIME1) (deathTime ?ORGANISM ?TIME2) (instance ?TIME1 TimeInterval) (instance ?TIME2 TimeInterval)) (exists (?INTERVAL) (and (starts ?TIME1 ?INTERVAL) (finishes ?TIME2 ?INTERVAL) (holdsDuring ?INTERVAL (attribute ?ORGANISM Living))))) (subclass SexProperty BiologicalProperty) (documentation SexProperty "&%Attributes that indicate the sex of an &%Organism.") (instance Female SexProperty) (documentation Female "An &%Attribute indicating that an &%Organism is female in nature.") (instance Male SexProperty) (contraryProperty Male Female) (documentation Male "An &%Attribute indicating that an &%Organism is male in nature.") (subclass DevelopmentalProperty BiologicalProperty) (documentation DevelopmentalProperty "&%Attributes that indicate the stage of development of an &%Organism.") (instance FullyFormed DevelopmentalProperty) (documentation FullyFormed "The stage of an &%Organism or an &%AnatomicalStructure when it has reached the end of its growth phase.") (instance NonFullyFormed DevelopmentalProperty) (contraryProperty NonFullyFormed FullyFormed) (successorAttribute NonFullyFormed FullyFormed) (documentation NonFullyFormed "The stage of an &%Animal before it is &%FullyFormed.") (instance Larval DevelopmentalProperty) (subAttribute Larval NonFullyFormed) (documentation Larval "Form of most &%Invertebrates, &%Amphibians, and &%Fish immediately after they hatch. This form is fundamentally unlike the adult form, and metamorphosis is required to reach the latter form.") (instance Embryonic DevelopmentalProperty) (subAttribute Embryonic NonFullyFormed) (successorAttribute Embryonic Fetal) (documentation Embryonic "The stage of an &%Organism or an &%AnatomicalStructure that exists only before the &%Organism is fully formed. &%Mammals, for example, have this &%Attribute only prior to their birth.") (instance Fetal DevelopmentalProperty) (subAttribute Fetal NonFullyFormed) (contraryProperty Fetal Embryonic) (documentation Fetal "A &%Vertebrate in the later stage of development before its birth has this &%Attribute, which indicates that the main features of the &%FullyFormed animal are recognizable.") (subclass PsychologicalProperty BiologicalProperty) (documentation PsychologicalProperty "&%Attributes that characterize the mental or behavioral life of an &%Organism (and perhaps other &%Agents).") (subclass EmotionalState PsychologicalProperty) (disjoint EmotionalState TraitProperty) (documentation EmotionalState "The &%Class of &%Attributes that denote emotional states of &%Organisms (and perhaps other &%Agents). Note that &%EmotionalState is distinguished from &%TraitProperty in part by the fact that instances of the former are relatively transient while instances of the latter are persistent features of a creature's behavioral/psychological make-up.") (subclass TraitProperty PsychologicalProperty) (documentation TraitProperty "&%Attributes that indicate the the behavior/personality traits of an &%Organism.") (instance Aggressive TraitProperty) (contraryProperty Aggressive Docile) (documentation Aggressive "The &%Attribute of having an aggressive disposition.") (instance Docile TraitProperty) (documentation Docile "The &%Attribute of having a docile disposition.") (subclass ConsciousnessProperty PsychologicalProperty) (documentation ConsciousnessProperty "&%Attributes that indicate whether an &%Organism is conscious.") (=> (instance ?PROPERTY ConsciousnessProperty) (=> (holdsDuring ?TIME (attribute ?ORGANISM ?PROPERTY)) (holdsDuring ?TIME (attribute ?ORGANISM Living)))) (subclass Asleep ConsciousnessProperty) (contraryProperty Asleep Unconscious) (contraryProperty Asleep Awake) (documentation Asleep "This &%Attribute applies to &%Organisms that are sleeping.") (subclass Unconscious ConsciousnessProperty) (contraryProperty Unconscious Awake) (documentation Unconscious "This &%Attribute applies to &%Organisms that are unconscious because of a non-natural process, e.g. a blow to the head, a drug, etc. Note that the &%Attribute &%Asleep is used to describe the &%ConsciousnessProperty of an &%Organism that is asleep.") (subclass Awake ConsciousnessProperty) (documentation Awake "This &%Attribute applies to &%Organisms that are neither &%Unconscious nor &%Asleep.") (subclass CompetitionProperty Attribute) (documentation CompetitionProperty "A &%Class containing all of the &%Attributes that are specific to participants in a &%Competition. Some of these &%Attributes are winning, losing, won, lost, struggling, etc.") (subclass NormativeProperty Attribute) (documentation NormativeProperty "A &%Class containing all of the &%Attributes that are specific to judgements about morality, legality, aesthetics, etiquette, etc. In general, these judgements express that something ought to be the case.") (instance modalProperty BinaryPredicate) (instance modalProperty AsymmetricRelation) (instance modalProperty IrreflexiveRelation) (subrelation modalProperty property) (domain modalProperty 1 Formula) (domain modalProperty 2 NormativeProperty) (documentation modalProperty "A &%BinaryRelation that is used to state the normative force of a &%Proposition. (&%modalProperty ?FORMULA ?PROP) means that the &%Proposition expressed by ?FORMULA has the &%NormativeProperty ?PROP. For example, (&%modalProperty (&%exists (?ACT ?OBJ) (&%and (&%instance ?ACT &%Giving) (&%agent ?ACT John) (&%patient ?ACT ?OBJ) (&%destination ?ACT Tom))) &%Obligation) means that John is obligated to give Tom something.") (=> (and (modalProperty ?FORMULA1 ?PROP) (entails ?FORMULA1 ?FORMULA2)) (modalProperty ?FORMULA2 ?PROP)) (subclass SubjectiveAssessmentProperty NormativeProperty) (documentation SubjectiveAssessmentProperty "The &%Class of &%NormativeProperties which lack an objective criterion for their attribution, i.e. the attribution of these &%Attributes varies from subject to subject and even with respect to the same subject over time. This &%Class is, generally speaking, only used when mapping external knowledge sources to the SUMO. If a term from such a knowledge source seems to lack objective criteria for its attribution, it is assigned to this &%Class.") (instance Obligation NormativeProperty) (documentation Obligation "&%Attribute that applies to &%Propositions that an &%Agent is required, by some authority, to make true.") (subAttribute Law Obligation) (documentation Law "&%Attribute that applies to &%Propositions that are required by a government or a branch of the government and that are enforced with penalties for noncompliance. These &%Propositions may be codified as legislation or they may be more informal, as in the case of government policy.") (instance Promise NormativeProperty) (documentation Promise "&%Attribute that applies to &%Propositions that an &%Agent promises to make true. &%Promises may be implicit or explicit. They may be expressed in a written or verbal or gestural manner.") (subAttribute Contract Promise) (documentation Contract "&%Attribute that applies to &%Propositions where something is promised in return, i.e. a reciprocal promise.") (subAttribute PurchaseContract Contract) (documentation PurchaseContract "A &%Contract between two &%Agents in which one &%Agent agrees to render the other some good or service in exchange for currency.") (subAttribute ServiceContract Contract) (documentation ServiceContract "A &%Contract where an &%Agent agrees to perform a service for another &%Agent (usually for a price).") (subAttribute Warranty ServiceContract) (documentation Warranty "A &%Contract that states the cirumstances under which defects in the product will be corrected for no charge. A &%Warranty is usually limited to a length of time that is specified in the &%Warranty itself. A &%Warranty also includes information about what is not covered and actions that invalidate the &%Warranty.") (subAttribute NakedPromise Promise) (contraryProperty NakedPromise Contract) (documentation NakedPromise "A &%Promise where nothing is promised in return, i.e. a nudum pactum.") ;; END FILE