;; This file is a perliminary merge of the SUO ontology sources. The basis for
;; the merge is 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). The definitions and
;; axioms of the other SUO sources have been aligned with this ontology. In
;; addition to Sowa's ontology, the merge incorporates Russell and Norvig's
;; ontology, 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, PSL (Process Specification Language), and a "Structural Ontology"
;; developed by David Whitten and submitted to the SUO Working Group.
;; This ontology uses a first-order modal language, i.e., a first-order language
;; with the sentence operators "nec" (for "necessarily") and "poss" (for
;; "possibly"). The ontology contains both primitive and defined constants.
;; BEGIN FILE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; STRUCTURAL ONTOLOGY ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; The Structural Ontology consists of definitions of certain syntactic
;; abbreviations that can be both heuristically useful and computationally
;; advantageous.
(instance-of instance-of AsymmetricRelation)
(nth-domain instance-of 1 Entity)
(nth-domain instance-of 2 Class)
(documentation instance-Of "An object is an instance-of a class if
it is a element of the set denoted by that class. Instance-of is
useful for defining the second-order relations and classes that are
about class/instance networks. 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-of about specificity or
uniqueness.")
(instance-of subclass-of PartialOrderingRelation)
(nth-domain subclass-of 1 Class)
(nth-domain subclass-of 2 Class)
(documentation subclass-of "Class C is a subclass of parent class P if and
only if every instance of C is also an instance of P. A class may
have multiple superclasses and subclasses. Subclass-of is transitive:
if (subclass-of C1 C2) and (subclass-of C2 C3) then (subclass-of C1 C3).")
(=>
(subclass-of ?subclass ?class)
(forall (?x)
(=>
(instance-of ?x ?subclass)
(instance-of ?x ?class))))
(instance-of subrelation-of PartialOrderingRelation)
(nth-domain subrelation-of 1 Relation)
(nth-domain subrelation-of 2 Relation)
(documentation subrelation-of "A relation R is a subrelation-of
relation R' if, viewed as sets, R is a subset of R'. In other words,
every tuple of R is also a tuple of R'. In some more words, 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 arity. In CycL, 'subrelation-of' is called #$genls.")
(=>
(subrelation-of ?predicate1 ?predicate2)
(exists (?X)
(and
(valence ?predicate1 ?X)
(valence ?predicate2 ?X))))
(instance-of nth-domain TernaryRelation)
(nth-domain nth-domain 1 Relation)
(nth-domain nth-domain 2 PositiveInteger)
(nth-domain nth-domain 3 Class)
(documentation nth-domain "Provides a computationally and heuristically
convenient mechanism for declaring the intended types of the argument places
of a given relation. The formula (nth-domain rel 3 type-class) says that
the 3rd element of each tuple in the relation REL is an instance of type-class.
Specifying the types of argument places is very helpful in maintaining ontologies.
Representation systems can use these specifications to classify terms and check
integrity constraints. If the restriction on the range of the relation is not
captured by a named class, one can specify the constraint with a predicate
that defines the class implicitly. For example,
(kappa (?x) (and (instance-of ?x PrimeNumber) (lessThan ?x 100)))
denotes the class of prime numbers under 100.")
(instance-of nth-domain-subclass TernaryRelation)
(nth-domain nth-domain-subclass 1 Relation)
(nth-domain nth-domain-subclass 2 PositiveInteger)
(nth-domain nth-domain-subclass 3 Class)
(documentation nth-domain-subclass "Predicate used to specify selectional restrictions
of predicates. The formula (nth-domain-subclass rel 3 type-class) says that the 3rd
element of each tuple in the relation REL is a subclass of type-class.")
(instance-of range AsymmetricRelation)
(nth-domain range 1 Function)
(nth-domain-subclass range 2 Entity)
(documentation range "Gives the range of a function. In other words, (range FUNCTION CLASS) means that all of the values assigned by FUNCTION are elements of CLASS.")
(instance-of valence AsymmetricRelation)
(nth-domain valence 1 Relation)
(nth-domain valence 2 PositiveInteger)
(singleValued valence 2)
(documentation valence "Specifies the number of arguments that a
relation can take. If a relation can take an arbitrary number of
arguments, it does not have a valence and it is an instance of
'VariableArityRelation' or 'VariableArityFunction'. For example,
'holds' is a VariableArityRelation. The arity of a function is one
more than the number of arguments it can take, in keeping with the
unified treatment of functions and relations.")
(instance-of documentation AsymmetricRelation)
(nth-domain documentation 1 Entity)
(nth-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-of disjoint SymmetricRelation)
(instance-of disjoint TransitiveRelation)
(instance-of disjoint IrreflexiveRelation)
(nth-domain disjoint 1 Set)
(nth-domain disjoint 2 Set)
(documentation disjoint "Classes/Sets X and Y are disjoint iff they share no
instances.")
(=>
(disjoint ?class1 ?class2)
(forall (?X)
(not
(and
(instance-of ?X ?class1)
(instance-of ?X ?class2)))))
(instance-of exhaustiveDecomposition AsymmetricRelation)
(nth-domain exhaustiveDecomposition 1 Class)
(nth-domain exhaustiveDecomposition 2 Set)
(documentation exhaustiveDecomposition "An exhaustive decomposition 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.)")
(instance-of disjointDecomposition AsymmetricRelation)
(nth-domain disjointDecomposition 1 Class)
(nth-domain disjointDecomposition 2 Set)
(documentation Disjoint-Decomposition "A disjoint-decomposition of a class
C is a set of subclasses of C that are mutually disjoint. (Used to be called
Subclass-Partition).")
(subrelation-of partition exhaustiveDecomposition)
(subrelation-of 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 is an instance of exactly one of the subclasses
in the partition. (Used to be called Exhaustive-Subclass-Partition)")
(instance-of singleValued AsymmetricRelation)
(nth-domain singleValued 1 Predicate)
(nth-domain singleValued 2 Integer)
(documentation singleValued "(singleValued ) means
that the argument position of corresponding to is
single-valued, i.e. an assignment of values to the other argument
positions determines a unique value for the argument position corresponding
to .")
(=>
(and
(singleValued ?PRED 1)
(holds ?PRED ?A ?B)
(holds ?PRED ?C ?B))
(equal ?A ?C))
(=>
(and
(singleValued ?PRED 2)
(holds ?PRED ?B ?A)
(holds ?PRED ?B ?C))
(equal ?A ?C))
(=>
(and
(singleValued ?PRED 1)
(holds ?PRED ?A ?B ?C)
(holds ?PRED ?D ?B ?C))
(equal ?A ?D))
(=>
(and
(singleValued ?PRED 2)
(holds ?PRED ?A ?B ?D)
(holds ?PRED ?A ?C ?D))
(equal ?B ?C))
(=>
(and
(singleValued ?PRED 3)
(holds ?PRED ?A ?B ?C)
(holds ?PRED ?A ?B ?D))
(equal ?C ?D))
(instance-of relatedConcept EquivalenceRelation)
(nth-domain relatedConcept 1 Entity)
(nth-domain relatedConcept 2 Entity)
(documentation relatedConcept "Means that the two arguments are related concepts, i.e. there is a significant overlap of meaning between them.")
(instance-of subAttribute-of PartialOrderingRelation)
(nth-domain subAttribute-of 1 Attribute)
(nth-domain subAttribute-of 2 Attribute)
(documentation subAttribute-of "Means that the second argument can be ascribed to everything which has the first argument ascribed to it.")
(<=>
(subAttribute-of ?X ?Y)
(forall (?Z)
(=>
(attribute-of ?Z ?X)
(attribute-of ?Z ?Y))))
(instance-of successorAttribute AsymmetricRelation)
(nth-domain successorAttribute 1 Attribute)
(nth-domain successorAttribute 2 Attribute)
(documentation successorAttribute "(successorAttribute ATT1 ATT2) means that ATT2 is the attribute that comes immediately after ATT1 on the scale that they share.")
(instance-of all-successorAttribute TransitiveRelation)
(instance-of all-successorAttribute IrreflexiveRelation)
(nth-domain all-successorAttribute 1 Attribute)
(nth-domain all-successorAttribute 2 Attribute)
(relatedConcept all-successorAttribute successorAttribute)
(documentation all-successorAttribute "The transitive closure of successorAttribute. (all-successorAttribute ATT1 ATT2) means that there is a chain of successorAttribute assertions connecting ATT1 and ATT2.")
(instance-of KappaFn BinaryFunction)
(nth-domain KappaFn 1 Variable)
(nth-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,
(KappaFn ?x (and (instance-of ?x PrimeNumber) (lessThan ?x 100)))
denotes the class of prime numbers under 100.")
(instance-of SetFn BinaryFunction)
(nth-domain SetFn 1 Variable)
(nth-domain SetFn 2 Formula)
(range SetFn Set)
(documentation SetFn "A set-forming operator that takes two arguments:
a variable and a formula containing at least one unbound occurrence of the
variable. The result of applying SetFn to a variable and a formula is the
set of things that satisfy the formula. For example, we could define the
set of primary colors using SetFn, as follows:
(SetFn ?X (or (instance-of ?X Red)
(instance-of ?X Green)
(instance-of ?X Blue))).")
;; END FILE
;; BEGIN FILE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; ONTOLOGY PROPER ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;
;; GENERAL CLASSES ;;
;;;;;;;;;;;;;;;;;;;;;;;;;
;; 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 (?X) (instance-of ?X 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 (?X) (instance-of ?X Entity))
;; Several variations of the same essential axiom have been proposed. These
;; variations include "Everything is either a class or an entity" (John Sowa)
;; and "Everything is either an individual or a class" (Robert E. Kent). This
;; axiom has not been included here, because it seems very controversial. Where
;; are sets to be located, for example?
(=>
(instance-of ?x Entity)
(not
(and
(instance-of ?x Class)
(instance-of ?x Set))))
;; Only entities are instances of classes, and only classes have instances
;; (This is due to both John Sowa and Robert E. Kent).
(=>
(instance-of ?instance ?class)
(and
(instance-of ?instance Entity)
(instance-of ?class Class)))
;; Every class is a subclass of Entity.
(=>
(instance-of ?c Class)
(subclass-of ?c Entity))
(subclass-of Relation Entity)
(documentation Relation "An entity in a relationship to some other entity.")
(subclass-of Physical Entity)
(documentation Physical "An entity that has a location in space-time. Note that
points of space and time 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-of ?x Physical)
(exists (?y)
(and
(located-at ?x ?y)
(exists-at ?x ?z))))
(subclass-of Abstract Entity)
(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-of ?x Abstract)
(not
(exists (?y)
(or
(located-at ?x ?y)
(exists-at ?x ?y)))))
;; Abstract, Physical, and Relation are disjoint.
(disjoint Abstract Physical)
(disjoint Abstract Relation)
(disjoint Physical Relation)
(subclass-of Object Physical)
(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, things like corporations or nations, 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 4-d ontology, an Object is something whose spatiotemporal extent is thought of as dividing into spatial parts roughly parallel to the time-axis. (documentation due to Pat Hayes).")
(subclass-of 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 4-d ontology, a Process is something whose spatiotemporal extent is thought of as dividing into temporal stages roughly perpendicular to the time-axis. (documentation is due to Pat Hayes).")
;; An Object exists (and, hence, retains its identity) over time, i.e., an
;; an object that exists at every point over some interval of time.
(=>
(instance-of ?x Object)
(exists (?t1 ?t2)
(and
(instance-of ?t1 TimePoint)
(instance-of ?t2 TimePoint)
(before ?t1 ?t2)
(forall (?t)
(=>
(and
(beforeEq ?t1 ?t)
(beforeEq ?t ?t2))
(exists-at ?x ?t))))))
;; Object and Process are disjoint.
(disjoint Object Process)
;; Each temporal part of a Process exists at some timepoint.
(=>
(and
(instance-of ?x Process)
(subProcess ?y ?x))
(exists (?t)
(exists-at ?y ?t)))
;; Processes have temporal parts.
(=>
(instance-of ?x Process)
(exists (?y)
(subProcess ?y ?x)))
;; Objects have spatial parts.
(=>
(instance-of ?x Object)
(exists (?y)
(part-of ?y ?x)))
(subclass-of NaturalProcess Process)
(documentation NaturalProcess "A phenomenon or process that occurs irrespective
of the intentional activities of human beings or other animals.")
(subclass-of IntentionallyCausedProcess Process)
(documentation IntentionallyCausedProcess "A phenomenon or process that is a result of humans, other animals, software agents, and other entities or processes that can be regarded as having intentionality.")
(disjoint IntentionallyCausedProcess NaturalProcess)
(=>
(exists (?Y)
(and
(agent ?X ?Y)
(or
(instance-of ?Y Animal)
(instance-of ?Y Human))))
(instance-of ?X IntentionallyCausedProcess))
(subclass-of Activity IntentionallyCausedProcess)
(documentation Activity "The class of IntenionallyCausedProcesses that are typically carried out for an extended time and in some way are 'institutionalized' or at least customary or conventional.")
(subclass-of RecreationalActivity Activity)
(documentation RecreationalActivity "An activity that is carried out for the purpose of recreation.")
(subclass-of ExerciseActivity Activity)
(documentation ExerciseActivity "An activity that is carried out for the purpose of exercise.")
(subclass-of EducationalActivity Activity)
(documentation EducationalActivity "An activity related to the organization and provision of education.")
(subclass-of OccupationalActivity Activity)
(documentation OccupationalActivity "An activity carried out as part of an occupation or job.")
(=>
(instance-of ?X OccupationalActivity)
(exists (?Y)
(and
(conventionalWithin ?X ?Y)
(instance-of ?Y Occupation))))
(subclass-of OrganizationalActivity Activity)
(documentation OrganizationalActivity "An Activity that is carried out by an Organization.")
(=>
(instance-of ?X OrganizationalActivity)
(exists (?Y)
(and
(agent ?X ?Y)
(instance-of ?Y Organization))))
(subclass-of RegulatoryActivity OrganizationalActivity)
(documentation RegulatoryActivity "An activity carried out by officially constituted governments, or an activity related to the creation or enforcement of the rules or regulations governing some field of endeavor.")
(subclass-of Planning RegulatoryActivity)
(documentation Planning "Specifying a set of actions in order to meet a set of goals or objectives (from the CPR spec).")
(=>
(instance-of ?PLANNING Planning)
(exists (?PLAN)
(and
(instance-of ?PLAN Plan)
(result ?PLANNING PLAN))))
(subclass-of Motion IntentionallyCausedProcess)
(documentation Motion "Any action that involves movement between two distinct Physical points.")
(subclass-of Interaction IntentionallyCausedProcess)
(documentation Interaction "An action that involves two elements, viz. an 'agent' and a 'patient'.")
(subclass-of Transaction Interaction)
(documentation Transaction "An action that involves three elements, viz. an 'agent', a 'patient', and a 'destination' or 'source'.")
(subclass-of Communication Transaction)
(documentation Communication "A transaction that involves two agents, the sender and the receiver, and an instance of ContentBearingObject.")
(subclass-of FinancialTransaction Transaction)
(documentation Communication "A transaction that involves two agents and an instance of CurrencyMeasure.")
(subclass-of Buying FinancialTransaction)
(documentation Buying "A FinancialTransaction in which an instance of CurrencyMeasure is exchanged for an instance of Physical.")
(subclass-of Selling FinancialTransaction)
(documentation Selling "A FinancialTransaction in which an instance of Physical is exchanged for an instance of CurrencyMeasure.")
(<=>
(and
(instance-of ?BUY Buying)
(agent ?BUY ?AGENT1)
(source ?BUY ?AGENT2)
(patient ?BUY ?OBJECT))
(and
(instance-of ?SELL Selling)
(agent ?SELL ?AGENT2)
(destination ?SELL ?AGENT1)
(patient ?SELL ?OBJECT)))
(subclass-of Region Object)
(documentation Region "A region is the only object which can be located at
itself.")
(subclass-of 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-of Nation-Land GeographicArea)
(documentation Nation-Land "A topographic location. More precisely, a Nation-Land
is the GeographicArea associated with a nation. For example, the Nation-Land of
Australia is the Region making up the continent of Oceania.")
(subclass-of Address GeographicArea)
(documentation Address "A topographic location, generally having definite boundaries.
This concept is enough to represent the state of 'being at an address'.")
(subclass-of ContentBearingObject Object)
(documentation ContentBearingObject "Any Object that expresses information. It is important to distinguish content from the ContentBearingObjects that contain content. Content is an abstraction that may have multiple representations: strings, sounds, icons, etc. For example, the Object Cat is represented (implemented) 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-of ?OBJECT ContentBearingObject)
(exists (?THING)
(represents ?OBJECT ?THING)))
(subclass-of Icon ContentBearingObject)
(documentation Icon "This is the subclass of Expressions which are not part of a language and which have a significant similarity with the Objects that they represent. This would include symbolic roadway signs, 'icons' in a graphical OS, etc.")
(subclass-of LinguisticExpression ContentBearingObject)
(documentation Icon "This is the subclass of Expressions are not part of a language, whether an artificial one or a natural one.")
(subclass-of Word LinguisticExpression)
(documentation Word "A term that represents a concept.")
(=>
(instance-of ?WORD Word)
(forall (?PART)
(=>
(part-of ?PART ?WORD)
(instance-of ?PART Morpheme))))
(subclass-of SymbolicString LinguisticExpression)
(documentation SymbolicString "This class is for all linguistic expressions that are represented as strings.")
(subclass-of Noun Word)
(documentation Noun "One of the parts of speech. The class of words that conventionally denote Objects.")
(subclass-of Verb Word)
(documentation Verb "One of the parts of speech. The class of words that conventionally denote Processes.")
(subclass-of Adjective Word)
(documentation Adjective "One of the parts of speech. The class of words that conventionally denote Attributes of Objects.")
(subclass-of Adverb Word)
(documentation Adverb "One of the parts of speech. The class of words that conventionally denote Attributes of Processes.")
(subclass-of Particle Word)
(documentation Particle "An umbrella class for any Word that does not fit into the other subclasses of Word. These are generally small terms that serve a grammatical or logical function, e.g. 'and', 'of', 'since', etc. At some point, we can break up this class into the subclasses 'Connective', 'Preposition', etc.")
(subclass-of AlphabeticCharacter LinguisticExpression)
(documentation AlphabeticCharacter "An element of the alphabet of a language.")
(=>
(instance-of ?STRING SymbolicString)
(forall (?PART)
(=>
(part-of ?PART ?STRING)
(instance-of ?PART AlphabeticCharacter))))
(subclass-of Morpheme LinguisticExpression)
(documentation Morpheme "Part of a Word which cannot be subdivided and which expresses a meaning.")
(=>
(instance-of ?MORPH Morpheme)
(not
(exists (?OTHERMORPH)
(and
(instance-of ?OTHERMORPH Morpheme)
(part-of ?OTHERMORPH ?MORPH)))))
(=>
(instance-of ?MORPH Morpheme)
(exists (?WORD)
(and
(instance-of ?WORD Word)
(part-of ?MORPH ?WORD))))
(subclass-of Phrase LinguisticExpression)
(documentation Phrase "A set of Words in a language which form a unit.")
(=>
(instance-of ?PHRASE Phrase)
(forall (?PART)
(=>
(part-of ?PART ?PHRASE)
(instance-of ?PART Word))))
(subclass-of VerbPhrase Phrase)
(documentation VerbPhrase "A set of Words that function as a Verb.")
(subclass-of NounPhrase Phrase)
(documentation NounPhrase "A set of Words that function as a Noun.")
(disjoint NounPhrase VerbPhrase)
(subclass-of Sentence Phrase)
(documentation Sentence "A Phrase in a language that expresses a complete thought, i.e., a Proposition.")
(disjoint Sentence VerbPhrase)
(disjoint Sentence NounPhrase)
(=>
(instance-of ?SENTENCE Sentence)
(exists (?PROP)
(and
(instance-of ?PROP Proposition)
(represents ?SENTENCE ?PROP))))
(=>
(instance-of ?SENTENCE Sentence)
(exists (?PHRASE1 ?PHRASE2)
(and
(instance-of ?PHRASE1 NounPhrase)
(instance-of ?PHRASE2 VerbPhrase)
(part-of ?PHRASE1 ?SENTENCE)
(part-of ?PHRASE2 ?SENTENCE))))
(subclass-of Text LinguisticExpression)
(documentation Text "A set of Sentences that express a discourse on a subject of some sort.")
(=>
(instance-of ?TEXT Text)
(forall (?PART)
(=>
(part-of ?PART ?TEXT)
(instance-of ?PART Sentence))))
(subclass-of Book Text)
(documentation Text "A Text that has pages and is bound.")
(subclass-of ComputerProgram Text)
(documentation ComputerProgram "A set of instructions in a computer programming language that can be executed by a computer.")
(subclass-of Organic Object)
(documentation Organic "The class of Objects that are living things, i.e. instances of Organism, or parts of living things.")
(subclass-of Inorganic Object)
(documentation Inorganic "The class of objects that are neither living things, i.e. instances of Organism, nor parts of living things.")
(disjoint Inorganic Organic)
(equal Inorganic (ComplementFn Organic))
(subclass-of ContinuousObject Object)
(documentation ContinuousObject "A ContinuousObject is an object in which every part is similar to every other in every relevant respect. More precisely, something
is a ContinuousObject when it has only arbitrary pieces as parts; ie any parts have
similar properties. Note that a ContinuousObject 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 large body of water such as the ocean.")
(=>
(and
(subclass-of ?OBJECTTYPE ContinuousObject)
(instance-of ?OBJECT ?OBJECTTYPE)
(part-of ?PART ?OBJECT))
(instance-of ?PART ?OBJECTTYPE))
(subclass-of OrganicSubstance ContinuousObject)
(subclass-of OrganicSubstance Organic)
(documentation OrganicSubstance "The class of ContinuousObjects which are instances of Organic.")
(subclass-of InorganicSubstance ContinuousObject)
(subclass-of InorganicSubstance Inorganic)
(documentation InorganicSubstance "The class of ContinuousObjects which are instances of Inorganic.")
(subclass-of CorpuscularObject Object)
(documentation CorpuscularObject "An Object that has separable parts.")
(disjoint CorpuscularObject ContinuousObject)
(=>
(and
(subclass-of ?OBJECTTYPE CorpuscularObject)
(instance-of ?OBJECT ?OBJECTTYPE)
(part-of ?PART ?OBJECT))
(not
(instance-of ?PART ?OBJECTTYPE)))
(=>
(instance-of ?X CorpuscularObject)
(exists (?Y ?Z ?P ?Q)
(and
(subclass-of ?Y ContinuousObject)
(subclass-of ?Z ContinuousObject)
(instance-of ?P ?Y)
(instance-of ?Q ?Z)
(constituent-material-of ?Y ?X)
(constituent-material-of ?Z ?X)
(not (equal ?P ?Q)))))
(subclass-of Collection Object)
(documentation Collection "Collections have elements like Sets, but, unlike Sets, they have a position in space-time and elements can be added and subtracted without thereby changing the identity of the Collection. Some examples are kits, football teams, and flocks of sheep.")
(=>
(instance-of ?X Collection)
(exists (?Y)
(member ?Y ?X)))
(subclass-of OrganicObject CorpuscularObject)
(subclass-of OrganicObject Organic)
(documentation OrganicObject "A CorpuscularObject such as a tree or flower that
has parts that are not completely separable, even though there are discontinuities.")
(subclass-of Organism OrganicObject)
(subclass-of Organism Agent)
(documentation Organism "Generally, a living individual, including all Plants
and Animals.")
(=>
(instance-of ?ORGANISM Organism)
(exists (?TIME1 ?TIME2)
(and
(birthTime ?ORGANISM ?TIME1)
(deathTime ?ORGANISM ?TIME2))))
(subclass-of InorganicObject CorpuscularObject)
(subclass-of InorganicObject Inorganic)
(documentation InorganicObject "Instances of CorpuscularObject that are also instances of Inorganic.")
(subclass-of SubmolecularObject InorganicObject)
(documentation SubmolecularObject "The class of InorganicObjects that compose Molecules.")
(=>
(instance-of ?X SubmolecularObject)
(exists (?Y)
(and
(instance-of ?Y Molecule)
(part-of ?X ?Y))))
(subclass-of Molecule InorganicObject)
(documentation Molecule "A Molecule is a Collection of Atoms that are chemically bonded together.")
(=>
(instance-of ?X Molecule)
(exists (?Y ?Z)
(and
(instance-of ?Y Atom)
(instance-of ?Z Atom)
(part-of ?Y ?X)
(part-of ?Z ?X)
(not
(equal ?Y ?Z)))))
(subclass-of Atom SubmolecularObject)
(documentation Atom "An Atom is an extremely small unit of matter that retains its identity in Chemical reactions. It consists of an AtomicNucleus and Electrons surrounding the AtomicNucleus.")
(=>
(instance-of ?X Atom)
(exists (?P ?Q)
(and
(component-of ?P ?X)
(component-of ?Q ?X)
(instance-of ?P AtomicNucleus)
(instance-of ?P Electron))))
(subclass-of SubatomicParticle SubmolecularObject)
(documentation SubatomicParticle "The class of SubmolecularObjects that compose Atoms.")
(=>
(instance-of ?X SubatomicParticle)
(exists (?Y)
(and
(instance-of ?Y Atom)
(part-of ?X ?Y))))
(subclass-of AtomicNucleus SubatomicParticle)
(documentation AtomicNucleus "The core of the Atom. It is composed of Protons and Neutrons.")
(=>
(instance-of ?X AtomicNucleus)
(exists (?P ?Q)
(and
(component-of ?P ?X)
(component-of ?Q ?X)
(instance-of ?P Neutron)
(instance-of ?P Proton))))
(subclass-of Electron SubatomicParticle)
(documentation Electron "Electrons surround the AtomicNucleus, and they have a negative charge.")
(subclass-of Proton SubatomicParticle)
(documentation Proton "Protons are components of the AtomicNucleus, and they have a positive charge.")
(subclass-of Neutron SubatomicParticle)
(documentation Neutron "Neutrons are components of the AtomicNucleus, and they have no charge.")
(subclass-of Artifact InorganicObject)
(documentation Artifact "An object with separable parts that is manufactured by
Humans.")
(=>
(instance-of ?ARTIFACT Artifact)
(exists (?PROCESS ?HUMAN)
(and
(instance-of ?PROCESS Process)
(instance-of ?HUMAN Human)
(agent ?PROCESS ?HUMAN)
(result ?PROCESS ?ARTIFACT))))
;; 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-of Agent Object)
(documentation Agent "An agent is something or someone that can act on its
own and produce changes in the world.")
(<=>
(instance-of ?X Agent)
(exists (?Y)
(agent ?Y ?X)))
(subclass-of Nation Agent)
(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 Nation-Land.")
(=>
(instance-of ?NATION Nation)
(exists (?GOV)
(and
(instance-of ?GOV Government)
(subOrganizations ?GOV ?NATION))))
(subclass-of Set Abstract)
(documentation Set "A set is a collection of objects, both individuals and sets of
various sorts. It is a KIF primitive.")
(subclass-of FiniteSet Set)
(documentation FiniteSet "A Set containing a finite number of elements.")
(subclass-of Class Set)
(documentation Class "A class can be thought of as a Set that is associated with a property or conjunction of properties that specify the condition(s) for membership of individuals in the Set. An individual is any identifiable entity in the universe of discourse (anything that can be denoted by a object constant in KIF), including classes themselves. The fact that an object ?X is an instance of the Class ?CLASS is denoted by the formula (instance-of ?X ?CLASS). Note that this means that classes are defined intensionally. Hence, two different classes may have the same extension (in this case they are = to each other).")
(subclass-of Proposition Abstract)
(documentation Proposition "Propositions are Abstract objects mediated by some language (rule system - syntax and a lexicon). As an example, the formula '(instance-of Yojo Cat)' expresses a proposition that the entity named Yojo is an element of the class of Cats.")
(subclass-of Procedure Proposition)
(documentation Procedure "A sequence-dependent specification of Processes. Some examples are computer programs, finite-state machines, cooking recipes, musical scores, conference schedules, driving directions, and the scripts of plays and movies.")
(subclass-of Plan Procedure)
(documentation Plan "A sequence of Processes which is intended to satisfy a specified purpose.")
(=>
(instance-of ?PLAN Plan)
(exists (?PURP)
(hasPurpose ?PLAN ?PURP)))
(subclass-of Sentence ContentBearingObject)
(documentation Sentence "A syntactically well-formed formula of a natural or artificial language.")
(subclass-of KIF-Formula Sentence)
(documentation KIF-Formula "A syntactically well-formed formula according to the SUO-KIF spec.")
(subclass-of Quantity Abstract)
(documentation Quantity "Any specification of how many or how much of something there is. In the merged ontology, Quantity is subclassed into Number (how many) and PhysicalQuantity (how much).")
(subclass-of Attribute Abstract)
(documentation Attribute "This class contains all qualities which we cannot or choose not to reify into subclasses of Object.")
(subclass-of DirectionAttribute Attribute)
(documentation DirectionAttribute "This class contains all attributes characterizing the directional orientation of an Object, e.g. North, South, East, and West.")
(subclass-of PhysicalState Attribute)
(documentation PhysicalState "The physical state of an object. There are three instances of this class: Solid, Liquid, and Gas.")
(instance-of Solid PhysicalState)
(documentation Solid "An Object has the Attribute of Solid if it has a fixed shape and a fixed volume.")
(instance-of Liquid PhysicalState)
(documentation Liquid "An Object has the Attribute of Liquid if it has a fixed volume but not a fixed shape.")
(instance-of Gas PhysicalState)
(documentation Gas "An Object has the Attribute of Gas if it has neither a fixed volume nor a fixed shape.")
(subclass-of ColorProperty Attribute)
(documentation "The class of Attributes relating to the color of Objects.")
(subclass-of PrimaryColor ColorProperty)
(documentation "The class of colors which can be blended to form any color and which cannot be derived from any other colors.")
(instance-of Red PrimaryColor)
(documentation Red "The attribute of redness.")
(instance-of Blue PrimaryColor)
(documentation Blue "The attribute of being blue in color.")
(instance-of Yellow PrimaryColor)
(documentation Yellow "The attribute of being yellow in color.")
(instance-of Monochromatic ColorProperty)
(documentation Monochromatic "An Object with this Attribute has a single color on every part of its surface.")
(instance-of Polychromatic ColorProperty)
(documentation Polychromatic "An Object with this Attribute has different colors on different parts of its surface.")
(contraryProperty Polychromatic Monochromatic)
(subclass-of TemperatureProperty Attribute)
(documentation TemperatureProperty "This Class contains Attributes which characterize the temperatures of Objects in a qualitative manner. For quantitative measures of temperatures, see the Class ThermodynamicTemperatureMeasure.")
(instance-of Cold TemperatureProperty)
(documentation Cold "The Attribute of being cold.")
(instance-of Hot TemperatureProperty)
(documentation Hot "The Attribute of being hot.")
(contraryProperty Hot Cold)
(subclass-of ShapeProperty Attribute)
(documentation ShapeProperty "Any Attribute that characterizes the shape of an Object.")
(instance-of Elastic ShapeProperty)
(documentation Elastic "The shape of an Object with this Attribute can be easily altered.")
(instance-of Rigid ShapeProperty)
(documentation Rigid "The shape of an Object with this Attribute cannot be easily altered.")
(contraryProperty Rigid Elastic)
(subclass-of TextureProperty Attribute)
(documentation TextureProperty "Any Attribute that characterizes the texture of an Object.")
(instance-of Smooth TextureProperty)
(documentation Smooth "An Object with this Attribute has a smooth surface.")
(instance-of Rough TextureProperty)
(documentation Rough "An Object with this Attribute has a rough surface.")
(contraryProperty Smooth Rough)
(subclass-of BiologicalProperty Attribute)
(documentation BiologicalProperty "The Class of Attributes that apply specifically to instances of Organic.")
(instance-of Living BiologicalProperty)
(documentation Living "This Attribute applies to Organisms that are alive.")
(instance-of Dead BiologicalProperty)
(documentation Dead "This Attribute applies to Organisms that are not alive.")
(contraryProperty Dead Living)
(=>
(and
(attribute-of ?ORG ?ATT)
(instance-of ?ATT BiologicalProperty))
(instance-of ?ORG Organism))
(instance-of contraryProperty SymmetricRelation)
(instance-of contraryProperty TransitiveRelation)
(instance-of contraryProperty IrreflexiveRelation)
(nth-domain contraryProperty 1 Attribute)
(nth-domain contraryProperty 2 Attribute)
(documentation contraryProperty "Means that the two arguments are properties
that are opposed to one another, e.g. Cold verus Hot or Elastic versus Rigid.")
(=>
(and
(attribute-of ?X ?Y)
(contraryProperty ?Y ?Z))
(not
(attribute-of ?X ?Z)))
(instance-of AbstractionFn UnaryFunction)
(nth-domain AbstractionFn 1 Class)
(range AbstractionFn Attribute)
(documentation AbstractionFn "A unary function that maps a Class into the instance of Attribute that denotes the definitional properties associated with the Class. This function was suggested by some of Robert E. Kent's work.")
(instance-of ExtensionFn UnaryFunction)
(nth-domain ExtensionFn 1 Attribute)
(range ExtensionFn Class)
(documentation ExtensionFn "A unary function that maps an Attribute into the instance of Class whose definitional property is the Attribute. This function was suggested by some of Robert E. Kent's work.")
;; END FILE
;; BEGIN FILE
;;;;;;;;;;;;;;;;;;;;;;;;;
;; SET THEORY ;;
;;;;;;;;;;;;;;;;;;;;;;;;;
;; 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).
(instance-of subset PartialOrderingRelation)
(nth-domain subset 1 Set)
(nth-domain subset 2 Set)
(documentation subset "The formula (subset ?SET1 ?SET2) is true if
and only if ?SET1 and ?SET2 are sets and the objects in the set
denoted by ?SET1 are contained in the set denoted by ?SET2.")
(instance-of element AsymmetricRelation)
(nth-domain element 1 Entity)
(nth-domain element 2 Set)
(documentation element "The formula (element ?ENTITY ?SET) is true if and only if
the object denoted by ?ENTITY is contained in the set denoted by ?SET. An
object can be an element of another object only if the latter is a set.")
(=>
(forall (?X)
(<=>
(element ?X ?S1)
(element ?X ?S2)))
(equal ?S1 ?S2))
(instance-of UnionFn BinaryFunction)
(nth-domain UnionFn 1 Set)
(nth-domain UnionFn 2 Set)
(range UnionFn Set)
(documentation UnionFn "A function whose arguments are two sets and whose result
is the set-theoretic union of these sets, i.e. the set of all elements which are
elements of either the first or second set.")
(equal
(UnionFn ?S1 ?S2)
(SetFn ?X
(or
(element ?X ?S1)
(element ?X ?S2))))
(instance-of IntersectionFn BinaryFunction)
(nth-domain IntersectionFn 1 Set)
(nth-domain IntersectionFn 2 Set)
(range IntersectionFn Set)
(documentation IntersectionFn "A function whose arguments are two sets and whose
result is the set-theoretic intersection of these sets, i.e. the set of all
elements which are elements of both the first and the second sets.")
(equal
(IntersectionFn ?S1 ?S2)
(SetFn ?X
(and
(element ?X ?S1)
(element ?X ?S2))))
(instance-of DifferenceFn BinaryFunction)
(nth-domain DifferenceFn 1 Set)
(nth-domain DifferenceFn 2 Set)
(range DifferenceFn Set)
(documentation DifferenceFn "A function whose arguments are two sets and whose
result is the set-theoretic difference of these sets, i.e. the set of all
elements which are elements the first set and not of the second set.")
(equal
(DifferenceFn ?S1 ?S2)
(SetFn ?X
(and
(element ?X ?S1)
(not
(element ?X ?S2)))))
(instance-of ComplementFn UnaryFunction)
(nth-domain ComplementFn 1 Set)
(range ComplementFn Set)
(documentation ComplementFn "The complement of a given set S is the set of all
elements that are not elements of S.")
(equal
(ComplementFn ?S)
(SetFn ?X
(not (element ?X ?S))))
(instance-of GeneralizedUnionFn UnaryFunction)
(nth-domain-subclass GeneralizedUnionFn 1 Set)
(range GeneralizedUnionFn Set)
(documentation GeneralizedUnionFn "This function takes a set of sets as its single
argument and returns a set which is the merge of all of the sets in the original
set, i.e. the set containing just those elements which are elements of an element
of the original set.")
(equal
(GeneralizedUnionFn ?S)
(SetFn ?X
(exists (?Y)
(and
(element ?Y ?S)
(element ?X ?Y)))))
(instance-of GeneralizedIntersectionFn UnaryFunction)
(nth-domain-subclass GeneralizedIntersectionFn 1 Set)
(range GeneralizedIntersectionFn Set)
(documentation GeneralizedIntersectionFn "This function takes a set of sets as
its single argument and returns a set which contains just those elements which
are elements of all of the elements of the original set.")
(equal
(GeneralizedIntersectionFn ?S)
(SetFn ?X
(forall (?Y)
(=>
(element ?Y ?S)
(element ?X ?Y)))))
(instance-of EmptySet Set)
(documentation EmptySet "The set that contains no elements.")
(<=>
(equal ?X EmptySet)
(not
(exists (?Y)
(element ?Y ?X))))
(subclass-of PairwiseDisjointSet Set)
(documentation PairwiseDisjointSet "A set of sets is PairwiseDisjoint just in case
every element of the set is either equal to or disjoint from every other element
of the set.")
(=>
(instance-of ?X PairwiseDisjointSet)
(forall (?Y ?Z)
(=>
(and
(element ?Y ?X)
(element ?Z ?X))
(or
(equal ?Y ?Z)
(disjoint ?Y ?Z)))))
(subclass-of MutuallyDisjointSet Set)
(documentation MutuallyDisjointSet "A set of sets is a MutuallyDisjointSet
just in case there exists no element of an element of the original set which
is an element of all of the elements of the original set.")
(=>
(instance-of ?S MutuallyDisjoint)
(equal (GeneralizedIntersectionFn ?S) EmptySet))
(instance-of holds VariableArityRelation)
(nth-domain holds 1 Predicate)
(documentation holds "(holds P N1 ... NK) is true if and only if
the ordered set of objects denoted by N1,..., NK is a element of
the predicate P.")
;; END FILE
;; BEGIN FILE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; RELATION TYPES ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 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-of Predicate Relation)
(documentation Predicate "A predicate is a set of tuples that represents
a relationship among objects in the universe of discourse. Each tuple
is a finite, ordered sequence (i.e., list) of objects. A predicate is
also an object itself, namely, the set of tuples. A fact that a
particular tuple is an element of a predicate is denoted by
( arg_1 arg_2 .. arg_n), where the arg_i are the
objects in the tuple. In the case of binary relations, the fact can
be read as `arg_1 is arg_2' or `a of
arg_1 is arg_2'.")
(subclass-of Function Relation)
(documentation Function "A function is a mapping from a domain to a range
that associates a domain element with exactly one range element. The
elements of the domain are tuples, as in relations. The range is a class
-- a set of singleton tuples -- and each element of the range is an
instance of the class. Functions are also first-class objects in the same
sense that predicates are objects: namely, functions can be viewed as sets of
tuples.")
(subclass-of UnaryFunction Function)
(documentation UnaryFunction "The Class of Functions that require a single argument.")
(subclass-of BinaryFunction Function)
(documentation BinaryFunction "The Class of Functions that require two arguments.")
(subclass-of TernaryFunction Function)
(documentation TernaryFunction "The Class of Functions that require three arguments.")
(subclass-of VariableArityFunction Function)
(documentation VariableArityFunction "The class of Functions that can take any number of arguments greater than zero.")
(subclass-of ContinuousFunction Function)
(documentation ContinuousFunction "Functions which are continuous. This concept
is taken as primitive until representations for limits are generated.")
(subclass-of BinaryRelation Predicate)
(documentation BinaryRelation "A binary relation is a relation between two items. A binary relation maps instances of a Class to instances of another Class. Its valence is 2. Binary relations are represented as slots in frame systems.")
(<=>
(instance-of ?X BinaryRelation)
(valence ?X 2))
(subclass-of TernaryRelation Predicate)
(documentation TernaryRelation "The class of predicates that require three arguments.")
(<=>
(instance-of ?X TernaryRelation)
(valence ?X 3))
(subclass-of QuaternaryRelation Predicate)
(documentation QuaternaryRelation "The class of predicates that require four arguments.")
(<=>
(instance-of ?X QuaternaryRelation)
(valence ?X 4))
(subclass-of QuintaryRelation Predicate)
(documentation QuintaryRelation "The class of predicates that require five arguments.")
(<=>
(instance-of ?X QuintaryRelation)
(valence ?X 5))
(subclass-of VariableArityRelation Predicate)
(documentation VariableArityRelation "The class of predicates that can take any number of arguments greater than zero.")
(subclass-of CaseRole AsymmetricRelation)
(documentation CaseRole "The class of predicates relating the spatially
distinguished parts of a Process. Case roles 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.")
(subclass-of ProbabilityRelation Relation)
(documentation ProbabilityRelation "A generic Class which contains Relations
for talking of something which allows an assessment of probability of an event
or situation.")
(subclass-of SpatialRelation Relation)
(documentation SpatialRelation "A very general Class including spatial
schematic concepts in a wide sense: mereology, topology, localization, in both
material and abstract layers.")
(subclass-of TemporalRelation Relation)
(documentation TemporalRelation "The Class of temporal concepts: notions of
(temporal) topology of intervals, (temporal) schemata, (temporal) extension.")
(subclass-of IntentionalRelation AsymmetricRelation)
(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-of PropositionalAttitude IntentionalRelation)
(documentation PropositionalAttitude "The class of IntentionalRelations where the Agent has awareness of a Proposition.")
(subclass-of ObjectAttitude IntentionalRelation)
(documentation ObjectAttitude "The class of IntentionalRelations where the Agent has awareness of an Object.")
(disjoint ObjectAttitude PropositionalAttitude)
(instance-of AssignmentFn VariableArityFunction)
(nth-domain AssignmentFn 1 Function)
(range AssignmentFn Entity)
(documentation AssignmentFn "If F denotes a function with a value
for the objects denoted by N1,..., NK, then the term
(AssignmentFn F N1 ... NK) denotes the value of applying that function
to the objects denoted by N1,..., NK. Otherwise, the value is undefined.")
(subclass-of RelationExtendedToQuantities Relation)
(documentation RelationExtendedToQuantities "A RelationExtendedToQuantities
is a relation that, when it is true on a sequence of arguments that are real
numbers, then it is also true on a sequence of constant quantites with those
magnitudes in some units. For example, the lessThan relation is extended to
quantities. That means that for all pairs of quantities q1 and q2,
(lessThan q1 q2) if and only if, for some ?n and ?m, q1 = (MeasureFn ?n ?u),
q2 = (MeasureFn ?m ?u), and (lessThan ?n ?m), for all units ?u on which q1
and q2 can be measured. There may be relations that are not instances of
this class that nonetheless hold for quantity arguments. To be a
RelationExtendedToQuantities means that the relation holds when all the
arguments are of the same physical dimension.")
(=>
(and
(instance-of ?R RelationExtendedToQuantities)
(instance-of ?R BinaryFunction)
(instance-of ?N RealNumber)
(instance-of ?M RealNumber)
(equal (AssignmentFn ?R ?N ?M) ?P))
(forall (?U)
(=>
(instance-of ?U Unit-Of-Measure)
(equal (AssignmentFn ?R (MeasureFn ?N ?U) (MeasureFn ?M ?U)) (MeasureFn ?P ?U)))))
(=>
(and
(instance-of ?R RelationExtendedToQuantities)
(instance-of ?R BinaryRelation)
(instance-of ?N RealNumber)
(instance-of ?M RealNumber)
(holds ?R ?N ?M))
(forall (?U)
(=>
(instance-of ?U Unit-Of-Measure)
(holds ?R (MeasureFn ?N ?U) (MeasureFn ?M ?U)))))
(instance-of binary-operator-on AsymmetricRelation)
(nth-domain binary-operator-on 1 BinaryFunction)
(range binary-operator-on Class)
(documentation binary-operator-on "A function is a binary operator
on a domain if it is closed on the domain, that is, it is defined
for all pairs of objects that are instances of the domain and its
value on all such pairs is an instance of the domain.")
(=>
(binary-operator-on ?function ?domain)
(forall (?x ?y)
(=>
(and
(instance-of ?x ?domain)
(instance-of ?y ?domain))
(instance-of (AssignmentFn ?function ?x ?y) ?domain))))
(subclass-of AssociativeFunction BinaryFunction)
(documentation AssociativeFunction "A BinaryFunction is associative if bracketing has no effect on the value returned by the function. More precisely, a function F is associative just in case (F ?A (F ?B ?C)) is equal to (F (F ?A ?B) ?C), for all ?A, ?B, and ?C.")
(=>
(instance-of ?OP AssociativeFunction)
(forall (?X ?Y ?Z)
(equal (AssignmentFn ?OP ?X (AssignmentFn ?OP ?Y ?Z))
(AssignmentFn ?OP (AssignmentFn ?OP ?X ?Y) ?Z))))
(subclass-of 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 F is commutative just in case (F ?A ?B) is equal to (F ?B ?A), for all ?A and ?B.")
(=>
(instance-of ?OP CommutativeFunction)
(forall (?X ?Y)
(equal (AssignmentFn ?OP ?X ?Y)
(AssignmentFn ?OP ?Y ?X))))
(instance-of distributes BinaryRelation)
(nth-domain distributes 1 BinaryFunction)
(nth-domain distributes 2 BinaryFunction)
(documentation distributes "A BinaryFunction F is distributive over another BinaryFunction G just in case (F ?A (G ?B ?C)) is equal to (G (F ?A ?B) (F ?A ?C)), for all ?A, ?B, and ?C.")
(=>
(distributes ?OP ?G)
(forall (?X ?Y ?Z)
(equal (AssignmentFn ?OP (AssignmentFn ?G ?X ?Y) ?Z)
(AssignmentFn ?G (AssignmentFn ?OP ?X ?Z) (AssignmentFn ?OP ?Y ?Z)))))
(instance-of identityElement AsymmetricRelation)
(nth-domain identityElement 1 BinaryFunction)
(nth-domain identityElement 2 Entity)
(documentation identityElement "An object ?id is the identity element
for BinaryFunction ?o just in case, for every instance ?x, applying ?o
to ?x and ?id results in ?x.")
(=>
(identityElement ?OP ?ID)
(forall (?X)
(equal (AssignmentFn ?OP ?ID ?X) ?X)))
(subclass-of ReflexiveRelation BinaryRelation)
(documentation ReflexiveRelation "Relation r is reflexive if (r ?X ?X)
for all ?X.")
(=>
(instance-of ?R ReflexiveRelation)
(forall (?X)
(holds ?R ?X ?X)))
(subclass-of IrreflexiveRelation BinaryRelation)
(documentation Irreflexive-Relation "Relation r is irreflexive if
(r ?X ?X) never holds.")
(=>
(instance-of ?R IrreflexiveRelation)
(forall (?X)
(not
(holds ?R ?X ?X))))
(subclass-of SymmetricRelation BinaryRelation)
(documentation SymmetricRelation "Relation r is symmetric if (r ?X ?Y)
implies (r ?Y ?X).")
(=>
(instance-of ?R SymmetricRelation)
(forall (?X ?Y)
(=>
(holds ?R ?X ?Y)
(holds ?R ?Y ?X))))
(subclass-of AsymmetricRelation IrreflexiveRelation)
(subclass-of AsymmetricRelation AntisymmetricRelation)
(documentation AsymmetricRelation "A BinaryRelation is asymmetric if it
is antisymmetric and irreflexive.")
(=>
(instance-of ?R AsymmetricRelation)
(forall (?X ?Y)
(=>
(holds ?R ?X ?Y)
(not
(holds ?R ?Y ?X)))))
(subclass-of AntisymmetricRelation BinaryRelation)
(documentation AntisymmetricRelation "Relation r is an AntisymmetricRelation if for distinct ?X and ?Y, (r ?X ?Y) implies not (r ?Y ?X). In other words, for all ?X, ?Y, (r ?X ?Y) and (r ?Y ?X) imply that ?X and ?Y are identical. Note that it is possible for an AntisymmetricRelation to be a ReflexiveRelation.")
(=>
(instance-of ?R AntisymmetricRelation)
(forall (?X ?Y)
(=>
(and
(holds ?R ?X ?Y)
(holds ?R ?Y ?X))
(equal ?X ?Y))))
(subclass-of TrichotomizingRelation BinaryRelation)
(documentation TrichotomizingRelation "A BinaryRelation r is a TrichotomizingRelation just in case all ordered pairs consisting of distinct individuals are elements of r.")
(=>
(instance-of ?R TrichotomizingRelation)
(forall (?X ?Y)
(or
(holds ?R ?X ?Y)
(equal ?X ?Y)
(holds ?R ?Y ?X))))
(subclass-of TransitiveRelation BinaryRelation)
(documentation TransitiveRelation "Relation r is transitive if (r ?X ?Y) and (r ?Y ?Z) imply (r ?X ?Z).")
(=>
(instance-of ?R TransitiveRelation)
(forall (?X ?Y ?Z)
(=>
(and
(holds ?R ?X ?Y)
(holds ?R ?Y ?Z))
(holds ?R ?X ?Z))))
(subclass-of PartialOrderingRelation TransitiveRelation)
(subclass-of PartialOrderingRelation AntisymmetricRelation)
(subclass-of PartialOrderingRelation ReflexiveRelation)
(documentation PartialOrderingRelation "A relation is a partial ordering
if it is reflexive, antisymmetric, and transitive.")
(subclass-of TotalOrderingRelation PartialOrderingRelation)
(subclass-of TotalOrderingRelation TrichotomizingRelation)
(documentation TotalOrderingRelation "A relation r is a
TotalOrderingRelation if it is a PartialOrderingRelation
and a TrichotomizingRelation.")
(=>
(instance-of ?R TotalOrderingRelation)
(forall (?X ?Y)
(or
(holds ?R ?X ?Y)
(holds ?R ?Y ?X))))
(subclass-of EquivalenceRelation TransitiveRelation)
(subclass-of EquivalenceRelation SymmetricRelation)
(subclass-of EquivalenceRelation ReflexiveRelation)
(documentation EquivalenceRelation "A relation is an equivalence
relation if it is reflexive, symmetric, and transitive.")
(instance-of inverse SymmetricRelation)
(nth-domain inverse 1 (SetFn ?X (or (instance-of ?X BinaryRelation) (instance-of ?X UnaryFunction))))
(nth-domain inverse 2 (SetFn ?X (or (instance-of ?X BinaryRelation) (instance-of ?X UnaryFunction))))
(documentation inverse "The inverse of a binary relation is a binary
relation with all tuples reversed. In other words, one binary relation
is the inverse of another if they are equivalent when their arguments
are swapped.")
(=>
(inverse ?R ?P)
(forall (?X ?Y)
(<=>
(holds ?P ?X ?Y)
(holds ?R ?Y ?X))))
(instance-of cardinality AsymmetricRelation)
(nth-domain cardinality 1 Set)
(nth-domain cardinality 2 NonnegativeInteger)
(documentation cardinality "(cardinality ?SET ?NUMBER) means that
there are ?NUMBER elements of ?SET.")
(instance-of IdentityFn UnaryFunction)
(nth-domain IdentityFn 1 Entity)
(range IdentityFn Entity)
(documentation IdentityFn "The value of the identity function is
just its argument.")
(equal (IdentityFn ?X) ?X)
;; END FILE
;; BEGIN FILE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; DEFINITIONS OF BASIC BINARY RELATIONS ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(subrelation-of agent effector-of)
(nth-domain agent 1 Process)
(nth-domain agent 2 Agent)
(documentation agent "(agent ?ACTION ?AGENT) means that the active animate
entity ?AGENT voluntarily initiates ?ACTION. Example: Eve bit an apple.")
(subrelation-of attribute-of property-of)
(nth-domain attribute-of 1 Object)
(nth-domain attribute-of 2 Attribute)
(documentation attribute-of "(attribute-of ?OBJECT ?PROPERTY) means that
?PROPERTY is a Attribute of ?OBJECT.")
;; attribute-of and manner-of cannot be satisfied by the same ordered pair.
(<=>
(attribute-of ?X ?Y)
(not
(manner-of ?X ?Y)))
(instance-of authors AsymmetricRelation)
(nth-domain authors 1 Agent)
(nth-domain authors 2 ContentBearingObject)
(documentation authors "(authors AGENT TEXT) means that AGENT is creatively responsible for TEXT.")
(instance-of believes PropositionalAttitude)
(nth-domain believes 1 Agent)
(nth-domain believes 2 KIF-Formula)
(documentation believes "The epistemic predicate of belief.")
(=>
(authors ?X ?Y)
(exists (?Z)
(and
(agent ?Z ?Y)
(result ?Z ?X))))
(instance-of causes AsymmetricRelation)
(nth-domain causes 1 Entity)
(nth-domain causes 2 Entity)
(documentation causes "A very general relation of causation, which relates instances of Process, Object, and KIF-Formula. Eventually, we may want to define more specific predicates for each of these cases.")
(subrelation-of component-of part-of)
(nth-domain component-of 1 CorpuscularObject)
(nth-domain component-of 2 CorpuscularObject)
(documentation component-of "A specialized common sense notion of part for
heterogeneous parts of complexes. (component-of ?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 'constituent-material-of' and 'piece-of'.")
(subrelation-of constituent-material part-of)
(nth-domain constituent-material 1 ContinuousObject)
(nth-domain constituent-material 2 CorpuscularObject)
(documentation constituentMaterial "Is structurally made up of in whole or in
part of some substance. This includes composed of, made of, and formed
of. Compare 'component-of' and 'piece-of'.")
(instance-of containsInformation AsymmetricRelation)
(subrelation-of containsInformation represents)
(nth-domain containsInformation 1 ContentBearingObject)
(nth-domain containsInformation 2 Proposition)
(documentation containsInformation "This predicate relations a ContentBearingObject to information that is embodied by the ContentBearingObject.")
(instance-of copy-of EquivalenceRelation)
(nth-domain copy-of 1 Object)
(nth-domain copy-of 2 Object)
(documentation copy-of "An exact copy of some Object, where an exact copy is indistinguishable from the original with regard to every property except spatial location.")
(instance-of destination CaseRole)
(nth-domain destination 1 Process)
(nth-domain destination 2 Entity)
(documentation destination "(destination ?EVENT ?GOAL) means that ?GOAL is the target or
goal of the Process ?EVENT. Example: Bob went to Danbury.")
(instance-of developmentalForm AsymmetricRelation)
(nth-domain developmentalForm 1 OrganicObject)
(nth-domain developmentalForm 2 OrganicObject)
(documentation developmentalForm "An earlier stage in the individual maturation of an OrganicObject.")
(instance-of duration CaseRole)
(nth-domain duration 1 Process)
(nth-domain duration TimeMeasure-Duration)
(documentation duration "(duration ?EVENT ?TIME) means that the duration of the
Process ?EVENT is ?TIME. Example: The truck was serviced for 5 hours.")
(subrelation-of effector-of causes)
(nth-domain effector-of 1 Process)
(nth-domain effector-of 2 Object)
(documentation effector-of "(effector-of ?ACTION ?ENTITY) means that ?ENTITY is
an active determinant, either animate or inanimate, of the Process ?ACTION, with or without voluntary intention. Example: The tree produced new leaves.")
(instance-of exists-at TemporalRelation)
(instance-of exists-at AsymmetricRelation)
(nth-domain exists-at 1 Physical)
(nth-domain exists-at 2 TimePoint)
(documentation exists-at "This relation holds between an entity and a
timepoint just in case the temporal lifespan of the former includes the latter.
The constants located-at and exists-at are spatial and temporal predicates,
respectively.")
(<=>
(exists-at ?P ?T)
(betweenEq-temporal (BeginFn (WhenFn ?P)) ?T (EndFn (WhenFn ?P))))
(instance-of experiencer CaseRole)
(nth-domain experiencer 1 Process)
(nth-domain experiencer 2 Agent)
(documentation experiencer "(experiencer ?EVENT ?ENTITY) means that ?ENTITY is
the subject of the experience ?EVENT. Example: Yojo sees the fish.")
(instance-of hasCapability AsymmetricRelation)
(nth-domain-subclass hasCapability 1 Process)
(nth-domain hasCapability 2 Agent)
(documentation hasCapability "Indicates the ability of the Agent to perform the type of Process specified.")
(instance-of exploits AsymmetricRelation)
(nth-domain exploits 1 Object)
(nth-domain exploits 2 Agent)
(documentation exploits "A relation between an Agent and an Object which is used as a resource in an unspecified event. This relation, as its corresponding axiom indicates, is a composition of the relations agent and resource.")
(=>
(exploits ?X ?Y)
(exists (?Z)
(and
(agent ?Z ?Y)
(resource ?Z ?X))))
(instance-of hasPurpose AsymmetricRelation)
(nth-domain hasPurpose 1 Physical)
(nth-domain hasPurpose 2 KIF-Formula)
(documentation hasPurpose "This predicate expresses the concept of a conventional goal, i.e. a goal with a neutralized agent's intention. The predicates hasPurpose and result are different, but the second argument of the latter can satisfy the second argument of the former. A conventional goal is an _expected_ outcome, while an outcome may be provided without the statement of a goal, for example a machine process may have outcomes, but not goals; a walking around may have outcomes from no goal; a learning process may have goals with no outcomes, and so on.")
(instance-of hasPurposeForAgent TernaryRelation)
(nth-domain hasPurposeForAgent 1 Physical)
(nth-domain hasPurposeForAgent 2 KIF-Formula)
(nth-domain hasPurposeForAgent 3 Agent)
(documentation hasPurposeForAgent "The predicate hasPurposeForAgent expresses a cognitive attitude of some agent concerning a certain instance of Physical. Very complex issues are involved here. This definition is only a rough conceptualization. An entire theory should be built around such issues.")
(=>
(hasPurpose ?THING ?PURPOSE)
(exists (?AGENT)
(hasPurposeForAgent ?THING ?PURPOSE ?AGENT)))
(instance-of hasSkill AsymmetricRelation)
(subrelation-of hasSkill hasCapability)
(nth-domain-subclass hasSkill 1 Process)
(nth-domain hasSkill 2 Human)
(documentation hasSkill "The same as the hasCapability relationship
with the additional restrictions that the Agent is a Human and that
the ability be practised/demonstrated to some measurable degree.")
(instance-of holdsAuthority AsymmetricRelation)
(nth-domain-subclass holdsAuthority 1 Process)
(nth-domain holdsAuthority 2 Agent)
(documentation holdsAuthority "A relationship between a subclass of a Process and an Agent whereby the Agent has the right to perform instances of the type of Process as specified, i.e. to Execute the Process.")
(=>
(holdsAuthority ?PROCESS ?AGENT)
(poss
(exists (?X)
(and
(instance-of ?X ?PROCESS)
(agent ?X ?AGENT)))))
(instance-of inScopeOfInterest BinaryRelation)
(nth-domain inScopeOfInterest 1 Entity)
(nth-domain inScopOfInterest 2 Agent)
(documentation inScopeOfInterest "A Relationship between an Agent and something whereby the thing is within the scope of interest of the Agent.")
(instance-of instrument CaseRole)
(nth-domain instrument 1 Process)
(nth-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. Example: The key opened the door.")
(instance-of knows PropositionalAttitude)
(nth-domain knows 1 Agent)
(nth-domain knows 2 KIF-Formula)
(documentation knows "The epistemic predicate of knowing.")
(=>
(knows ?X ?Y)
(believes ?X ?Y))
(instance-of lives-in AsymmetricRelation)
(nth-domain lives-in 1 Organism)
(nth-domain lives-in 2 Object)
(documentation lives-in "A very simple definition of living within something else:
some organism is located in a region or a material object which it depends on.")
(instance-of located-at SpatialRelation)
(instance-of located-at PartialOrderingRelation)
(nth-domain located-at 1 Physical)
(nth-domain located-at 2 Physical)
(documentation located-at "A very general predicate. (located-at ?X ?Y) means
that ?X is situated at ?Y, in some sense. Example: Vehicles arrive at a
station. The constants located-at and exists-at are spatial and temporal
predicates, respectively.")
(instance-of partly-located-at ReflexiveRelation)
(instance-of partly-located-at BinaryRelation)
(nth-domain partly-located-at 1 Object)
(nth-domain partly-located-at 2 Region)
(documentation partly-located-at "The predicate of partial localization. For example, Istanbul is partly located in Asia.")
(=>
(partly-located-at ?X ?Y)
(exists (?Z)
(and
(part-of ?Z ?X)
(exactly-located-at ?Z ?Y))))
(subrelation-of exactly-located-at located-at)
(documentation exactly-located-at "The actual, minimal location of an Object. This is a subrelation of the more general Predicate located-at.")
(=>
(exactly-located-at ?X ?Y)
(not
(exists (?Z)
(and
(exactly-located-at ?Z ?Y)
(not
(equal ?Z ?X))))))
(instance-of WhereFn SpatialRelation)
(instance-of WhereFn BinaryFunction)
(nth-domain WhereFn 1 Object)
(nth-domain WhereFn 2 TimePoint)
(range WhereFn Region)
(documentation WhereFn "Maps an object and a point in time at which the object exists to the location where the object existed at that point in time.")
(=>
(equal (WhereFn ?X ?Y) ?Z)
(holdsDuring ?Y (exactly-located-at ?X ?Z)))
(subrelation-of manner-of property-of)
(nth-domain manner-of 1 Process)
(nth-domain manner-of 2 Abstract)
(documentation manner-of "(manner-of ?PROCESS ?MANNER) means that the Process
?PROCESS is qualified by the manner ?MANNER. Manners are usually described by
adverbs and include things like the speed of the wind, the style of a dance, or
the intensity of a sports competition.")
(instance-of member SpatialRelation)
(instance-of member AsymmetricRelation)
(subrelation-of member part-of)
(nth-domain member 1 Object)
(nth-domain member 2 Collection)
(documentation member "A specialized common sense notion of part for uniform parts of collections. For example, each sheep in a particular flock of sheep would have the relationship of member to the flock.")
(=>
(and
(member ?X ?Y)
(member ?Z ?Y))
(not
(overlapsSpatially ?X ?Z)))
(instance-of needs ObjectAttitude)
(nth-domain needs 1 Organism)
(nth-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-of origin CaseRole)
(nth-domain origin 1 Process)
(nth-domain origin 2 Object)
(documentation origin "(origin ?EVENT ?SOURCE) means that ?SOURCE indicates where and when ?EVENT began. Note that this relation implies that ?SOURCE is present at the beginning of the process, but need not participate throughout the process. Example: The missile was launched from a submarine.")
(instance-of part-of SpatialRelation)
(instance-of part-of PartialOrderingRelation)
(nth-domain part-of 1 Object)
(nth-domain part-of 2 Object)
(documentation part-of "The primitive mereological relation. All other
mereological relations are defined in terms of this. (part-of ?PART ?WHOLE)
implies that the existence of ?PART is independent of the existence of
?WHOLE.")
(=>
(and
(part-of ?X ?Y)
(part-of ?Y ?X))
(equal ?X ?Y))
(subrelation-of proper-part-of part-of)
(documentation proper-part-of "?x is a proper part of ?y iff ?x is a part of ?y
other than ?y itself. This is a transitive and asymmetric (hence irreflexive)
relation.")
(<=>
(proper-part-of ?X ?Y)
(and
(part-of ?X ?Y)
(not
(part-of ?Y ?X))))
(instance-of path CaseRole)
(nth-domain path 1 Process)
(nth-domain path 2 Object)
(documentation path "(path ?EVENT ?PATH) means that ?PATH is a route along which ?EVENT occurs. Example: The pizza was shipped via Albany and Buffalo.")
(subrelation-of patient theme)
(nth-domain patient 1 Process)
(nth-domain patient 2 Object)
(documentation patient "(patient ?EVENT ?ENTITY) means that ?ENTITY is an essential participant that undergoes structural change as a result of the Process. For example, the canary referred to in the sentence 'The cat swallowed the canary' would be the patient of the Process of swallowing.")
(subrelation-of piece-of part-of)
(nth-domain piece-of 1 ContinuousObject)
(nth-domain piece-of 2 ContinuousObject)
(documentation "A specialized common sense notion of part for arbitrary
parts of masses, usually characterized by quantitative measure (either in
a numerical or an analogic scale). It is transitive. Quasi-synonyms: chunk,
quantity, amount. Compare 'component-of' and 'constituent-material-of'.")
(=>
(piece-of ?X ?Y)
(forall (?Z)
(=>
(instance-of ?Y ?Z)
(instance-of ?X ?Z))))
(instance-of possesses AsymmetricRelation)
(nth-domain possesses 1 Agent)
(nth-domain possesses 2 Object)
(documentation possesses "Relation that holds between an agent and an object when the agent has ownership of the object.")
(instance-of precondition AsymmetricRelation)
(nth-domain precondition 1 Entity)
(nth-domain precondition 2 Entity)
(documentation precondition "A very general relation - means that the second argument can exist or be true only if the first argument exists or is true. At some point we will probably want to break this relation up into more specific predicates with more restrictive argument types.")
(instance-of property-of AsymmetricRelation)
(nth-domain property-of 1 Physical)
(nth-domain property-of 2 Abstract)
(documentation property-of "This relation holds between an object and
something which cannot exist without some substrate. Two subpredicates of
property-of are attribute-of and manner-of.")
(instance-of reports BinaryRelation)
(subrelation-of reports represents)
(nth-domain reports 1 ContentBearingObject)
(nth-domain reports 2 Physical)
(documentation reports "The reporting of a given situation is
the description of the situation in a text. Note that 'reports' differs
from 'represents' only in the 'nth-domain' assertion associated
with the second argument of both predicates. A ContentBearingObject
can represent anything, but it can report only about instances of
Physical, i.e. Objects and Processes that are exemplified in the world.")
(instance-of represents BinaryRelation)
(nth-domain represents 1 ContentBearingObject)
(nth-domain represents 2 Entity)
(documentation represents "A very general predicate. (represents ?CONT ?ENTITY)
means that the object ?CONT in some way refers to ?ENTITY. Note that 'represents'
differs from 'reports' only in the 'nth-domain' assertion associated
with the second argument of both predicates. A ContentBearingObject
can represent anything, but it can report only about instances of
Physical, i.e. Objects and Processes that are exemplified in the world.")
(subrelation-of resource theme)
(nth-domain resource 1 Process)
(nth-domain resource 2 Object)
(documentation resource "(resource ?EVENT ?RESOURCE) means that ?RESOURCE is changed by the event ?EVENT. Example: The gun was carved out of soap.")
(=>
(and
(resource ?Act ?Res)
(holdsDuring (ImmediatePastFn ?Act) (measure ?Res ?Amt1))
(holdsDuring (ImmediateFutureFn ?Act) (measure ?Res ?Amt2)))
(greaterThan ?Amt1 ?Amt2))
(subrelation-of result theme)
(nth-domain result 1 Process)
(nth-domain result 2 Object)
(documentation result "(result ?ACTION ?OUTPUT) means that ?OUTPUT is a product of ?ACTION. Example: Eric built a house.")
(instance-of subCollection TransitiveRelation)
(instance-of subCollection IrreflexiveRelation)
(nth-domain subCollection 1 Collection)
(nth-domain subCollection 2 Collection)
(documentation subCollection "Means that the Collection expressed by the first argument is a proper part of the Collection denoted by the second argument.")
(instance-of subPlan-of TransitiveRelation)
(instance-of subPlan-of IrreflexiveRelation)
(nth-domain subPlan-of 1 Plan)
(nth-domain subPlan-of 2 Plan)
(documentation subPlan-of "Means that the first argument is a supporting Plan of the second argument.")
(instance-of subProcess PartialOrderingRelation)
(nth-domain subProcess 1 Process)
(nth-domain subProcess 2 Process)
(documentation subProcess "The temporally distinguished parts of an Process are
called subprocesses.")
(=>
(subProcess ?Act1 ?Act2)
(or
(equal ?Act1 ?Act2)
(during ?Act1 ?Act2)))
;; part-of and subProcess cannot be satisfied by the same ordered pair.
(<=>
(part-of ?X ?Y)
(not
(subProcess ?X ?Y)))
(instance-of theme CaseRole)
(nth-domain theme 1 Process)
(nth-domain theme 2 Object)
(documentation theme "(theme ?EVENT ?ENTITY) means that ?ENTITY is an essential participant that may be moved, said, experienced, etc. Note that the patient of a Process may or may not undergo structural change as a result of the Process. Thus, the direct objects in both the sentences 'The cat swallowed the canary' and 'Billy likes the beer' would be examples of patients. Note that this is a very general relation which is used when one wants to specify as broadly as possible the object of an event.")
(instance-of uses AsymmetricRelation)
(nth-domain uses 1 Object)
(nth-domain uses 2 Agent)
(documentation uses "A relation between an Agent and an Object which is used as an instrument in an unspecified event. This relation, as its corresponding axiom indicates, is a composition of the relations agent and instrument.")
(=>
(uses ?X ?Y)
(exists (?Z)
(and
(agent ?Z ?Y)
(instrument ?Z ?X))))
(instance-of version-of AsymmetricRelation)
(nth-domain-subclass version-of 1 Artifact)
(nth-domain-subclass version-of 2 Artifact)
(documentation version-of "Some objects have a life cycle. The configuration of
the object at some time in its life cycle may be identified by a version serial value. (version-of ARTIFACT1 ARTIFACT2) means that ARTIFACT1 is version of ARTIFACT2.")
(=>
(version-of ?ARTIFACT1 ?ARTIFACT2)
(subclass-of ?ARTIFACT1 ?ARTIFACT2))
(instance-of wants ObjectAttitude)
(nth-domain wants 1 Organism)
(nth-domain wants 2 Object)
(documentation wants "(wants AGENT OBJECT) means that OBJECT is desired by AGENT, i.e. AGENT believes that OBJECT will promote its overall happiness.")
;; END FILE
;; BEGIN FILE
;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ARTIFACT HIERARCHY ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;
;; This section 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 engineering elements used to
;; construct systems.
(subclass-of 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, ordinary houses, etc.")
(=>
(instance-of ?ARTIFACT StationaryArtifact)
(exists (?PLACE)
(forall (?TIME)
(equal (WhereFn ?ARTIFACT ?TIME) ?PLACE))))
(subclass-of Device Artifact)
(documentation Device "A Device is an Artifact which is produced for the purpose of serving as an instrument with respect to a certain type of task.")
(=>
(instance-of ?X Device)
(exists (?Y)
(and
(instance-of ?Y Process)
(instrument ?Y ?X))))
(subclass-of TransportationDevice Device)
(documentation TransportationDevice "A TransportationDevice is a Device which serves as an instrument in transportation events.")
(=>
(instance-of ?DEVICE TransportationDevice)
(poss
(exists (?MOTION)
(and
(instance-of ?MOTION Motion)
(instrument ?MOTION ?DEVICE)))))
(subclass-of Machine Device)
(documentation Machine "Machines are Devices which are self-powered, i.e. their energy does not come from the exercion of Humans or Animals.")
(subclass-of EngineeringElement Artifact)
(documentation EngineeringElement "An EngineeringElement is any element that is
used to build up a system with structure.")
(=>
(instance-of ?X EngineeringElement)
(exists (?Y)
(and
(instance-of ?Y Device)
(part-of ?X ?Y))))
(subclass-of EngineeringComponent EngineeringElement)
(documentation EngineeringComponent "An EngineeringComponent is a structure that
can have parts and connections. An EngineeringComponent as a defined in this
ontology is a fundamental abstraction that applies in many engineering domains.
Component structures need not correspond to physically whole objects such as
standard parts from a catalog. The class of component, as defined here, may also
be used to represent nonphysical objects such as modules in a software program,
functions in a functional description, and model fragments in a model library.
This is a primitive concept; what makes an object a component is how it is
connected and a part of other objects.")
(=>
(instance-of ?X EngineeringComponent)
(exists (?Y)
(and
(instance-of ?Y Device)
(component-of ?X ?Y))))
(subclass-of Junction EngineeringElement)
(documentation Junction "An interface between two EngineeringElements with different electrical characteristics.")
(subclass-of Terminal EngineeringElement)
(documentation Terminal "The end of an EngineeringComponent where signals are either transmitted or received.")
(instance-of engineeringSubcomponent AsymmetricRelation)
(nth-domain engineeringSubcomponent 2 EngineeringComponent)
(nth-domain engineeringSubcomponent 1 EngineeringComponent)
(documentation engineeringSubcomponent "(engineeringSubcomponent ?sub ?super)
means that the component ?sub is structurally a part of component ?super. A
component cannot be a subcomponent of itself (irrreflexivity) and two components
cannot be subcomponents of each other (antisymmetrity). Note that
engineeringSubcomponent is not a transitive relation. A main difference betweeen
engineering components and arbitrary globs of matter is that engineering
components are object-like in a modeling sense; thus, an engineering subcomponent
is not an arbtrary subregion, but a part of a system with a stable identity as
its part. If engineeringSubcomponent were transitive, then there would be no
level boundaries between a component and its subcomponents and their
subcomponents; for modularity reasons, the system modeler describes the
subcomponents of a component as black boxes, rather than as arbitrary regions.")
(instance-of connectedEngineeringComponents SymmetricRelation)
(instance-of connectedEngineeringComponents IrreflexiveRelation)
(nth-domain connectedEngineeringComponents 2 Component)
(nth-domain connectedEngineeringComponents 1 Component)
(documentation ConnectedEngineeringComponents "This is the most general binary
connection relation between components. If (connectedEngineeringComponents ?X ?Y),
then ?X and ?Y must be engineering components and neither can be a engineering
subcomponent of the other. The relation connectedEngineeringComponents is
symmetric; there is no information in the direction of connection between two
components. It is also irreflexive; a component cannot be connected to itself.
This is an abstract relationship. There is no commitment that the two
components much touch physically. Even in the case of a connection between
physical components, the connection can represent abstract properties of the
interaction of the two components. Note this relation does not associate a
name or type with the connection. One may specify that with other binary
relations (e.g., thermally-connected).")
(=>
(connectedEngineeringComponents ?X ?Y)
(and
(not
(engineeringSubcomponent ?X ?Y))
(not
(engineeringSubcomponent ?Y ?X))))
(=>
(connectedEngineeringComponents ?X ?Y)
(and
(not
(instance-of ?X EngineeringConnection))
(not
(instance-of ?Y EngineeringConnection))))
(<=>
(connectedEngineeringComponents ?X ?Y)
(exists (?Z)
(connectsEngineeringComponents ?Z ?X ?Y)))
(instance-of EngineeringComponentFn UnaryFunction)
(inverse EngineeringComponentFn TerminalFn)
(nth-domain EngineeringComponentFn 1 Terminal)
(range EngineeringComponentFn EngineeringComponent)
(documentation EngineeringComponentFn "This Function maps a Terminal to its corresponding EngineeringComponent.")
(instance-of TerminalFn UnaryFunction)
(inverse TerminalFn EngineeringComponentFn)
(nth-domain TerminalFn 1 EngineeringComponent)
(range TerminalFn Terminal)
(documentation TerminalFn "This function maps an EngineeringComponent to its corresponding Terminal.")
(instance-of JunctionFn UnaryFunction)
(nth-domain JunctionFn 1 Terminal)
(range JunctionFn Junction)
(documentation JunctionFn "This function maps a Terminal to its corresponding Junction.")
(subclass-of EngineeringConnection EngineeringComponent)
(documentation EngineeringConnection "An EngineeringConnection is an
EngineeringComponent that represents a connection relationship between two
other components. It is a reification of the predicate
connectedEngineeringComponents. That means that whenever this relation
holds between two components, there exists a connection component.
This is logical existence; this connection object may not be
present in the memory of a representation system. Conversely,
if a representation system has allocated a data structure for
a connection object, it doesn't mean that it must explicitly
represent the implied connectedEngineeringComponents relationship.
The practical reason for reifying a relationship is to be
able to attached 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. Connection
objects are components and can therefore be subcomponents of other
components. However, to provide for modular regularity in component systems,
connection components cannot be connected. For each pair of components
related by connectedEngineeringComponents, there exists at least one connection
object. However, that object may not be unique, and the same connection object
may be associated with several pairs of connected components.")
(=>
(instance-of ?X EngineeringConnection)
(exists (?Y ?Z)
(connectsEngineeringComponents ?X ?Y ?Z)))
(instance-of connectsEngineeringComponents TernaryRelation)
(nth-domain connectsEngineeringComponents 1 EngineeringConnection)
(nth-domain connectsEngineeringComponents 2 EngineeringComponent)
(nth-domain connectsEngineeringComponents 3 EngineeringComponent)
(documentation connectsEngineeringComponents "connectsEngineeringComponents is a
predicate that maps from a connection object to the engineering components it
connects. Since components cannot be connected to themselves, and there cannot
be a connection object without a connectedEngineeringComponents relationship,
the second and third arguments of any connectsEngineeringComponents relationship
will always be distinct for any given first argument.")
;; END FILE
;; BEGIN FILE
;;;;;;;;;;;;;;;;;;;;;;;;;
;; NUMBER HIERARCHY ;;
;;;;;;;;;;;;;;;;;;;;;;;;;
;; The following ground facts incorporate the Number hierarchy from the ontology
;; 'kif-numbers' on the Ontolingua server.
(subclass-of Number Quantity)
(documentation Number "A measure of how many things there are of a certain kind. In the merged ontology, numbers are subclassed into RealNumber, ImaginaryNumber, and ComplexNumber.")
(subclass-of RealNumber Number)
(documentation RealNumber "Any Number that can be expressed as a decimal, i.e. any number that has a position on the number line.")
(=>
(instance-of ?NUMBER RealNumber)
(equal (AdditionFn ?NUMBER 0) ?NUMBER))
(=>
(instance-of ?NUMBER RealNumber)
(equal (SubtractionFn ?NUMBER 0) ?NUMBER))
(instance-of ImaginaryNumber Number)
(documentation ImaginaryNumber "The square root of -1.")
(disjoint ImaginaryNumber RealNumber)
(subclass-of RationalNumber RealNumber)
(documentation RationalNumber "Any number that is the product of dividing two Integers.")
(=>
(instance-of ?X RationalNumber)
(exists (?Y ?Z)
(and
(instance-of ?Y Integer)
(instance-of ?Z Integer)
(equal ?X (DivisionFn ?Y ?Z)))))
(subclass-of PositiveRealNumber NonnegativeRealNumber)
(documentation PositiveRealNumber "A RealNumber that is greater than zero.")
(=>
(instance-of ?X PositiveRealNumber)
(greaterThan ?X 0))
(=>
(instance-of ?X PositiveRealNumber)
(equal (SignumFn ?X) 1))
(subclass-of NegativeRealNumber RealNumber)
(documentation NegativeRealNumber "A RealNumber that is less than zero.")
(=>
(instance-of ?X NegativeRealNumber)
(lessThan ?X 0))
(=>
(instance-of ?X NegativeRealNumber)
(equal (SignumFn ?X) -1))
(subclass-of NonnegativeRealNumber RealNumber)
(documentation NonnegativeRealNumber "A RealNumber that is greater than or equal to zero.")
(disjoint NonnegativeRealNumber NegativeRealNumber)
(=>
(instance-of ?X NonnegativeRealNumber)
(or
(greaterThan ?X 0)
(equal ?X 0)))
(=>
(instance-of ?X NonnegativeRealNumber)
(or
(equal (SignumFn ?X) 1)
(equal (SignumFn ?X) 0)))
(subclass-of Integer RationalNumber)
(documentation Integer "A negative or nonnegative whole number.")
(subclass-of EvenInteger Integer)
(documentation EvenInteger "An Integer that is evenly divisible by 2.")
(=>
(instance-of ?X EvenInteger)
(equal (RemainderFn ?X 2) 0))
(subclass-of OddInteger Integer)
(documentation OddInteger "An Integer that is not evenly divisible by 2.")
(disjoint OddInteger EvenInteger)
(=>
(instance-of ?X OddInteger)
(equal (RemainderFn ?X 2) 1))
(subclass-of PrimeNumber Integer)
(documentation PrimeNumber "An Integer that is evenly divisible only by itself and 1.")
(=>
(instance-of ?X PrimeNumber)
(forall (?Y)
(=>
(or
(not (equal ?Y 1))
(not (equal ?Y ?X)))
(not (equal (RemainderFn ?X ?Y) 0)))))
(subclass-of NonnegativeInteger Integer)
(subclass-of NonnegativeInteger NonnegativeRealNumber)
(documentation NonnegativeInteger "An integer greater than or equal to zero.")
(subclass-of NegativeInteger Integer)
(subclass-of NegativeInteger NegativeRealNumber)
(documentation NegativeInteger "An integer less than zero, not including
zero. A less ambiguous name for KIF's NATURAL.")
(disjoint NegativeInteger NonnegativeInteger)
(subclass-of PositiveInteger NonnegativeInteger)
(subclass-of PositiveInteger PositiveRealNumber)
(documentation PositiveInteger "An integer greater than zero, not including
zero. A less ambiguous name for KIF's NATURAL.")
(subclass-of BinaryNumber RealNumber)
(documentation BinaryNumber "Elements from the number system with base 2. Every binary number is expressed as a sequence of the digits 1 and 0.")
(subclass-of ComplexNumber Number)
(documentation ComplexNumber "A Number that consists of two components: a RealNumber and the ImaginaryNumber.")
(=>
(instance-of ?NUMBER ComplexNumber)
(exists (?Y ?Z)
(and
(equal ?Y (ImaginaryPartFn ?NUMBER))
(equal ?Z (RealNumberFn ?NUMBER)))))
(subclass-of NonspecificNumber Number)
(documentation NonspecificNumber "The elements of this Class are used to indicate the number of items when one cannot or does not want to specify exactly how many items there are.")
(instance-of Few NonspecificNumber)
(documentation Few "Usable for contextual assessment of numerosity. Note that this cannot be converted into a precise numeric range. For example, compare 'few books on the table' (3?) and 'few eritrocytes in your blood' (3 millions per part?).")
(instance-of Many NonspecificNumber)
(documentation Many "Usable for contextual assessment of numerosity. Note that this cannot be converted into a precise numeric range. For example, compare 'many books on the table' (12?) and 'many eritrocytes in your blood' (8 millions per part?).")
(instance-of logBit BinaryRelation)
(nth-domain logBit 1 BinaryNumber)
(nth-domain logBit 2 Integer)
(documentation logBit "The formula (logbit ?X ?Y) is true if bit ?Y of ?X is
1.")
(instance-of logTest BinaryRelation)
(nth-domain logTest 1 Integer)
(nth-domain logTest 2 Integer)
(documentation logTest "The formula (logtest ?X ?Y) is true if the logical and
of the two's-complement representation of the integers ?X and ?Y is not zero.")
(instance-of MultiplicationFn VariableArityFunction)
(instance-of MultiplicationFn RelationExtendedToQuantities)
(range MultiplicationFn RealNumber)
(documentation MultiplicationFn "If ?X, ?Y, ..., ?N denote numbers, then the
term (MultiplicationFn ?X ?Y ... ?N) denotes the product of those numbers.")
(instance-of AdditionFn VariableArityFunction)
(instance-of AdditionFn RelationExtendedToQuantities)
(range AdditionFn RealNumber)
(documentation AdditionFn "If ?X, ?Y, ..., ?N are numerical constants, then the
term (AdditionFn ?X ?Y ... ?N) denotes the sum of the numbers corresponding to those
constants.")
(instance-of SubtractionFn VariableArityFunction)
(instance-of SubtractionFn RelationExtendedToQuantities)
(range SubtractionFn RealNumber)
(documentation SubtractionFn "If ?X, ?Y, ..., ?N denote numbers, then the term
(SubtractionFn ?X ?Y ... ?N) denotes the difference between the number denoted
by ?X and the numbers denoted by ?Y through ?N. An exception occurs when ?Y ...
?N = 0, in which case the term denotes the negation of the number denoted by
?X.")
(instance-of DivisionFn VariableArityFunction)
(range DivisionFn RealNumber)
(documentation DivisionFn "If ?X, ?Y, ..., ?N are numbers, then the term
(DivisionFn ?X ?Y ... ?N) denotes the result obtained by dividing the
number denoted by ?X by the numbers denoted by ?Y through ?N. An exception
occurs when ?Y ... ?N = 1, in which case the term denotes the reciprocal
?X of the number denoted by ?Y ... ?N.")
(instance-of AbsoluteValueFn UnaryFunction)
(nth-domain AbsoluteValueFn 1 RealNumber)
(range AbsoluteValueFn PositiveNumber)
(documentation AbsoluteValueFn "The term (AbsoluteValueFn ?X) denotes the
absolute value of the object denoted by ?X.")
(instance-of ArcCosineFn UnaryFunction)
(nth-domain ArcCosineFn 1 RealNumber)
(range ArcCosine RealNumber)
(documentation ArcCosineFn "If ?X denotes a number, then the term (ArcCosineFn
?X) denotes the arc cosine of that number (in radians).")
(instance-of ArithmeticalShiftFn BinaryFunction)
(nth-domain ArithmeticalShiftFn 1 RealNumber)
(nth-domain ArithmeticalShiftFn 2 PositiveInteger)
(range ArithmeticalShiftFn RealNumber)
(documentation ArithmeticalShiftFn "The term (ArithmeticalShiftFn ?X ?Y) denotes
the result of arithmetically shifting the object denoted by ?X by the number of
bits denoted by ?Y (left or right shifting depending on the sign of ?Y).")
(instance-of ArcSineFn UnaryFunction)
(nth-domain ArcSineFn 1 (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(range ArcSineFn (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(documentation ArcSineFn "The term (ArcSineFn ?X) denotes the arc sine of the
object denoted by ?X (in radians).")
(instance-of HyperbolicArcSineFn UnaryFunction)
(nth-domain HyperbolicArcSineFn 1 (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(range HyperbolicArcSineFn (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(documentation HyperbolicArcSine "The term (HyperbolicArcSine ?X) denotes the
hyperbolic arc sine of the object denoted by ?X (in radians).")
(instance-of ArcTangentFn UnaryFunction)
(nth-domain ArcTangentFn 1 (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(range ArcTangentFn (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(documentation ArcTangentFn "The term (ArcTangentFn ?X) denotes the arc tangent
of the object denoted by ?X (in radians).")
(instance-of HyperbolicArcTangentFn UnaryFunction)
(nth-domain HyperbolicArcTangentFn 1 (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(range HyperbolicArcTangentFn (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(documentation HyperbolicArcTangentFn "The term (HyperbolicArcTangent ?X)
denotes the hyperbolic arc tangent of the object denoted by ?X (in radians).")
(instance-of CeilingFn UnaryFunction)
(nth-domain CeilingFn 1 RealNumber)
(range CeilingFn Integer)
(documentation CeilingFn "If ?X denotes a real number, then the term (CeilingFn
?X) denotes the smallest integer greater than or equal to the number denoted by
?X.")
(instance-of CosineFn UnaryFunction)
(nth-domain CosineFn 1 (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(range CosineFn (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(documentation CosineFn "The term (CosineFn ?X) denotes the cosine of the object
denoted by ?X (in radians).")
(instance-of HyperbolicCosineFn UnaryFunction)
(nth-domain HyperbolicCosineFn 1 (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(range HyperbolicCosineFn (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(documentation HyperbolicCosineFn "The term (HyperbolicCosineFn ?X) denotes the
hyperbolic cosine of the object denoted by ?X (in radians).")
(instance-of DenominatorFn UnaryFunction)
(nth-domain DenominatorFn 1 RealNumber)
(range DenominatorFn Integer)
(documentation DenominatorFn "The term (DenominatorFn ?X) denotes the
denominator of the canonical reduced form of the object denoted by ?X.")
(instance-of ExponentiationFn BinaryFunction)
(instance-of ExponentiationFn RelationExtendedToQuantities)
(nth-domain ExponentiationFn 1 RealNumber)
(nth-domain ExponentiationFn 2 Integer)
(range ExponentiationFn RealNumber)
(documentation ExponentiationFn "The term (Exponentiation ?X ?Y) denotes ?X
raised to the power of the object denoted by ?Y.")
(instance-of ReciprocalFn UnaryFunction)
(instance-of ReciprocalFn RelationExtendedToQuantities)
(nth-domain ReciprocalFn 1 RealNumber)
(range ReciprocalFn RealNumber)
(documentation ReciprocalFn "(ReciprocalFn ?x) is the reciprocal element
of element ?x with respect to the multiplication operator. For a number
x the reciprocal would be 1/x. Not all numbers will have a reciprocal
element defined. The number 0 for instance will not have a reciprocal.
If a parameter x has a reciprocal y, then the product of x and y will be
an identity element of some sort, such as '1' for numbers, 3*1/3 = 1.
The reciprocal of an element is equivalent to exponentiation of the
element to the power -1.")
(equal (ReciprocalFn ?X)
(ExponentiationFn ?X -1))
(instance-of FloatingCeilingFn UnaryFunction)
(nth-domain FloatingCeilingFn 1 RealNumber)
(range FloatingCeilingFn Integer)
(documentation FloatingCeilingFn "The term (FloatingCeilingFn ?X) denotes the
smallest integer (as a floating point number) greater than the object denoted by
?X.")
(instance-of FloatingFloorFn UnaryFunction)
(nth-domain FloatingFloorFn 1 RealNumber)
(range FloatingFloorFn Integer)
(documentation FloatingFloorFn "The term (FloatingFloorFn ?X) denotes the
largest integer (as a floating point number) less than the object denoted by
?X.")
(instance-of FloatingPointNumberFn UnaryFunction)
(nth-domain FloatingPointNumberFn 1 RealNumber)
(range FloatingPointNumberFn RealNumber)
(documentation FloatingPointNumberFn "The term (FloatingPointNumberFn ?X)
denotes the floating point number equal to the object denoted by ?X.")
(instance-of FloatingDigitFn UnaryFunction)
(nth-domain FloatingDigitFn 1 RealNumber)
(range FloatingDigitFn NonnegativeInteger)
(documentation FloatingDigitFn "The term (FloatingDigitFn ?X) denotes the number
of digits used in the representation of a floating point number denoted by ?X.")
(instance-of FloatingPrecisionFn UnaryFunction)
(nth-domain FloatingPrecisionFn 1 RealNumber)
(range FloatingPrecisionFn NonnegativeInteger)
(documentation FloatingPrecisionFn "The term (FloatingPrecisionFn ?X) denotes
the number of significant digits in the floating point number denoted by ?X.")
(instance-of FloatingRadixFn UnaryFunction)
(nth-domain FloatingRadixFn 1 RealNumber)
(range FloatingRadixFn NaturalNumber)
(documentation FloatingRadixFn "The term (FloatingRadixFn ?X) denotes the radix
of the floating point number denoted by ?X. The most common values are 2
and 16.")
(instance-of FloatingSignFn BinaryFunction)
(nth-domain FloatingSignFn 1 RealNumber)
(nth-domain FloatingSignFn 2 RealNumber)
(range FloatingSignFn RealNumber)
(documentation FloatingSignFn "The term (FloatingSignFn ?X ?Y) denotes a
floating-point number with the same sign as the object denoted by ?X and
the same absolute value as the object denoted by ?Y.")
(instance-of FloorFn UnaryFunction)
(nth-domain FloorFn 1 RealNumber)
(range FloorFn Integer)
(documentation FloorFn "The term (FloorFn ?X) denotes the largest integer less
than the object denoted by ?X.")
(instance-of FloatingTruncateFn UnaryFunction)
(nth-domain FloatingTruncateFn 1 RealNumber)
(range FloatingTruncateFn Integer)
(documentation FloatingTruncateFn "The term (FloatingTruncateFn ?X) denotes
the largest integer (as a floating point number) less than the object
denoted by ?X.")
(instance-of GreatestCommonDivisorFn VariableArityFunction)
(range GreatestCommonDivisorFn Integer)
(documentation GreatestCommonDivisorFn "The term (GreatestCommonDivisorFn ?X ?Y
... ?N) denotes the greatest common divisor of the objects denoted by ?X through
?N.")
(instance-of ImaginaryPartFn UnaryFunction)
(nth-domain ImaginaryPartFn 1 ComplexNumber)
(range ImaginaryPartFn ImaginaryNumber)
(documentation ImaginaryPartFn "The term (ImaginaryPartFn ?X) denotes the
imaginary part of the object denoted by ?X.")
(instance-of IntegerDecodeFloatFn UnaryFunction)
(nth-domain IntegerDecodeFloatFn 1 RealNumber)
(range IntegerDecodeFloatFn Integer)
(documentation IntegerDecodeFloatFn "The term (IntegerDecodeFloatFn ?X) denotes
the significand of the object denoted by ?X.")
(instance-of IntegerLengthFn UnaryFunction)
(nth-domain IntegerLengthFn 1 RealNumber)
(range IntegerLengthFn NonnegativeInteger)
(documentation IntegerLengthFn "The term (IntegerLengthFn ?X) denotes the
number of bits required to store the absolute magnitude of the object denoted
by ?X.")
(instance-of IntegerSquareRootFn UnaryFunction)
(nth-domain IntegerSquareRootFn 1 RealNumber)
(range IntegerSquareRootFn NonnegativeInteger)
(documentation IntegerSquareRootFn "The term (IntegerSquareRootFn ?X) denotes
the integer square root of the object denoted by ?X.")
(instance-of LeastCommonMultipleFn VariableArityFunction)
(range LeastCommonMultipleFn Integer)
(documentation LeastCommonMultipleFn "The term (LeastCommonMultipleFn ?X ?Y ...
?N) denotes the least common multiple of the objects denoted by ?X, ?Y, ...
?N.")
(instance-of LogFn BinaryFunction)
(nth-domain LogFn 1 RealNumber)
(nth-domain LogFn 2 PositiveInteger)
(range LogFn RealNumber)
(documentation LogFn "The term (LogFn ?X ?Y) denotes the logarithm of the
object denoted by ?X in the base denoted by ?Y.")
(instance-of MaxFn VariableArityFunction)
(instance-of MaxFn RelationExtendedToQuantities)
(range MaxFn RealNumber)
(documentation MaxFn "The term (MaxFn ?X ?Y ... ?N) denotes the largest object
denoted by ?X, ?Y, ... , ?N.")
(instance-of MinFn VariableArityFunction)
(instance-of MinFn RelationExtendedToQuantities)
(range MinFn RealNumber)
(documentation MinFn "The term (MinFn ?X ?Y ... ?N) denotes the smallest object
denoted by ?X, ?Y, ... , ?N.")
(instance-of ModuloFn BinaryFunction)
(instance-of ModuloFn RelationExtendedToQuantities)
(nth-domain ModuloFn 1 RealNumber)
(nth-domain ModuloFn 2 RealNumber)
(range ModuloFn RealNumber)
(documentation ModuloFn "The term (ModuloFn ?X ?Y) denotes the root of the
object denoted by ?X modulo the object denoted by ?Y. The result will have the
same sign as denoted by ?X.")
(instance-of NumeratorFn UnaryFunction)
(nth-domain NumeratorFn 1 RealNumber)
(range NumeratorFn Integer)
(documentation NumeratorFn "The term (NumeratorFn ?X) denotes the numerator of
the canonical reduced form of the object denoted by ?X.")
(instance-of Pi-TheNumber RealNumber)
(documentation Pi-TheNumber "Pi-TheNumber is the real number that is the ratio
of the perimeter of a circle to its diameter. It is approximately equal to
3.141592653589793.")
(instance-of RationalNumberFn UnaryFunction)
(nth-domain RationalNumberFn 1 Number)
(range RationalNumberFn RationalNumber)
(documentation RationalNumberFn "The term (RationalNumberFn ?X) denotes the
rational representation of the object denoted by ?X.")
(instance-of RealNumberFn UnaryFunction)
(nth-domain RealNumberFn 1 Number)
(range RealNumberFn RealNumber)
(documentation RealNumberFn "The term (RealNumberFn ?X) denotes the real part of
the object denoted by ?X.")
(instance-of RemainderFn BinaryFunction)
(instance-of RemainderFn RelationExtendedToQuantities)
(nth-domain RemainderFn 1 RealNumber)
(nth-domain RemainderFn 2 RealNumber)
(range RemainderFn RealNumber)
(documentation RemainderFn "The term (RemainderFn ?NUMBER ?DIVISOR) denotes the
remainder of the object denoted by ?NUMBER divided by the object denoted by
?DIVISOR. The result has the same sign as the object denoted by ?DIVISOR.")
(instance-of RoundFn UnaryFunction)
(instance-of RoundFn RelationExtendedToQuantities)
(nth-domain RoundFn 1 RealNumber)
(range RoundFn Integer)
(documentation RoundFn "The term (RoundFn ?X) denotes the integer nearest to
the object denoted by ?X. If the object denoted by ?X is halfway between two
integers (for example 3.5), it denotes the nearest integer divisible by 2.")
(instance-of ScaleFloatFn BinaryFunction)
(nth-domain ScaleFloatFn 1 RealNumber)
(nth-domain ScaleFloatFn 2 Integer)
(range ScaleFloatFn RealNumber)
(documentation ScaleFloatFn "The term (ScaleFloatFn ?X ?Y) denotes a floating-
point number that is the representational radix of the object denoted by ?X
raised to the integer denoted by ?Y.")
(instance-of SignumFn UnaryFunction)
(nth-domain SignumFn 1 RealNumber)
(range SignumFn Integer)
(documentation SignumFn "The term (SignumFn ?X) denotes the sign of the object
denoted by ?X. This is one of -1, 1, or 0.")
(instance-of SineFn UnaryFunction)
(nth-domain SineFn 1 (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(range SineFn (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(documentation SineFn "The term (SineFn ?X) denotes the sine of the object
denoted by ?X (in radians).")
(instance-of HyperbolicSineFn UnaryFunction)
(nth-domain HyperbolicSineFn 1 (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(range HyperbolicSineFn (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(documentation HyperbolicSineFn "The term (HyperbolicSineFn ?X) denotes the
hyperbolic sine of the object denoted by ?X (in radians).")
(instance-of SquareRootFn UnaryFunction)
(nth-domain SquareRootFn 1 RealNumber)
(range SquareRootFn RealNumber)
(documentation SquareRootFn "The term (SquareRootFn ?X) denotes the principal
square root of the object denoted by ?X.")
(instance-of TangentFn UnaryFunction)
(nth-domain TangentFn 1 (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(range TangentFn (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(documentation TangentFn "The term (TangentFn ?X) denotes the tangent of the
object denoted by ?X (in radians).")
(instance-of HyperbolicTangentFn UnaryFunction)
(nth-domain HyperbolicTangentFn 1 (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(range HyperbolicTangentFn (SetFn ?X (exists (?Y) (equal ?X (MeasureFn ?Y Radian)))))
(documentation HyperbolicTangentFn "The term (HyperbolicTangentFn ?X) denotes
the hyperbolic tangent of the object denoted by ?X (in radians).")
(instance-of TruncateFn UnaryFunction)
(instance-of TruncateFn RelationExtendedToQuantities)
(nth-domain TruncateFn 1 RealNumber)
(range TruncateFn Integer)
(documentation TruncateFn "The term (TruncateFn ?X) denotes the largest integer
less than the object denoted by ?X.")
(instance-of lessThan TransitiveRelation)
(instance-of lessThan IrreflexiveRelation)
(instance-of lessThan RelationExtendedToQuantities)
(nth-domain lessThan 1 RealNumber)
(nth-domain lessThan 2 RealNumber)
(documentation lessThan "The formula (lessThan ?X ?Y) is true if and only if
the number denoted by ?X is less than the number denoted by ?Y.")
(instance-of greaterThan TransitiveRelation)
(instance-of greaterThan IrreflexiveRelation)
(instance-of greaterThan RelationExtendedToQuantities)
(nth-domain greaterThan 1 RealNumber)
(nth-domain greaterThan 2 RealNumber)
(inverse greaterThan lessThan)
(documentation greaterThan "The formula (greaterThan ?X ?Y) is true if and only
if the number denoted by ?X is greater than the number denoted by ?Y.")
(instance-of lessThanOrEqualTo PartialOrderingRelation)
(instance-of lessThanOrEqualTo RelationExtendedToQuantities)
(nth-domain lessThanOrEqualTo 1 RealNumber)
(nth-domain lessThanOrEqualTo 2 RealNumber)
(documentation lessThanOrEqualTo "The formula (lessThan ?X ?Y) is true
if and only if the number denoted by ?X is less than or equal to the number
denoted by ?Y.")
(instance-of greaterThanOrEqualTo PartialOrderingRelation)
(instance-of greaterThanOrEqualTo RelationExtendedToQuantities)
(nth-domain greaterThanOrEqualTo 1 RealNumber)
(nth-domain greaterThanOrEqualTo 2 RealNumber)
(inverse greaterThanOrEqualTo lessThanOrEqualTo)
(documentation greaterThanOrEqualTo "The formula (greaterThan ?X ?Y) is true
if and only if the number denoted by ?X is greater than the number denoted
by ?Y.")
(instance-of equal EquivalenceRelation)
(instance-of equal RelationExtendedToQuantities)
(nth-domain equal 1 Entity)
(nth-domain equal 2 Entity)
(documentation equal "The formula (equal ?X ?Y) is true if and only if ?X is
identical with ?Y.")
(<=>
(lessThanOrEqualTo ?X ?Y)
(or
(equal ?X ?Y)
(lessThan ?X ?Y)))
(<=>
(greaterThanOrEqualTo ?X ?Y)
(or
(equal ?X ?Y)
(greaterThan ?X ?Y)))
;; END FILE
;; BEGIN FILE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; QUANTITIES AND UNITS OF MEASURE ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; The following formulas incorporate 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 section 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-of PhysicalQuantity Quantity)
(partition PhysicalQuantity (SetFn ?X (or (element ?X ConstantQuantity) (element ?X FunctionQuantity))))
(documentation PhysicalQuantity "A physical quantity 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). The first type is called constant quantity and the second
type is called function quantity. All physical quantities are either constant quantities
or function quantities. Instances of ConstantQuantity are dependent on a Unit-Of-Measure, while instances of FunctionQuantity are functions that map instances of ConstantQuantity to other instances of ConstantQuantity (e.g., time-dependent quantities are function quantities). Although the name and definition of PhysicalQuantity is borrowed from physics, physical quantities need not be material. In physics, we talk about dimensions such as length, time, and velocity, but nonphysical dimensions such as currency are also possible. For example, amounts of money are physical quantities. Physical quantities are distinguished from Numbers by the fact that the former are associated with a physical dimension. ")
(subclass-of ConstantQuantity PhysicalQuantity)
(documentation ConstantQuantity "A ConstantQuantity is a constant value of
some PhysicalQuantity, like 3 meters or 55 miles per hour. Constant quantities
are distinguished from function quantities, which map quantities to other
quantities. All constant quantites are expressed with the BinaryFunction MeasureFn, which takes two arguments, viz. a Number and a Unit-Of-Measure. For example, 3 meters can be expressed as (MeasureFn 3 Meter).")
(subclass-of FunctionQuantity PhysicalQuantity)
(subclass-of 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 over some range of time would be represented by a function quantity mapping values of time (which are constant quantities) to velocity vectors (also constant quantities). Note that all instances of FunctionQuantity are Functions with a fixed arity of at least 1. Note too that all elements of the range of an instance of FunctionQuantity have the same physical dimension as the instance of FunctionQuantity itself.")
(subclass-of ScalarQuantity ConstantQuantity)
(documentation ScalarQuantity "A ScalarQuantity is a ConstantQuantity whose
magnitude is a real number. An important property of scalar quantities is that
they form a field with respect to addition and multiplication (with proper
subclass restrictions). The class of scalar quantities forms a partial order
with the lessThan relation, since lessThan is a RelationExtendedToQuantities
and lessThan is defined over the real numbers. The lessThan relation is not a
total order over the class ScalarQuantity since elements from some subclasses
such as length quantities are incomparable to elements from other subclasses such
as mass quantities.")
(subclass-of UnaryScalarFunctionQuantity FunctionQuantity)
(subclass-of UnaryScalarFunctionQuantity UnaryFunction)
(documentation UnaryScalarFunctionQuantity "The class of UnaryFunctions that map from the class ScalarQuantity to the class ScalarQuantity.")
(=>
(instance-of ?X UnaryScalarFunctionQuantity)
(and
(nth-domain ?X 1 ScalarQuantity)
(range ?X ScalarQuantity)))
(subclass-of TimeDependentQuantity UnaryScalarFunctionQuantity)
(subclass-of TimeDependentQuantity ContinuousFunction)
(documentation TimeDependentQuantity "A unary scalar function of continuous time.
All instances of this class map a time quantity into another scalar quantity such as a temperature. For example, a quantity that denotes 'the temperature of the top of the Empire State Building' is a TimeDependentQuantity since its value depends on the time.")
(=>
(instance-of ?X TimeDependentQuantity)
(nth-domain ?X 1 TimeMeasure))
(subclass-of Unit-Of-Measure PhysicalQuantity)
(documentation Unit-Of-Measure "A standard of measurement for some dimension. For example, the Meter is a Unit-Of-Measure for the dimension of length, as is the inch. There is no
intrisic property of a unit that makes it primitive or fundamental; rather, a system-of-units defines a set of orthogonal dimensions and assigns units for each. Therefore, there is no distinguished class for fundamental unit of measure. The magnitude of a unit-of-measure is always a positive real number, using any comparable unit.")
(subclass-of SystemeInternationalUnit Unit-Of-Measure)
(documentation SystemeInternationalUnit "The class of Systeme International (SI)
units.")
(subclass-of LengthMeasure ScalarQuantity)
(subclass-of MassMeasure ScalarQuantity)
(subclass-of TimeMeasure ScalarQuantity)
(subclass-of ElectricCurrentMeasure FunctionQuantity)
(subclass-of ThermodynamicTemperatureMeasure ScalarQuantity)
(subclass-of LuminosityIntensityMeasure FunctionQuantity)
(subclass-of AmountOfSubstanceMeasure ScalarQuantity)
; A necessary physical quantity for what was previously known as supplementary
; units in the SI system
(subclass-of IdentityMeasure ScalarQuantity)
; Derived physical quantities that have units with special names and
; symbols in SI the system
(subclass-of PlaneAngleMeasure IdentityMeasure)
(subclass-of SolidAngleMeasure IdentityMeasure)
(subclass-of FrequencyMeasure TimeDependentQuantity)
(subclass-of ForceMeasure FunctionQuantity)
(subclass-of PressureMeasure FunctionQuantity)
(subclass-of EnergyMeasure FunctionQuantity)
(subclass-of PowerMeasure FunctionQuantity)
(subclass-of ElectricChargeMeasure TimeDependentQuantity)
(subclass-of ElectricPotentialMeasure FunctionQuantity)
(subclass-of CapacitanceMeasure FunctionQuantity)
(subclass-of ElectricResistanceMeasure FunctionQuantity)
(subclass-of ElectricConductanceMeasure FunctionQuantity)
(subclass-of MagneticFluxMeasure FunctionQuantity)
(subclass-of MagneticFluxDensityMeasure FunctionQuantity)
(subclass-of InductanceMeasure FunctionQuantity)
(subclass-of LuminousFluxMeasure FunctionQuantity)
(subclass-of IlluminanceMeasure FunctionQuantity)
(subclass-of ActivityMeasure TimeDependentQuantity)
(subclass-of AbsorbedDoseMeasure FunctionQuantity)
(subclass-of DoseEquivalentMeasure FunctionQuantity)
(subclass-of CatalyticActivityMeasure FunctionQuantity)
; Other physical quantities of interest outside SI
(subclass-of CurrencyMeasure ScalarQuantity)
(subclass-of InformationMeasure ScalarQuantity)
(instance-of MeasureFn BinaryFunction)
(nth-domain MeasureFn 1 RealNumber)
(nth-domain MeasureFn 2 Unit-Of-Measure)
(range MeasureFn ScalarQuantity)
(documentation MeasureFn "This function maps a real number and a unit of measure
to that number of units. It is used for expressing instances of ScalarQuantity. For example, the concept of three meters is represented as (MeasureFn 3 Meter) in the merged ontology.")
(=>
(and
(equal (MeasureFn ?X ?Y) ?Z)
(subclass-of ?Y ?P)
(not (equal ?P Unit-Of-Measure)))
(subclass-of ?Z ?P))
(instance-of MagnitudeFn UnaryFunction)
(nth-domain MagnitudeFn 1 ScalarQuantity)
(range MagnitudeFn RealNumber)
(documentation Magnitude "The magnitude of a ScalarQuantity is a numeric value for the quantity. In other words, the magnitude function converts a quantity with dimension into an ordinary Number. For example, the magnitude of the quantity 2 kilometers is the real number 2. Note that the magnitude of a quantity in a given unit times that unit is equal to the original quantity.")
(equal (MagnitudeFn (MeasureFn ?X ?Y)) ?X)
; Now the units of measure:
; First base units for the SI system. No conversion functions are
; provided for these units.
; Length Base Unit
(instance-of Meter LengthMeasure)
(instance-of Meter SystemeInternationalUnit)
(documentation Meter "SI length unit. symbol: m. It is one of the
base units in SI. Its definition has evolved over time.
It is currently defined as: The meter is the length of the path
traveled by light in vacuum during a time interval of 1/299792458
of a second.")
; Mass Base Unit
(instance-of Kilogram MassMeasure)
(instance-of Kilogram SystemeInternationalUnit)
(documentation Kilogram "SI mass unit. symbol: kg. It is one of the
base units in SI (it is also the basic unit of mass in the MKS system).
It is defined as: The kilogram is the unit of mass;
it is equal to the mass of the international prototype of the kilogram.")
(equal
(MeasureFn ?X Kilogram)
(MeasureFn (MultiplicationFn ?X 1000) Gram))
; Time Base Unit
(instance-of Second-Duration TimeMeasure-Duration)
(instance-of Second-Duration SystemeInternationalUnit)
(documentation Second-Duration "SI time unit. symbol: s. It is one of the
base units in SI. Its definition has evolved over time.
It is currently defined as: The second 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-of Ampere ElectricCurrentMeasure)
(instance-of Ampere SystemeInternationalUnit)
(documentation Ampere "SI electrical current unit. symbol: A. It is one of the
base units in SI. It is defined as: 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 vacuum, would produce between these conductors a force equal to
2*10^(-7) newton per meter of length.")
; Thermodynamic Temperature Base Unit
(instance-of Kelvin ThermodynamicTemperatureMeasure)
(instance-of Kelvin SystemeInternationalUnit)
(documentation Kelvin "SI thermodynamic temperature unit. symbol: K. It
is one of the base units in SI (it is also a unit in the ITS system).
It is defined as: The kelvin, unit of thermodynamic
temperature, is the fraction 1/273.16 of the thermodynamic temperature
of the triple point of water.")
; Amount Of Substance Base Unit
(instance-of Mole AmountOfSubstanceMeasure)
(instance-of Mole SystemeInternationalUnit)
(documentation Mole "SI amout of substance unit. symbol: mol. It is
one of the base units in SI. It is defined as: 1. The mole is the amount of
substance of a system which contains as many elementary entities as
there are atoms in 0.012 kilogram of carbon 12; its symbol is mol.
2. When the mole is used, the elementary entities must be specified
and may be atoms, molecules, ions, electrons, other particles, or
specified groups of such particles.")
; Luminosity Intensity Base Unit
(instance-of Candela LuminosityIntensityMeasure)
(instance-of Candela SystemeInternationalUnit)
(documentation Candela "SI luminous intensity unit. symbol: cd. It is
one of the base units in SI. Its definition has evolved over time.
It is defined as: 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.")
; Now SI units for these quantities that are also
; accepted. They are multiples and submultiples of base units.
(instance-of Centimeter LengthMeasure)
(instance-of Centimeter Unit-Of-Measure)
(documentation Centimeter "submultiple of meter. symbol: cm. It is the 100th part of a meter")
(equal
(MeasureFn ?X Centimeter)
(MeasureFn (MultiplicationFn ?X 0.01) Meter))
(instance-of Kilometer LengthMeasure)
(instance-of Kilometer Unit-Of-Measure)
(documentation Kilometer "multiple of meter. symbol: km. 1 km = 1000 m")
(equal
(MeasureFn ?X Kilometer)
(MeasureFn (MultiplicationFn ?X 1000) Meter))
(instance-of Gram MassMeasure)
(instance-of Gram Unit-Of-Measure)
(documentation Gram "submultiple of kilogram. symbol: g. 1 kg = 1000 g")
(equal
(MeasureFn ?X Gram)
(MeasureFn (MultiplicationFn ?X 0.001) Kilogram))
(instance-of Nano-Second TimeMeasure)
(instance-of Nano-Second Unit-Of-Measure)
(documentation Nano-Second "submultiple of second. symbol: ns. A unit of measure equal to one
billionth of a second.")
(equal
(MeasureFn ?X Nano-Second)
(MeasureFn (MultiplicationFn ?X 1.0E-9) Second))
(instance-of Pico-Second TimeMeasure-Duration)
(instance-of Pico-Second Unit-Of-Measure)
(documentation Pico-Second "submultiple of second. symbol: ps. A unit
of measure equal to one trillionth of an second")
(equal
(MeasureFn ?X Pico-Second)
(MeasureFn (Multiplication ?X 1.0E-12) Second-Duration))
(instance-of Milli-Ampere ElectricCurrentMeasure)
(instance-of Milli-Ampere Unit-Of-Measure)
(documentation Milli-Ampere "submultiple of ampere. symbol: mA. A unit of electrical current
equal to one thousandth of an ampere.")
(equal
(MeasureFn ?X Milli-Ampere)
(MeasureFn (MultiplicationFn ?X .001) Ampere))
(instance-of Nano-Ampere ElectricCurrentMeasure)
(documentation Nano-Ampere "submultiple of ampere. symbol: nA. A unit of electrical current
equal to one billionth of an ampere.")
(equal
(MeasureFn ?X Nano-Ampere)
(MeasureFn (MultiplicationFn ?X 1.0E-9) Ampere))
(instance-of Pico-Ampere ElectricCurrentMeasure)
(instance-of Pico-Ampere Unit-Of-Measure)
(documentation Pico-Ampere "submultiple of ampere. symbol: pA. A unit of electrical current
equal to one trillionth of an ampere.")
(equal
(MeasureFn ?X Pico-AmpereFn)
(MeasureFn (MultiplicationFn ?X 1.0E-12) Ampere))
; Now, derived SI units with special names and symbols
; including some prefixed units (multiples and submultiples are together
; since they represent quantities of the same kind).
; Plane angle unit
(instance-of Radian PlaneAngleMeasure)
(instance-of Radian SystemeInternationalUnit)
(documentation Radian "SI plane angle measurement unit. symbol: rad.
It is angle of a circle subtended by an arc equal in length to the
circle's radius. Another definition can be: 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-of Steradian SolidAngleMeasure)
(instance-of Steradian SystemeInternationalUnit)
(documentation Steradian "SI solid angle measurement unit. 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
can be: 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-of Hertz FrequencyMeasure)
(instance-of Hertz SystemeInternationalUnit)
(documentation Hertz "SI fequency unit. symbol: Hz. It is the number
of cycles per second. hertz = s^(-1)")
; NOTE: Hertz does not have a conversion function.
(instance-of Giga-Hertz FrequencyMeasure)
(instance-of Giga-Hertz Unit-Of-Measure)
(documentation Giga-Hertz "multiple of hertz. symbol: GHz. A unit of frequency equal to
one billion times per second. 1 gigahertz = 10^9 Hz")
(equal
(MeasureFn ?X Giga-Hertz)
(MeasureFn (MultiplicationFn ?X 1.0E9) Hertz))
(instance-of Kilo-Hertz FrequencyMeasure)
(instance-of Kilo-Hertz Unit-Of-Measure)
(documentation Kilo-Hertz "multiple of hertz. symbol: kHz. A unit of frequency equal to
one thousand times per second. 1 kilohertz = 10^3 Hz")
(equal
(MeasureFn ?X Kilo-Hertz)
(MeasureFn (MultiplicationFn ?X 1000) Hertz))
(instance-of Mega-Hertz FrequencyMeasure)
(instance-of Mega-Hertz Unit-Of-Measure)
(documentation Mega-Hertz "multiple of hertz. symbol: MHz. A unit of frequency equal to
one million times per second. 1 megahertz = 10^6 Hz")
(equal
(MeasureFn ?X Mega-Hertz)
(MeasureFn (MultiplicationFn ?X 1.0E6) Hertz))
; Force Unit
(instance-of Newton ForceMeasure)
(instance-of Newton SystemeInternationalUnit)
(documentation Newton "SI force unit. symbol: N. It is that force which gives to
a mass of 1 kilogram an acceleration of 1 meter per second. newton = m*kg*s^(-2)")
; Pressure unit
(instance-of Pascal PressureMeasure)
(instance-of Pascal SystemeInternationalUnit)
(documentation Pascal "SI pressure unit. symbol:Pa. It is the pressure
of one newton per square meter. pascal = N/m^2 = m^(-1)*kg*s^(-2)")
(instance-of Mega-Pascal PressureMeasure)
(instance-of Mega-Pascal Unit-Of-Measure)
(documentation Mega-Pascal "multiple of pascal. symbol: MPa. A unit of
pressure equal to one million pascal. 1 megapascal = 10^6 Pa")
(equal
(MeasureFn ?X Mega-Pascal)
(MeasureFn (MultiplicationFn ?X 1.0E6) Pascal))
; Energy Unit
(instance-of Joule EnergyMeasure)
(instance-of Joule SystemeInternationalUnit)
(documentation Joule "SI energy unit. 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-of Watt PowerMeasure)
(instance-of Watt SystemeInternationalUnit)
(documentation Watt "SI power unit. symbol: W. A unit that measures power,
ie energy produced or expended divided by unit of time. It is the power
which gives rise to the production of energy (or work) at the rate of one joule
per second. watt = J/s = m^2*kg*s^(-3)")
;;; Note: According to SI one should not use the expression "per unit of"
(instance-of Kilo-Watt PowerMeasure)
(instance-of Kilo-Watt Unit-Of-Measure)
(documentation Kilo-Watt "multiple of watt. symbol: kW. A unit that measures power, ie
energy produced by unit of time. It is one thousand watts. 1 kilo-watt = 1000 W")
(equal
(MeasureFn ?X Kilo-Watt)
(MeasureFn (MultiplicationFn ?X 1000) Watt))
; Electric Charge Units
(instance-of Coulomb ElectricChargeMeasure)
(instance-of Coulomb SystemeInternationalUnit)
(documentation Coulomb "SI charge unit. symbol: C. It is the quantity of
electric charge transported through a cross section of a conductor
in an electric circuit during each second by a current of 1 ampere.
coulomb = s*A")
(equal
(MeasureFn ?X Coulomb)
(PerFn (MeasureFn ?X Ampere) (MeasureFn 1 Second-Duration)))
; Electric Potential Units
(instance-of Volt ElectricPotentialMeasure)
(instance-of Volt SystemeInternationalUnit)
(documentation Volt "SI electric potential unit. 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)")
(instance-of Micro-Volt ElectricPotentialMeasure)
(instance-of Micro-Volt Unit-Of-Measure)
(documentation Micro-Volt "submultiple of volt. symbol: mV. A unit for
measuring electrical potential equal to one millionth of a volt.
1 micro volt = 10^(-6) V")
(equal
(MeasureFn ?X Micro-Volt)
(MeasureFn (MultiplicationFn ?X 0.000001) Volt))
(instance-of milli-volt ElectricPotentialMeasure)
(instance-of Milli-Volt Unit-Of-Measure)
(documentation Milli-Volt "submultiple of volt. symbol: mV. A unit of
electrical potential equal to one thousandth of a volt. 1 milli volt = 10^(-3) V")
(equal
(MeasureFn ?X Milli-Volt)
(MeasureFn (MultiplicationFn ?X .001) Volt))
; Capacitance Units
(instance-of Farad CapacitanceMeasure)
(instance-of Farad SystemeInternationalUnit)
(documentation Farad "SI capacitance unit. 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-of Ohm ElectricResistanceMeasure)
(instance-of Ohm SystemeInternationalUnit)
(documentation Ohm "SI electric resistance unit. 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)")
(instance-of Mega-Ohm ElectricResistanceMeasure)
(instance-of Mega-Ohm Unit-Of-Measure)
(documentation Mega-Ohm "multiple of ohm. Electric resistance unit equal
to one million ohm. 1 megaohm = 10^(6) ohms")
(equal
(MeasureFn ?X Mega-Ohm)
(MeasureFn (MultiplicationFn ?X 1.0E6) Ohm))
(instance-of Micro-Ohm ElectricResistanceMeasure)
(instance-of Micro-Ohm Unit-Of-Measure)
(documentation Micro-Ohm "submultiple of ohm. Electric resistance unit
equal to the millionth part of a ohm. 1 microohm = 10^(-6) ohms")
(equal
(MeasureFn ?X Micro-Ohm)
(MeasureFn (MultiplicationFn ?X 0.000001) Ohm))
; Electric Conductance Units
(instance-of Siemens ElectricConductanceMeasure)
(instance-of Siemens SystemeInternationalUnit)
(documentation Siemens "SI unit for electric conductance. 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-of Weber MagneticFluxMeasure)
(instance-of Weber SystemeInternationalUnit)
(documentation Weber "SI unit for magnetic flux. 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 second. weber = V*s = m^2*kg*s^(-2)*A^(-1)" )
; Magnetic Flux Density Units
(instance-of Tesla MagneticFluxDensityMeasure)
(instance-of Tesla SystemeInternationalUnit)
(documentation Tesla "SI unit for magnetic flux density. symbol: T.
One tesla equals one weber per square meter. tesla = Wb/m^2 = kg*s^(-2)*A^(-1)")
; Inductance Units
(instance-of Henry InductanceMeasure)
(instance-of Henry SystemeInternationalUnit)
(documentation Henry "SI unit for inductance. symbol: H.
One henry is equivalent to one volt divided by one ampere per second.
If a current changing at the rate of one ampere per second 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-of Celcius ThermodynamicTemperatureMeasure)
(instance-of Celcius SystemeInternationalUnit)
(documentation Celcius "A unit for measuring temperature.
Kelvin differs from the Celcius scale that the triple point of water
is defined to be 273.16 degrees Kelvin while it is 0 degrees
Celcius. The boiling point of water is 100 degrees Celcius.
The magnitudes of intervals in two scales are the same. By definition
the conversion constant is 273.15")
(equal
(MeasureFn ?X Celcius)
(MeasureFn (SubtractionFn ?X 273.15) Kelvin))
; Luminous Flux Units
(instance-of Lumen LuminousFluxMeasure)
(instance-of Lumen SystemeInternationalUnit)
(documentation Lumen "SI unit for luminous flux. 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-of Lux IlluminanceMeasure )
(instance-of Lux SystemeInternationalUnit)
(documentation Lux "SI unit for illuminance. 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 metre from a point
source of one candela. lux = lm/m^2 = m^(-2)*cd")
; Activity Units
(instance-of Becquerel ActivityMeasure)
(instance-of Becquerel SystemeInternationalUnit)
(documentation Becquerel "SI unit for activity. 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 second.
Becquerel = s^(-1)")
; Absorbed Dose Units
(instance-of Gray AbsorbedDoseMeasure)
(instance-of Gray SystemeInternationalUnit)
(documentation Gray "SI unit for absorbed dose. 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-of Sievert DoseEquivalentMeasure)
(instance-of Sievert SystemeInternationalUnit)
(documentation Sievert "SI unit for dose equivalent. 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)")
; Catalytic Activity Units
(instance-of Katal CatalyticActivityMeasure)
(instance-of Katal SystemeInternationalUnit)
(documentation Katal "SI unit for catalytic activity. symbol: kat")
; Units that are accepted for -use- with SI
(instance-of Day-Duration TimeMeasure-Duration)
(instance-of Day-Duration Unit-Of-Measure)
(documentation Day-Duration "Time unit. 1 day = 24 hours")
(equal
(MeasureFn ?X Day-Duration)
(MeasureFn (MultiplicationFn ?X 24) Hour-Duration))
(instance-of Hour-Duration TimeMeasure-Duration)
(instance-of Hour-Duration Unit-Of-Measure)
(documentation Hour-Duration "Time unit. 1 hour = 60 minutes.")
(equal
(MeasureFn ?X Hour-Duration)
(MeasureFn (MultiplicationFn ?X 60) Minute-Duration))
(instance-of Minute-Duration TimeMeasure-Duration)
(instance-of Minute-Duration Unit-Of-Measure)
(documentation Minute-Duration "Time unit. 1 minute = 60 second ")
(equal
(MeasureFn ?X Minute-Duration)
(MeasureFn (MultiplicationFn ?X 60) Second-Duration))
(instance-of Month-Duration TimeMeasure-Duration)
(instance-of Month-Duration Unit-Of-Measure)
(documentation Month-Duration "Time unit. 1/12th of a year.")
(instance-of Year-Duration TimeMeasure-Duration)
(instance-of Year-Duration Unit-Of-Measure)
(documentation Year-Duration "Time unit. one calendar year. 1 year =
365 day = 31536000 second")
(equal
(MeasureFn ?X Year-Duration)
(MeasureFn (MultiplicationFn ?X 365) Day-Duration))
; Now units that are also accepted for -use- with SI whose values in the SI units
; are obtained experimentally
(instance-of Amu MassMeasure)
(instance-of Amu Unit-Of-Measure)
(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 ?X Amu)
(MeasureFn (MultiplicationFn ?X 1.6605402E-27) Kilogram))
(instance-of Electronvolt EnergyMeasure)
(instance-of ElectronVolt Unit-Of-Measure)
(documentation electronvolt "The elecronvolt is an energy measure. symbol: eV.
It is the kinetic energy acquired by an electron in passing through a
potential difference of 1 V in vacuum.")
(equal
(MeasureFn ?X Electronvolt)
(MeasureFn (MultiplicationFn ?X 1.60217733E-19) Joule))
; Units -temporarily- accepted for -use- with SI
(instance-of Angstrom LengthMeasure)
(instance-of Angstrom Unit-Of-Measure)
(documentation Angstrom "The angstrom is a length measure.
1 agstrom = 10^(-10) m")
(equal
(MeasureFn ?X angstrom)
(MeasureFn (MultiplicationFn ?X 1.0E-10) meter))
; Other units of measure -outside- SI.
; These units are unacceptable in SI but accepted in other systems.
; More Length units
(instance-of Foot LengthMeasure)
(instance-of Foot Unit-Of-Measure)
(documentation Foot "English length unit of feet.")
(equal
(MeasureFn ?X Foot)
(MeasureFn (MultiplicationFn ?X 0.3048) Meter))
(instance-of Inch LengthMeasure)
(instance-of Inch Unit-Of-Measure)
(documentation Inch "English length unit.")
(equal
(MeasureFn ?X Inch)
(MeasureFn (MultiplicationFn ?X 0.0254) meter))
(instance-of Mile LengthMeasure)
(instance-of Mile Unit-Of-Measure)
(documentation Mile "English length unit.")
(equal
(MeasureFn ?X Mile)
(MeasureFn (MultiplicationFn ?X 1609.344) meter))
; More Mass units
(instance-of AtomGram MassMeasure)
(instance-of AtomGram Unit-Of-Measure)
(Documentation AtomGram "AKA gram-atom. Defined as the mass in grams
of a 1 mole of pure substance. For example, 1 atom-gram of Carbon 12
will be 12 grams of pure Carbon 12. 2 atom-grams of the same substance
will be 24 grams of it. This is an unusual unit that it is essentially
1 mole of 'stuff' but measured in grams so that the actual value
(i.e. mass) depends on the type of substance.")
(instance-of Pound-Mass MassMeasure)
(instance-of Pound-Mass Unit-Of-Measure)
(documentation Pound-Mass "English mass unit.")
(equal
(MeasureFn ?X Pound-Mass)
(MeasureFn (MultiplicationFn ?X 0.45359237) Kilogram))
(instance-of Slug MassMeasure)
(instance-of Slug Unit-Of-Measure)
(documentation Slug "English mass unit.")
(equal
(MeasureFn ?X Slug)
(MeasureFn (MultiplicationFn ?X 14.59390) Kilogram))
; More Thermodynamic Temperature units
(instance-of Rankine ThermodynamicTemperatureMeasure)
(instance-of Rankine Unit-Of-Measure)
(documentation Rankine "0 degree Rankine is the same as
the absolute zero (i.e. 0 degree Kelvin). The magnitudes of a
degree Rankine is the same as that of a degree Fahrenheit.")
(equal
(MeasureFn ?X Rankine)
(MeasureFn (MultiplicationFn ?X 1.8) Kelvin))
; More Force units
(instance-of Pound-Force ForceMeasure)
(instance-of Pound-Force Unit-Of-Measure)
(documentation Pound-Force "English pound of force. The conversion
factor depends on the local value of the acceleration of free fall. A
mean value is used. ")
(equal
(MeasureFn ?X Pound-Force)
(MeasureFn (MultiplicationFn ?X 4.448222) newton))
; More Energy units
(instance-of Calorie EnergyMeasure)
(instance-of Calorie Unit-Of-Measure)
(documentation Calorie "A calorie is an energy unit.")
(equal
(MeasureFn ?X Calorie)
(MeasureFn (MultiplicationFn ?X 4.1868) Joule))
(instance-of BritishThermalUnit EnergyMeasure)
(instance-of BritishThermalUnit Unit-Of-Measure)
(documentation BritishThermalUnit "British thermal unit is a unit of energy.")
(equal
(MeasureFn ?X BritishThermalUnit)
(MeasureFn (MultiplicationFn ?X 1055.05585262) Joule))
; More plane angle units
(instance-of AngularDegree IdentityMeasure)
(instance-of AngularDegree Unit-Of-Measure)
(documentation AngularDegree "Angular degree is a plane angle unit")
(equal
(MeasureFn ?X AngularDegree)
(MeasureFn (MultiplicationFn ?X (DivisionFn Pi-TheNumber 180)) Radian))
; Other interesting units of measure
; Currency units
(instance-of Dollar-UnitedStates CurrencyMeasure)
(instance-of Dollar-UnitedStates Unit-Of-Measure)
(documentation Dollar-UnitedStates "A currency unit.")
(instance-of Cent-UnitedStates CurrencyMeasure)
(instance-of Cent-UnitedStates Unit-Of-Measure)
(documentation Cent-UnitedStates "A currency unit. 1 US cent = 10^-2
US dollar")
(equal
(MeasureFn ?X Cent-UnitedStates)
(MeasureFn (MultiplicationFn ?X .01) Dollar-UnitedStates))
; Information units
(instance-of Bit InformationMeasure)
(instance-of Bit Unit-Of-Measure)
(documentation Bit "One bit of information. A one or a zero.")
(instance-of Byte InformationMeasure)
(instance-of Byte Unit-Of-Measure)
(documentation Byte "One byte of information. A byte is eight bits.")
(equal
(MeasureFn ?X Byte)
(MeasureFn (MultiplicationFn ?X 8) Bit))
(instance-of Kilo-Byte InformationMeasure)
(instance-of Kilo-Byte Unit-Of-Measure)
(documentation Kilo-Byte "One Kilo byte (K) of information. One K is
1024 bytes. This Kilo is different from the prefix kilo accepted in
the SI system.")
(equal
(MeasureFn ?X Kilo-Byte)
(MeasureFn (MultiplicationFn ?X 1024) Byte))
(instance-of Mega-Byte InformationMeasure)
(instance-of Mega-Byte Unit-Of-Measure)
(documentation Mega-Byte "One Mega byte (MB) of information. One MB
is 1024 K. This mega is different from the prefix mega accepted in
the SI system.")
(equal
(MeasureFn ?X Mega-Byte)
(MeasureFn (MultiplicationFn ?X 1024) Kilo-Byte))
;; The following content was inspired by the Quantities ontology developed
;; by ITBM-CRN.
(instance-of measure AsymmetricRelation)
(nth-domain measure 1 Object)
(nth-domain measure 2 ScalarQuantity)
(documentation measure "A very general relation for asserting that a particular
object is measured by a particular quantity. In general, the second argument of
this relation, and its subrelations, will be an instance of the Function MeasureFn.")
(=>
(exists (?X ?Y)
(and
(measure ?A ?X)
(measure ?B ?Y)
(not
(equal ?X ?Y))))
(not
(equal ?A ?B)))
(subrelation-of age measure)
(nth-domain age 1 Object)
(nth-domain age 2 TimeMeasure-Duration)
(documentation age "Simply relates an Object to a ScalarQuantity specifying the age of the Object.")
(=>
(age ?X ?Y)
(exists (?Z ?W)
(and
(instance-of ?Z TimeMeasure-Duration)
(equal ?Y (MeasureFn ?W ?Z)))))
(subrelation-of length measure)
(singleValued length 2)
(=>
(length ?X ?Y)
(exists (?Z ?W)
(and
(instance-of ?Z LengthMeasure)
(equal ?Y (MeasureFn ?W ?Z)))))
(subrelation-of width length)
(documentation "Used to state the measure of an Object from side to side at its widest span.")
(subrelation-of diameter width)
(documentation diameter "Used to state the measure of a circular object from side to side at its widest span.")
(subrelation-of height length)
(documentation "Used to state the measure of Object from top to bottom at its highest span.")
(instance-of distance SpatialRelation)
(instance-of distance TernaryRelation)
(nth-domain distance 1 Physical)
(nth-domain distance 2 Physical)
(nth-domain distance 3 LengthMeasure)
(singleValued distance 3)
(documentation distance "(distance ) means that the distance between the two objects and is .")
(=>
(distance ?X ?Y ?Z)
(exists (?V ?W)
(and
(instance-of ?V LengthMeasure)
(equal ?Z (MeasureFn ?W ?V)))))
(instance-of larger SpatialRelation)
(instance-of larger TransitiveRelation)
(instance-of larger IrreflexiveRelation)
(nth-domain larger 1 Object)
(nth-domain larger 2 Object)
(documentation larger "Simply means that the Object denoted by the first argument is larger, along some physical dimension, than the Object denoted by the second argument.")
(=>
(larger ?X ?Y)
(exists (?A ?B ?C)
(and
(measure ?X (MeasureFn ?A ?C))
(measure ?Y (MeasureFn ?B ?C))
(greaterThan ?A ?B))))
(instance-of smaller SpatialRelation)
(instance-of smaller TransitiveRelation)
(instance-of smaller IrreflexiveRelation)
(nth-domain smaller 1 Object)
(nth-domain smaller 2 Object)
(inverse smaller larger)
(documentation smaller "Simply means that the Object denoted by the first argument is smaller, along some physical dimension, than the Object denoted by the second argument.")
(=>
(smaller ?X ?Y)
(exists (?A ?B ?C)
(and
(measure ?X (MeasureFn ?A ?C))
(measure ?Y (MeasureFn ?B ?C))
(lessThan ?A ?B))))
(subrelation-of monetaryValue measure)
(singleValued monetaryValue 2)
(documentation monetaryValue "A BinaryRelation that associates an Object with its value in terms of a CurrencyMeasure.")
(=>
(monetaryValue ?X ?Y)
(exists (?Z ?W)
(and
(instance-of ?Z CurrencyMeasure)
(equal ?Y (MeasureFn ?W ?Z)))))
;; END FILE
;; BEGIN FILE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ORGANIC OBJECTS AND PROCESSES ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; The following formulas incorporate the content in the Natural-Kinds ontology
;; developed by the CNR-ITBM group. This content is essentially a set of high-
;; level biological categories.
(subclass-of Plant Organism)
(documentation Plant "An organism having cellulose cell walls, growing by
synthesis of inorganic substances, generally distinguished by the presence of
chlorophyll, and lacking the power of locomotion. Plant parts are included here as well.")
(=>
(instance-of ?X Plant)
(exists (?Y ?Z)
(and
(component-of ?Y ?X)
(instance-of ?Y Pigment)
(result ?Z ?Y)
(instance-of ?Z Photosynthesis))))
(subclass-of Animal Organism)
(documentation Animal "An organism with eukaryotic cells, and lacking stiff cell walls, plastids and photosynthetic pigments.")
(disjoint Plant Animal)
(=>
(instance-of ?X Animal)
(exists (?Y ?Z)
(and
(component-of ?Y ?X)
(instance-of ?Y Cell)
(part-of ?Z ?Y)
(instance-of ?Z CellWall-NonRigid))))
(subclass-of Microorganism Organism)
(documentation Microorganism "An Organism that can be seen only with the aid of a microscope.")
(subclass-of Archaeon Microorganism)
(documentation Archaeon "An element of one of the three domains of life, formerly called Archaebacteria under the taxon Bacteria, but now considered separate and distinct. Archaea are characterized by: 1. the presence of characteristic tRNAs and ribosomal RNAs; 2. the absence of peptidoglycan cell walls; 3. the presence of ether-linked lipids built from branched-chain subunits; and 4. their occurrence in unusual habitats. While archaea resemble bacteria in morphology and genomic organization, they resemble eukarya in their method of genomic replication. Thermoproteales; Methanospirillum; Haloferax volcanii.")
(subclass-of Bacterium Microorganism)
(documentation Bacterium "A small, typically one-celled, prokaryotic micro-
organism.")
(=>
(instance-of ?X Bacterium)
(cardinality (SetFn ?Y (and (component-of ?Y ?X) (instance-of ?Y Cell)))
1))
(=>
(and
(instance-of ?X Bacterium)
(located-at ?X ?Y))
(instance-of ?Y OrganicObject))
(subclass-of 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-of ?X Virus)
(cardinality (SetFn ?Y (and (component-of ?Y ?X) (instance-of ?Y
Molecule))) 1))
(=>
(and
(instance-of ?X Virus)
(instance-of ?Y Replication)
(effector-of ?Y ?X))
(exists (?Z)
(and
(located-at ?Y ?Z)
(instance-of ?Z Cell))))
(=>
(and
(instance-of ?X Virus)
(located-at ?X ?Y))
(instance-of ?Y OrganicObject))
(subclass-of Chlamydia Microorganism)
(documentation Chlamydia "An organism intermediate in size and complexity
between a virus and a bacterium, and which is parasitic within the cells of
insects and ticks. Included here are all the chlamydias, also called 'PLT' for
psittacosis-lymphogranuloma venereum-trachoma.")
(=>
(instance-of ?X Chlamydia)
(exists (?Y ?Z)
(and
(lives-in ?X ?Y)
(instance-of ?Y Cell)
(component-of ?Y ?Z)
(or
(instance-of ?Z Insect)
(instance-of ?Z Tick)))))
(=>
(and
(instance-of ?X Chlamydia)
(located-at ?X ?Y))
(instance-of ?Y OrganicObject))
(subclass-of Vertebrate Animal)
(documentation Vertebrate "An animal which has a spinal column.")
(=>
(instance-of ?X Vertebrate)
(exists (?Y)
(and
(component-of ?Y ?X)
(instance-of ?Y SpinalColumn))))
(subclass-of Invertebrate Animal)
(disjoint Vertebrate Invertebrate)
(documentation Invertebrate "An animal which has no spinal column. This type has no children in the network and is assigned to all invertebrate animals.")
(subclass-of Arthropod Invertebrate)
(documentation Arthropod "A phylum of Invertebrate that includes Arachnids and Insects.")
(subclass-of Arachnid Arthropod)
(documentation Arachnid "A class of Arthropods that includes Ticks and Spiders.")
(subclass-of Spider Arachnid)
(documentation Spider "An order of Arachnids characterized by an unsegmented abdomen, poisonous fangs, and an ability to spin thread.")
(subclass-of Tick Arachnid)
(documentation Tick "A subclass of Arachnids that attach themselves to instances of Vertebrate-WarmBlooded and feed off of their blood.")
(subclass-of Insect Arthropod)
(documentation Insect "A subclass of Arthropods that is distinguished by its body appearance.")
(subclass-of Vertebrate-ColdBlooded Vertebrate)
(documentation Vertebrate-ColdBlooded "Vertebrates whose body temperature is not internally regulated.")
(subclass-of Vertebrate-WarmBlooded Vertebrate)
(documentation Vertebrate-WarmBlooded "Vertebrates whose body temperature is internally regulated.")
(disjoint Vertebrate-WarmBlooded Vertebrate-ColdBlooded)
(subclass-of Alga Plant)
(documentation Alga "A chiefly aquatic plant that contains chlorophyll, but does not form embryos during development and lacks vascular tissue.")
(=>
(instance-of ?X Alga)
(exists (?Y)
(and
(lives-in ?X ?Y)
(instance-of ?Y Water))))
(subclass-of Amphibian Vertebrate-ColdBlooded)
(disjoint Amphibian Reptile)
(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-of Bird Vertebrate-WarmBlooded)
(disjoint Bird Mammal)
(documentation Bird "A vertebrate having a constant body temperature and
characterized by the presence of feathers.")
(subclass-of Fish Vertebrate-ColdBlooded)
(disjoint Fish Reptile)
(documentation Fish "A cold-blooded aquatic vertebrate characterized by fins and breathing by gills. Included here are fishes having either a bony skeleton, such as a perch, or a cartilaginous skeleton, such as a shark, or those lacking a jaw, such as a lamprey or hagfish.")
(=>
(instance-of ?X Fish)
(exists (?Y)
(and
(lives-in ?X ?Y)
(instance-of ?Y Water))))
(subclass-of Fungus Plant)
(documentation Fungus "A eukaryotic organism characterized by the absence of chlorophyll and the presence of a rigid cell wall. Included here are both slime molds and true fungi such as yeasts, molds, mildews, and mushrooms.")
(=>
(instance-of ?X Fungus)
(exists (?Y)
(and
(component-of ?Y ?X)
(instance-of ?Y CellWall-Rigid))))
(=>
(and
(instance-of ?X Fungus)
(located-at ?X ?Y))
(instance-of ?Y OrganicObject))
(subclass-of Mammal Vertebrate-WarmBlooded)
(documentation Mammal "A vertebrate having a constant body temperature and
characterized by the presence of hair, mammary glands and sweat glands.")
(subclass-of Human Mammal)
(documentation Human "Modern man, the only remaining species of the Homo genus. If a term describes a human being from the point of view of occupational, family, social status, etc., then a type from the 'Group' hierarchy is assigned instead.")
(subclass-of Reptile Vertebrate-ColdBlooded)
(documentation Reptile "A cold-blooded vertebrate having an external covering of scales or horny plates. Reptiles breathe by means of lungs and are generally egg-laying.")
;; The following formulas cover biologically related classes under 'ContinuousObject'.
(subclass-of BiologicallyActiveSubstance ContinuousObject)
(documentation BiologicallyActiveSubstance "A ContinousObject that is capable of inducing a change in the structure or functioning of an Organism.")
(subclass-of ToxicSubstance BiologicallyActiveSubstance)
(documentation ToxicSubstance "A substance of concern because of its potentially hazardous or toxic effects. This would include most drugs of abuse, as well as agents that require special handling because of their toxicity. Most pharmaceutical agents, although potentially harmful, are excluded here and are assigned to the type PharmacologicSubstance.")
(subclass-of PharmacologicSubstance BiologicallyActiveSubstance)
(documentation PharmacologicSubstance "A substance used in the treatment, diagnosis, prevention, or analysis of normal and abnormal body function. This includes substances that occur naturally in the body and are administered therapeutically.")
(subclass-of Nutrient BiologicallyActiveSubstance)
(documentation BiologicallyActiveSubstance "A substance produced or required by an organism, of primary interest because of its role in the biologic functioning of the organism that produces it.")
(subclass-of Protein Nutrient)
(documentation Proteint "A Nutrient made up of amino acids joined by peptide bonds.")
(subclass-of 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-of Vitamin Nutrient)
(documentation Vitamin "A substance, usually an organic chemical complex, present in natural products or made synthetically, which is essential in the diet of man or other higher animals. Included here are vitamin precursors and provitamins.")
(subclass-of BodySubstance OrganicSubstance)
(documentation BodySubstance "Extracellular material, or mixtures of cells and extracellular material, produced, excreted, or accreted by the body. Included here are substances such as saliva, dental enamel, sweat, and gastric acid.")
(subclass-of 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 only to the type 'Pharmacologic Substance'. Hormones act as chemical messengers and regulate various physiologic processes such as growth, reproduction, metabolism, etc. They usually fall into two broad classes, steroid hormones and peptide hormones.")
(subclass-of Blood BodySubstance)
(documentation Blood "A fluid present in Animals that transports Nutrients to and waste products away from various parts of the body.")
(subclass-of Pigment BodySubstance)
(documentation Pigment "A coloring that is present in the Cells of Organisms.")
(=>
(instance-of ?STUFF Pigment)
(exists (?ORGANISM)
(and
(instance-of ?ORGANISM Organism)
(part-of ?STUFF ?ORGANISM))))
(subclass-of ToxicOrganism Organism)
(documentation ToxicOrganism "The class of organisms which are poisonous or hazardous in some way to other organisms.")
(subclass-of Food OrganicObject)
(documentation Food "Any substance containing nutrients, such as carbohydrates, proteins, and fats, that can be ingested by a living organism and metabolized into energy and body tissue. Some foods are naturally occurring, others are either partially or entirely made by humans.")
(=>
(instance-of ?FOOD Food)
(exists (?NUTRIENT)
(and
(instance-of ?NUTRIENT Nutrient)
(part-of ?NUTRIENT ?FOOD))))
(=>
(instance-of ?FOOD Food)
(exists (?ORGANISM)
(and
(instance-of ?ORGANISM Organism)
(poss (exploits ?FOOD ?ORGANISM)))))
(subclass-of AnatomicalStructure OrganicObject)
(documentation AnatomicalStructure "A normal or pathological part of the anatomy or structural organization of an organism.")
(disjoint AnatomicalStructure Organism)
(=>
(instance-of ?ANAT AnatomicalStructure)
(exists (?ORGANISM)
(and
(instance-of ?ORGANISM Organism)
(part-of ?ANAT ?ORGANISM))))
(subclass-of BodyPart AnatomicalStructure)
(documentation BodyPart "A collection of cells and tissues which are localized to a specific area or combine and carry out one or more specialized functions of an organism. This ranges from gross structures to small components of complex organs. These structures are relatively localized in comparison to tissues.")
(subclass-of BodyJunction BodyPart)
(documentation BodyJunction "The place where two anatomical structures meet or connect.")
(=>
(instance-of ?JUNCT BodyJunction)
(exists (?STRUCT)
(and
(instance-of ?STRUCT AnatomicalStructure)
(component-of ?JUNCT ?STRUCT))))
(=>
(instance-of ?JUNCT BodyJunction)
(exists (?STRUCT1 ?STRUCT2)
(and
(connected ?JUNCT ?STRUCT1)
(connected ?JUNCT ?STRUCT2)
(instance-of ?STRUCT1 AnatomicalStructure)
(instance-of ?STRUCT2 AnatomicalStructure)
(not
(equal ?STRUCT1 ?STRUCT2)))))
(subclass-of Cell BodyPart)
(documentation Cell "The fundamental structural and functional unit of living organisms.")
(=>
(and
(instance-of ?CELL Cell)
(developmentalForm ?CELL ?FORM))
(instance-of ?FORM Cell))
(subclass-of CellWall BodyPart)
(documentation CellWall "The permeable wall that encloses the cells of most Organisms.")
(=>
(instance-of ?WALL CellWall)
(exists (?CELL)
(and
(instance-of ?CELL Cell)
(part-of ?WALL ?CELL))))
(subclass-of CellWall-Rigid CellWall)
(documentation CellWall-Rigid "A type of CellWall found in Plants.")
(subclass-of CellWall-NonRigid CellWall)
(documentation CellWall-NonRigid "A type of CellWall found in Animals.")
(subclass-of Organ BodyPart)
(documentation Organ "A somewhat independent body part that performs a specialized function.")
(=>
(instance-of ?ORGAN Organ)
(exists (?CELL)
(and
(instance-of ?CELL Cell)
(part-of ?CELL ?ORGAN))))
(subclass-of SpinalColumn Organ)
(documentation SpinalColumn "A flexible column made out of bones called vertebrae. The main function of the SpinalColumn is to protect the spinal cord.")
(subclass-of Gland Organ)
(documentation Gland "An Organ that removes substances from the blood, alters them in some way, and then releases them.")
(subclass-of Tissue AnatomicalStructure)
(documentation Tissue "An aggregation of similarly specialized cells and the associated intercellular substance. Tissues are relatively non-localized in comparison to body parts, organs or organ components. As far as distinctions made to now are concerned, the main feature of tissues is self-connexity and being a homogeneous mass (all parts in the same granularity are tissue as well); though, the definition needs extension.")
(disjoint Tissue BodyPart)
(=>
(instance-of ?STUFF Tissue)
(exists (?PART)
(and
(instance-of ?PART Cell)
(part-of ?PART ?STUFF))))
(=>
(instance-of ?STUFF Tissue)
(exists (?ORGANISM)
(and
(instance-of ?ORGANISM Organism)
(part-of ?STUFF ?ORGANISM))))
(subclass-of EmbryonicStructure AnatomicalStructure)
(documentation EmbryonicStructure "An anatomical structure that exists only before the organism is fully formed. In mammals, for example, a structure that exists only prior to the birth of the organism. This structure may be normal or abnormal.")
(=>
(instance-of ?STRUCT EmbryonicStructure)
(exists (?THING)
(and
(developmentalForm ?THING ?STRUCT)
(or
(instance-of ?THING Organism)
(instance-of ?THING AnatomicalStructure)))))
(subclass-of FullyFormedAnatomicalStructure AnatomicalStructure)
(documentation FullyFormedAnatomicalStructure "An anatomical structure in a fully formed organism, in mammals, for example, a structure in the body after the birth of the organism.")
;; The following formulas cover the hierarchy of classes under 'BiologicalProcess'.
(subclass-of BiologicalProcess NaturalProcess)
(documentation BiologicalProcess "A natural process embodied in a biological object.")
(=>
(instance-of ?X BiologicalProcess)
(exists (?Y)
(and
(instance-of ?Y OrganicObject)
(located-at ?X ?Y))))
(subclass-of PhysiologicProcess BiologicalProcess)
(documentation PhysiologicProcess "A normal process of the body.")
(subclass-of OrganismProcess PhysiologicProcess)
(documentation OrganismProcess "A physiologic function of the organism as a whole, of multiple organ systems, or of multiple organs or tissues.")
(subclass-of Birth OrganismProcess)
(documentation Birth "The process of being born")
(subclass-of Death OrganismProcess)
(documentation Death "The process of dying")
(subclass-of Breathing OrganismProcess)
(documentation Breathing "The process of respiration, by which oxygen is made available to an Animal.")
(subclass-of Growth OrganismProcess)
(documentation Growth "The process of biological development.")
(subclass-of Replication OrganismProcess)
(documentation Replication "The process of biological reproduction. This can be either a sexual or an asexual process.")
(subclass-of MentalProcess OrganismProcess)
(documentation MentalProcess "A physiologic function involving the mind or cognitive processing.")
(=>
(instance-of ?PROCESS MentalProcess)
(exists (?ANIMAL)
(and
(instance-of ?ANIMAL Animal)
(experiencer ?PROCESS ?ANIMAL))))
(subclass-of OrganOrTissueProcess PhysiologicProcess)
(documentation OrganOrTissueProcess "A physiologic process of a particular organ or tissue.")
(disjoint OrganOrTissueProcess OrganismProcess)
(=>
(instance-of ?PROCESS ?OrganOrTissueProcess)
(exists (?THING)
(and
(located-at ?PROCESS ?THING)
(or
(instance-of ?THING Organ)
(instance-of ?THING Tissue)))))
(subclass-of Photosynthesis OrganOrTissueProcess)
(documentation Photosynthesis "Synthesis of carbohydrates from carbon dioxide, water, and light.")
(=>
(instance-of ?PROCESS Photosynthesis)
(exists (?PLANT)
(and
(instance-of ?PLANT Plant)
(patient ?PROCESS ?PLANT))))
(subclass-of PathologicProcess BiologicalProcess)
(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.")
(disjoint PathologicProcess PhysiologicProcess)
(subclass-of DiseaseOrSyndrome PathologicProcess)
(documentation DiseaseOrSyndrome "A condition 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-of 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-of ?DISEASE MentalOrBehavioralDysfunction)
(exists (?ANIMAL)
(and
(instance-of ?ANIMAL Animal)
(patient ?DISEASE ?ANIMAL))))
(subclass-of 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, we take it as a subclass of BiologicalProcess.")
(=>
(instance-of ?INJ Injuring)
(exists (?STRUCT)
(and
(instance-of ?STRUCT AnatomicalStructure)
(patient ?INJ ?STRUCT))))
(=>
(instance-of ?INJ Injuring)
(exists (?OBJ)
(and
(instance-of ?OBJ Object)
(causes ?OBJ ?INJ))))
(subclass-of Poisoning Injuring)
(documentation Poisoning "A poisoning is caused by an external substance. Since no poisoning is possible without some biologic function which affects the organism being injured. We provisionally take it as a subclass of BiologicalProcess.")
(=>
(instance-of ?POISON Poisoning)
(exists (?THING)
(and
(patient ?POISON ?THING)
(or
(instance-of ?THING Organism)
(instance-of ?THING AnatomicalStructure)))))
(=>
(instance-of ?POISON Poisoning)
(exists (?SUBSTANCE)
(and
(causes ?SUBSTANCE ?POISON)
(instance-of ?SUBSTANCE ContinuousObject))))
;; END FILE
;; BEGIN FILE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; SOCIAL HIERARCHY ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; This section contains definitions and axioms relating to social groups and
;; the relations between them.
(subclass-of Group Collection)
(subclass-of Group Agent)
(documentation Group "A Collection of Animals/Humans, e.g. a flock of sheep, a herd of goats, or the local Boy Scout troop.")
(=>
(and
(instance-of ?X Group)
(member ?Y ?X))
(instance-of ?Y Animal))
(subclass-of GroupOfPeople Group)
(documentation GroupOfPeople "A Group consisting exclusively of Humans.")
(=>
(and
(instance-of ?X GroupOfPeople)
(member ?Y ?X))
(instance-of ?Y Human))
(subclass-of AgeGroup GroupOfPeople)
(documentation AgeGroup "A GroupOfPeople whose members all have the same age.")
(=>
(instance-of ?X AgeGroup)
(forall (?Y ?Z ?P ?Q)
(=>
(and
(member ?Y ?X)
(member ?Z ?X)
(age ?Y ?P)
(age ?Z ?Q))
(equal ?P ?Q))))
(subclass-of FamilyGroup GroupOfPeople)
(documentation FamilyGroup "An individual or individuals classified according to their family relationships or relative position in the family unit.")
(=>
(instance-of ?X FamilyGroup)
(forall (?Y ?Z)
(=>
(and
(member ?Y ?X)
(member ?Z ?X))
(familyRelation ?Y ?Z))))
(instance-of familyRelation EquivalenceRelation)
(nth-domain familyRelation 1 Animal)
(nth-domain familyRelation 2 Animal)
(documentation familyRelation "This a very general predicate which simply states that there is some sort of blood tie between the two arguments.")
(subclass-of Organization GroupOfPeople)
(documentation Organization "An organization is a corporate or similar
institution, distinguished from persons and other agents. It is typically
the result of uniting for a common purpose or function. The continued existence
of an organization is not dependent on any of its members, its location, or
particular facility. Components or subparts of organizations should not be
included here, unless they are organizations as well.")
(subclass-of Corporation Organization)
(documentation Corporation "An Organization that provides products and/or services for a fee with the aim of making a profit.")
(subclass-of Publisher Corporation)
(documentation Publisher "A publisher is a corporation that publishes. The owner of a publishing company may be a person, and the name of the publisher may be the name of a person.")
(subclass-of Government Organization)
(documentation Government "The ruling body of a Nation or one of the subOrganizations of a Nation.")
(subclass-of University Organization)
(documentation University "A university is an institute of higher learning that
offers a graduate research program. Of importance here is the fact that
universities sponsor the publication of dissertations. Any organization
that has been accredited to grant graduate degrees and is recognized
in libraries to be a publisher of dissertations can be called a
university. Some places that call themselves colleges fall under this
category.")
(subrelation-of subOrganizations subCollection)
(nth-domain subOrganizations 1 Organization)
(nth-domain subOrganizations 2 Organization)
(documentation subOrganizations "Means that the Organization expressed by the first argument is a proper part of the Organization denoted by the second argument.")
(instance-of citizen-of AsymmetricRelation)
(nth-domain citizen-of 1 Person)
(nth-domain citizen-of 2 Nation)
(documentation citizen-of "(citizen-of ?X ?Y) means that ?X is a citizen of the country ?Y.")
;; END FILE
;; BEGIN FILE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; TEMPORAL DEFINITIONS/AXIOMS ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; The first part of this section contains definitions and axioms for 'point in
;; time', 'time interval', and relations between these temporal notions. Most
;; of these definitions and axioms were derived from Allen. This part 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 on the
;; Ontolingua server into the merged ontology.
;; Necessary intermediate constants
(subclass-of TimeMeasure Unit-Of-Measure)
(subclass-of TimeMeasure-Duration TimeMeasure)
(subclass-of TimeMeasure-Position TimeMeasure)
(subclass-of TimeInterval TimeMeasure-Position)
(subclass-of TimeInterval TimeMeasure-Duration)
(documentation TimeInterval "An interval of time. Note that TimeInterval is a subclass of both TimeMeasure-Duration and TimeMeasure-Position - time intervals have both an extent and a temporal location.")
(subclass-of TimePoint TimeMeasure-Position)
(disjoint TimePoint TimeInterval)
(documentation TimePoint "A TimePoint is not a measurement of time, nor is it a
specification of time. It is the point in time. The TimePoints at which events
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.")
(=>
(instance-of ?POINT TimePoint)
(exists (?INTERVAL)
(and
(instance-of ?INTERVAL TimeInterval)
(temporal-part-of ?POINT ?INTERVAL))))
(instance-of TimePoint-PositiveInfinity TimePoint)
(documentation TimePoint-PositiveInfinity "The TimePoint that is after all other TimePoints.")
(=>
(and
(instance-of ?t TimePoint)
(not (equal ?t TimePoint-PositiveInfinity)))
(before ?t TimePoint-PositiveInfinity))
(=>
(and
(instance-of ?t TimePoint)
(not (equal ?t TimePoint-PositiveInfinity)))
(exists (?u)
(between-temporal ?t ?u TimePoint-PositiveInfinity)))
(instance-of TimePoint-NegativeInfinity TimePoint)
(documentation TimePoint-NegativeInfinity "The TimePoint that is before all other TimePoints.")
(=>
(and
(instance-of ?t TimePoint)
(not (equal ?t TimePoint-NegativeInfinity)))
(before TimePoint-NegativeInfinity ?t))
(=>
(and
(instance-of ?t TimePoint)
(not (equal ?t TimePoint-NegativeInfinity)))
(exists (?u)
(between-temporal TimePoint-NegativeInfinity ?u ?t)))
(instance-of temporal-part-of AsymmetricRelation)
(nth-domain temporal-part-of 1 TimePoint)
(nth-domain temporal-part-of 2 TimeInterval)
(documentation temporal-part-of "(temporal-part-of POINT INTERVAL) means that POINT is a point in time that makes up INTERVAL.")
(instance-of holdsDuring AsymmetricRelation)
(nth-domain holdsDuring 1 TimeMeasure-Position)
(nth-domain holdsDuring 2 KIF-Formula)
(documentation holdsDuring "(holdsDuring TIME FORMULA) means that the proposition denoted by FORMULA is true in the time frame TIME.")
;; Definitions of basic temporal relations
(instance-of BeginFn TemporalRelation)
(instance-of BeginFn UnaryFunction)
(nth-domain BeginFn 1 TimeInterval)
(range BeginFn TimePoint)
(documentation BeginFn "A function that maps a time interval to the point of
time at which the interval begins")
(instance-of EndFn TemporalRelation)
(instance-of EndFn UnaryFunction)
(nth-domain EndFn 1 TimeInterval)
(range EndFn TimePoint)
(documentation EndFn "A function that maps a time interval to the point of time
at which the interval ends")
(instance-of starts TemporalRelation)
(instance-of starts TransitiveRelation)
(instance-of starts IrreflexiveRelation)
(nth-domain starts 1 TimeInterval)
(nth-domain starts 2 TimeInterval)
(documentation starts "Relates one time interval to another time interval with
which the first shares the same initial time point and of which the first is a
proper part")
;; Axiom specifying the meaning of 'starts'
(<=>
(starts ?t1 ?t2)
(and
(equal
(BeginFn ?t1)
(BeginFn ?t2))
(before
(EndFn ?t1)
(EndFn ?t2))))
;; Definition of 'finishes'
(instance-of finishes TemporalRelation)
(instance-of finishes TransitiveRelation)
(instance-of finishes IrreflexiveRelation)
(nth-domain finishes 1 TimeInterval)
(nth-domain finishes 2 TimeInterval)
(documentation finishes "Relates one time interval to another time interval with
which the first shares the same terminal time point and of which the first is a
proper part")
;; Axiom specifying the meaning of 'finishes'
(<=>
(finishes ?t1 ?t2)
(and
(before
(BeginFn ?t2)
(BeginFn ?t1))
(equal
(EndFn ?t2)
(EndFn ?t1))))
;; Definition of 'before'. This is based on the definitions in Allen and PSL.
(instance-of before TemporalRelation)
(instance-of before IrreflexiveRelation)
(instance-of before TransitiveRelation)
(subrelation-of before beforeEq)
(nth-domain before 1 TimePoint)
(nth-domain before 2 TimePoint)
(documentation before "Means that the first point in time precedes the
second point in time.")
;; Definition of 'beforeEq' from PSL.
(instance-of beforeEq PartialOrderingRelation)
(nth-domain beforeEq 1 TimePoint)
(nth-domain beforeEq 2 TimePoint)
(documentation beforeEq "Means that the first timepoint either is identical with
the second or occurs before it in time")
;; Axiom for 'beforeEq'.
(=>
(beforeEq ?t1 ?t2)
(or
(before ?t1 ?t2)
(equal ?t1 ?t2)))
;; Definition of 'between-temporal'
(instance-of between-temporal TemporalRelation)
(instance-of between-temporal TernaryRelation)
(subrelation-of between-temporal betweenEq-temporal)
(nth-domain between-temporal 1 TimePoint)
(nth-domain between-temporal 2 TimePoint)
(nth-domain between-temporal 3 TimePoint)
(documentation between-temporal "(between-temporal T1 T2 T3) means that the TimePoint T2 is between the TimePoints T1 and T3, i.e. T1 is before T2 and T2 is before T3.")
;; Axiom for 'between-temporal'
(<=>
(between-temporal ?P ?Q ?R)
(and
(before ?P ?Q)
(before ?Q ?R)))
;; Definition of 'betweenEq-temporal'
(instance-of betweenEq-temporal TemporalRelation)
(instance-of betweenEq-temporal TernaryRelation)
(nth-domain betweenEq-temporal 1 TimePoint)
(nth-domain betweenEq-temporal 2 TimePoint)
(nth-domain betweenEq-temporal 3 TimePoint)
(documentation betweenEq-temporal "(betweenEq-temporal T1 T2 T3) means that the TimePoint T1 is before or equal to T2 and T2 is before or equal to T3.")
;; Axiom for 'betweenEq-temporal'
(<=>
(betweenEq-temporal ?P ?Q ?R)
(and
(beforeEq ?P ?Q)
(beforeEq ?Q ?R)))
;; Definition of 'overlapsTemporally-partial'
(instance-of overlapsTemporally-partial TemporalRelation)
(instance-of overlapsTemporally-partial TransitiveRelation)
(instance-of overlapsTemporally-partial IrreflexiveRelation)
(subrelation-of overlapsTemporally-partial overlapsTemporally)
(nth-domain overlapsTemporally-partial 1 TimeInterval)
(nth-domain overlapsTemporally-partial 2 TimeInterval)
(documentation overlapsTemporally-partial "Means that the first time interval ends after the beginning and before the ending of the second interval")
;; Axiom specifying the meaning of 'overlapsTemporally-partial'
(<=>
(overlapsTemporally-partial ?t1 ?t2)
(and
(before
(BeginFn ?t2)
(BeginFn ?t1))
(before
(BeginFn ?t2)
(EndFn ?t1))
(before
(EndFn ?t1)
(EndFn ?t2))))
;; Definition and axiom for 'overlapsTemporally'. Note that this
;; relation was extracted from Russell-Norvig's ontology.
(instance-of overlapsTemporally TemporalRelation)
(instance-of overlapsTemporally PartialOrderingRelation)
(nth-domain overlapsTemporally 1 TimeInterval)
(nth-domain overlapsTemporally 2 TimeInterval)
(documentation overlapsTemporally "Means that the two time intervals
have some time interval in common")
(<=>
(overlapsTemporally ?t1 ?t2)
(and
(exists ?t3
(and
(during ?t3 ?t1)
(during ?t3 ?t2)))))
;; Definition of the relation 'meets'
(instance-of meets TemporalRelation)
(instance-of meets AsymmetricRelation)
(nth-domain meets 1 TimeInterval)
(nth-domain meets 2 TimeInterval)
(documentation meets "Means that the terminal point of the first interval is the
initial point of the second interval")
;; Axiom specifying the meaning of 'meets'
(<=>
(meets ?t1 ?t2)
(equal
(EndFn ?t1)
(BeginFn ?t2)))
;; Extensionality Axiom for 'equal'
(=>
(and
(equal
(BeginFn ?t1)
(BeginFn ?t2))
(equal
(EndFn ?t1)
(EndFn ?t2)))
(equal ?t1 ?t2))
;; Definition of 'during'
(instance-of during TemporalRelation)
(instance-of during TransitiveRelation)
(instance-of during IrreflexiveRelation)
(nth-domain during 1 TimeInterval)
(nth-domain during 2 TimeInterval)
(documentation during "Means that the first time interval starts after and ends
before the second time interval")
;; Axiom specifying the meaning of 'during'
(=>
(during ?t1 ?t2)
(and
(lessThan (EndFn ?t1) (EndFn ?t2))
(greaterThan (BeginFn ?t1) (BeginFn ?t2))))
(instance-of earlier TemporalRelation)
(instance-of earlier TransitiveRelation)
(instance-of earlier IrreflexiveRelation)
(nth-domain earlier 1 TimeInterval)
(nth-domain earlier 2 TimeInterval)
(documentation earlier "(earlier INTERVAL1 INTERVAL2) means that INTERVAL1 ends before INTERVAL2 begins.")
(=>
(earlier ?X ?Y)
(before (EndFn ?X) (BeginFn ?Y)))
;; Definition of 'in-TimeInterval' and 'co-occur'
(instance-of in-TimeInterval TemporalRelation)
(instance-of in-TimeInterval PartialOrderingRelation)
(nth-domain in-TimeInterval 1 TimeInterval)
(nth-domain in-TimeInterval 2 TimeInterval)
(documentation in-TimeInterval "Means that the first time interval is a
part of the second time interval")
(<=>
(in-TimeInterval ?t1 ?t2)
(or
(equal ?t1 ?t2)
(during ?t1 ?t2)
(starts ?t1 ?t2)
(finishes ?t1 ?t2)))
(instance-of co-occur TemporalRelation)
(instance-of co-occur EquivalenceRelation)
(nth-domain co-occur 1 Physical)
(nth-domain co-occur 2 Physical)
(documentation co-occur "Occurs at the same time as, together with, or jointly.
This includes is co-incident with, is concurrent with, is contemporaneous with,
and is concomitant with.")
(<=>
(co-occur ?PHYS1 ?PHYS2)
(equal (WhenFn ?PHYS1) (WhenFn ?PHYS2)))
;; Axiom concerning 'meets', 'during', and 'overlapsTemporally'
(=>
(and
(meets ?t1 ?t2)
(during ?t2 ?t3))
(or
(overlapsTemporally ?t1 ?t3)
(during ?t1 ?t3)
(meets ?t1 ?t3)))
;; The following functions generate time intervals which are relevant with respect
;; to instances of Physical.
(instance-of WhenFn TemporalRelation)
(instance-of WhenFn UnaryFunction)
(nth-domain WhenFn 1 Physical)
(range WhenFn TimeInterval)
(documentation WhenFn "Maps an instance of Physical to the time interval during which it exists.")
(before (BeginFn (WhenFn ?X)) (EndFn (WhenFn ?X)))
(instance-of PastFn TemporalRelation)
(instance-of PastFn UnaryFunction)
(nth-domain PastFn 1 TimeMeasure-Position)
(range PastFn TimeInterval)
(documentation PastFn "(PastFn THING) denotes the time interval which extends from the beginning of time to the first point in time at which THING exists.")
(meets (PastFn ?THING) (WhenFn ?THING))
(instance-of ImmediatePastFn TemporalRelation)
(instance-of ImmediatePastFn UnaryFunction)
(nth-domain ImmediatePastFn 1 TimeMeasure-Position)
(range ImmediatePastFn TimeInterval)
(documentation ImmediatePastFn "(ImmediatePastFn THING) denotes a short, indeterminate time interval immediately before the existence of THING.")
(finishes (ImmediatePastFn ?THING) (PastFn ?THING))
(instance-of FutureFn TemporalRelation)
(instance-of FutureFn UnaryFunction)
(nth-domain FutureFn 1 TimeMeasure-Position)
(range FutureFn TimeInterval)
(documentation FutureFn "(FutureFn THING) denotes the time interval which extends from the last point in time at which THING exists to the end of time.")
(meets (WhenFn ?THING) (FutureFn ?THING))
(instance-of ImmediateFutureFn TemporalRelation)
(instance-of ImmediateFutureFn UnaryFunction)
(nth-domain ImmediateFutureFn 1 TimeMeasure-Position)
(range ImmediateFutureFn TimeInterval)
(documentation ImmediateFutureFn "(ImmediateFutureFn THING) denotes a short, indeterminate time interval immediately after the existence of THING.")
(starts (ImmediateFutureFn ?THING) (FutureFn ?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-of time TemporalRelation)
(instance-of time AsymmetricRelation)
(nth-domain time 1 Physical)
(nth-domain time 2 TimeMeasure-Position)
(documentation time "A general relation that specifies, at any level of
resolution, the time at which a particular thing occurs.")
(instance-of date AsymmetricRelation)
(nth-domain date 1 Physical)
(nth-domain date 2 Day)
(subrelation-of date time)
(documentation date "A binary relation that specifies a point in absolute
calendar time, at the resolution of one day, for a particular thing.")
(instance-of birthTime AsymmetricRelation)
(nth-domain birthTime Organism)
(nth-domain birthTime TimeMeasure-Position)
(subrelation-of birthTime time)
(documentation birthTime "A binary relation that specifies the time at which
a particular organism was born.")
(=>
(birthTime ?ORGANISM ?TIME)
(holdsDuring (ImmediateFutureFn ?TIME) (attribute-of ?ORGANISM Living)))
(=>
(birthTime ?ORGANISM ?TIME)
(holdsDuring ?TIME
(exists (?BIRTH)
(and
(instance-of ?BIRTH Birth)
(experiencer ?BIRTH ?ORGANISM)))))
(instance-of deathTime AsymmetricRelation)
(nth-domain deathTime Organism)
(nth-domain deathTime TimeMeasure-Position)
(subrelation-of deathTime time)
(documentation deathTime "A binary relation that specifies the time at which
a particular organism died.")
(=>
(deathTime ?ORGANISM ?TIME)
(holdsDuring (FutureFn ?TIME) (attribute-of ?ORGANISM Dead)))
(=>
(deathTime ?ORGANISM ?TIME)
(holdsDuring ?TIME
(exists (?DEATH)
(and
(instance-of ?DEATH Death)
(experiencer ?DEATH ?ORGANISM)))))
(instance-of YearFn TemporalRelation)
(instance-of YearFn UnaryFunction)
(nth-domain YearFn 1 NaturalNumber)
(range YearFn Year)
(documentation YearFn "A unary function that maps a number to the corresponding
calendar year.")
(instance-of MonthFn TemporalRelation)
(instance-of MonthFn BinaryFunction)
(nth-domain MonthFn 1 NaturalNumber)
(nth-domain MonthFn 2 Year)
(range MonthFn Month)
(documentation MonthFn "A binary function that maps a number and a year to the
corresponding month of the year.")
(instance-of DayFn TemporalRelation)
(instance-of DayFn BinaryFunction)
(nth-domain DayFn 1 NaturalNumber)
(nth-domain DayFn 2 Month)
(range DayFn Day)
(documentation DayFn "A binary function that maps a number and a month to the
corresponding day of the month.")
(instance-of HourFn TemporalRelation)
(instance-of HourFn BinaryFunction)
(nth-domain HourFn 1 PositiveRealNumber)
(nth-domain HourFn 2 Day)
(range HourFn Hour)
(documentation HourFn "A binary function that maps a number and a day to the
corresponding hour of the day.")
(instance-of MinuteFn TemporalRelation)
(instance-of MinuteFn BinaryFunction)
(nth-domain MinuteFn 1 PositiveRealNumber)
(nth-domain MinuteFn 2 Hour)
(range MinuteFn Minute)
(documentation MinuteFn "A binary function that maps a number and a hour to the
corresponding minute of the hour.")
(instance-of SecondFn TemporalRelation)
(instance-of SecondFn BinaryFunction)
(nth-domain SecondFn 1 PositiveRealNumber)
(nth-domain SecondFn 2 Minute)
(range SecondFn Second)
(documentation SecondFn "A binary function that maps a number and a minute to
the corresponding second of the minute.")
(subclass-of Year TimeInterval)
(subclass-of Month TimeInterval)
(=>
(instance-of (MonthFn ?X ?Y) Month)
(lessThanOrEqualTo ?X 12))
(subclass-of Day TimeInterval)
(=>
(instance-of (DayFn ?X ?Y) Day)
(lessThanOrEqualTo ?X 31))
(subclass-of Hour TimeInterval)
(=>
(instance-of (HourFn ?X ?Y) Hour)
(lessThanOrEqualTo ?X 24))
(subclass-of Minute TimeInterval)
(=>
(instance-of (MinuteFn ?X ?Y) Minute)
(lessThanOrEqualTo ?X 60))
(subclass-of Second TimeInterval)
(=>
(instance-of (SecondFn ?X ?Y) Second)
(lessThanOrEqualTo ?X 60))
;; END FILE
;; BEGIN FILE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; MEREOTOPOLOGICAL DEFINITIONS/AXIOMS ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Most of this content is taken from Barry Smith's and Nicola Guarino's papers.
;; Definition of 'overlapsSpatially'
(instance-of overlapsSpatially SpatialRelation)
(instance-of overlapsSpatially ReflexiveRelation)
(instance-of overlapsSpatially SymmetricRelation)
(nth-domain overlapsSpatially 1 Object)
(nth-domain overlapsSpatially 2 Object)
(documentation overlapsSpatially "?x overlaps ?y iff ?x and ?y have some parts in common. This is a reflexive and symmetric (but not transitive) relation.")
;; Axiom specifying the meaning of 'overlapsSpatially' (from Guarino)
(<=>
(overlapsSpatially ?X ?Y)
(exists (?Z)
(and
(part-of ?Z ?X)
(part-of ?Z ?Y))))
;; Axiom about the extensionality of 'part-of' from Smith and Sowa
(=>
(forall (?Z)
(=>
(part-of ?Z ?X)
(overlapsSpatially ?Z ?Y)))
(part-of ?X ?Y))
;; Definition of 'overlapsSpatially-partial'
(subrelation-of overlapsSpatially-partial overlapsSpatially)
;; Axiom specifying part of the meaning of 'overlapsSpatially-partial' (from Guarino)
(=>
(overlapsSpatially-partial ?X ?Y)
(and
(not
(part-of ?X ?Y))
(not
(part-of ?Y ?X))))
;; Definition of 'interior-part-of'
(subrelation-of interior-part-of part-of)
;; Axiom specifying part of the meaning of 'interior-part-of' (from Smith)
(=>
(interior-part-of ?X ?Y)
(forall (?Z)
(=>
(boundary-of ?Z ?Y)
(not
(overlapsSpatially ?X ?Z)))))
;; Definition of 'superficial-part-of' (from Casati and Varzi)
(subrelation-of superficial-part-of part-of)
(documentation superficial-part-of "?x is a superficial part of ?y iff ?x is a
part of ?y that has no interior parts of its own (or, intuitively, that only
overlaps those parts of y that are externally connected with the geometric
complement of y). This too is a transitive relation closed under sum-of and
prod-of.")
;; Axiom specifying part of the meaning of 'superficial-part-of' (from Casati
;; and Varzi)
(=>
(superficial-part-of ?x ?y)
(not
(exists (?z)
(interior-part-of ?z ?x))))
;; Definition of 'surface-of' (from Casati and Varzi)
(subrelation-of surface-of superficial-part-of)
(documentation surface-of "?x is a surface of ?y iff ?x is a maximally connected
superficial part of y.")
;; Axiom specifying part of the meaning of 'surface-of' (from Casati and Varzi)
(=>
(surface-of ?x ?y)
(and
(instance-of ?x SelfConnectedObject)
(forall (?z)
(=>
(and
(superficial-part-of ?z ?y)
(instance-of ?z SelfConnectedObject))
(=>
(connected ?z ?x)
(part-of ?z ?x))))))
;; Definitions and Axioms for the notions of mereological sum, product, and
;; difference.
(instance-of MereologicalSumFn SpatialRelation)
(instance-of MereologicalSumFn BinaryFunction)
(nth-domain MereologicalSumFn 1 Object)
(nth-domain MereologicalSumFn 2 Object)
(range MereologicalSumFn Object)
(documentation MereologicalSumFn "(MereologicalSumFn ?X ?Y) denotes the Object consisting of the parts which belong to either ?X or ?Y.")
(=>
(equal ?Z (MereologicalSumFn ?X ?Y))
(forall (?W)
(<=>
(part-of ?W ?Z)
(or
(part-of ?W ?X)
(part-of ?W ?Y)))))
(instance-of MereologicalProductFn SpatialRelation)
(instance-of MereologicalProductFn BinaryFunction)
(nth-domain MereologicalProductFn 1 Object)
(nth-domain MereologicalProductFn 2 Object)
(range MereologicalProductFn Object)
(documentation MereologicalProductFn "(MereologicalProductFn ?X ?Y) denotes the Object consisting of the parts which belong to both ?X and ?Y.")
(=>
(equal ?Z (MereologicalProductFn ?X ?Y))
(forall (?W)
(<=>
(part-of ?W ?Z)
(and
(part-of ?W ?X)
(part-of ?W ?Y)))))
(instance-of MereologicalDifferenceFn SpatialRelation)
(instance-of MereologicalDifferenceFn BinaryFunction)
(nth-domain MereologicalDifferenceFn 1 Object)
(nth-domain MereologicalDifferenceFn 2 Object)
(range MereologicalDifferenceFn Object)
(documentation MereologicalDifferenceFn "(MereologicalDifferenceFn ?X ?Y) denotes the Object consisting of the parts which belong to ?X and not to ?Y.")
(=>
(equal ?Z (MereologicalDifferenceFn ?X ?Y))
(forall (?W)
(<=>
(part-of ?W ?Z)
(and
(part-of ?W ?X)
(not
(part-of ?W ?Y))))))
;; Definition of 'MaximalBoundaryFn'
(instance-of MaximalBoundaryFn SpatialRelation)
(instance-of MaximalBoundaryFn UnaryFunction)
(nth-domain MaximalBoundaryFn 1 Object)
(range MaximalBoundaryFn Object)
(documentation MaximalBoundaryFn "(MaximalBoundaryFn ?X) is the Object consisting of all of the boundaries of ?X.")
(=>
(equal ?Z (MaximalBoundaryFn ?X))
(forall (?W)
(=>
(boundary-of ?W ?X)
(part-of ?W ?Z))))
;; Definition of 'ClosureFn' (of an object)
(equal
(ClosureFn ?X)
(MereologicalSumFn ?X (MaximalBoundaryFn ?X)))
;; Basic axioms for a topology based on bona fide boundaries - these are the
;; result of mereologizing the standard Kuratowski axioms for closure
;; operators.
(part-of ?X (ClosureFn ?X))
(part-of (ClosureFn (ClosureFn ?X)) (ClosureFn ?X))
(equal
(ClosureFn (MereologicalSumFn ?X ?Y))
(MereologicalSumFn (ClosureFn ?X) (ClosureFn ?Y)))
;; Definition of the relation of 'connected' from Smith
(instance-of connected SpatialRelation)
(instance-of connected ReflexiveRelation)
(instance-of connected SymmetricRelation)
(nth-domain connected 1 Object)
(nth-domain connected 2 Object)
(documentation connected "(connected ?X ?Y) means that either ?X and ?Y meet one another or that they overlap to some extent.")
(<=>
(connected ?X ?Y)
(overlapsSpatially (ClosureFn ?X) (ClosureFn ?Y)))
;; Definition of 'externally-connected' (i.e. connection where the objects
;; themselves do not overlap with one another).
(subrelation-of externally-connected connected)
(documentation externally-connected "Means that the arguments of the relation
are connected, but that they do not overlap.")
(=>
(externally-connected ?X ?Y)
(not
(overlapsSpatially ?X ?Y)))
;; Definition of the class 'SelfConnectedObject' (from Casati and Varzi): ?x
;; is a SelfConnected just in case ?x does not consist of two or more
;; disconnected parts.
(subclass-of SelfConnectedObject Object)
(documentation SelfConnectedObject "Something is a SelfConnectedObject just in
case it does not consist of two or more disconnected parts.")
(<=>
(instance-of ?X SelfConnectedObject)
(forall (?Y ?Z)
(=>
(equal ?X (MereologicalSumFn ?Y ?Z))
(connected ?Y ?Z))))
;; Definition of the class 'ClosedObject'
(subclass-of ClosedObject Object)
(<=>
(instance-of ?X ClosedObject)
(equal ?X (ClosureFn ?X)))
;; Definition of 'Boundary' (the class of boundaries)
(subclass-of Boundary Object)
(documentation Boundary "This is just a convenient way of aggregating all
of the boundaries of objects.")
(<=>
(instance-of ?X Boundary)
(exists (?Y)
(boundary-of ?X ?Y)))
;; END FILE
;; BEGIN FILE
;;;;;;;;;;;;;;;;;;;;;
;; POSITIONS ;;
;;;;;;;;;;;;;;;;;;;;;
;; This section aligns the content in the Positions ontology of the ITBM-CRN
;; group. This content is, for the most part, a set of predicates for
;; describing spatial relations. Very few axioms are given. Eventually, the
;; meaning of all of these predicates should be cashed out with the relations
;; defined in the earlier section 'Mereotopological Definitions/Axioms'.
(instance-of position SpatialRelation)
(instance-of position EquivalenceRelation)
(nth-domain position 1 Object)
(nth-domain position 2 Object)
(documentation position "(position ?X ?Y) means that ?X is positioned with
respect to ?Y in some way. This is a very general predicate whose main function
is to serve as an umbrella for the more specific positional predicates.")
(subrelation-of above position)
(documentation above "This is a cognitive primitive, derived from the up/down
schema and not involving contact. A possible formalization of the medical
meaning must take into account the conventional body directions; though, there
is no unique direction hierarchy guiding the application of this relation to
anatomical spaces.")
(=>
(above ?X ?Y)
(not
(connected ?X ?Y)))
(subrelation-of adjacent position)
(documentation adjacent "Close to, near or abutting another physical unit with
no other structure of the same kind intervening. This includes adjoins, abuts,
is contiguous to, is juxtaposed, and is close to.")
(=>
(adjacent ?X ?Y)
(or
(near ?X ?Y)
(connected ?X ?Y)))
(subrelation-of along position)
(documentation along "(along ?X ?Y) means that an object ?X shares the region of
?Y at least as far the extension of one dimension is concerned.")
(subrelation-of behind position)
(documentation behind "This is a cognitive primitive, derived from the
front/back schema; a possible formalization of the medical meaning must take
into account the conventional body directions; though, there is no unique
direction hierarchy guiding the application of this relation to anatomical
spaces.")
(subrelation-of below position)
(documentation below "This is a cognitive primitive, derived from the up/down
schema and not involving contact. A possible formalization of the medical
meaning must take into account the conventional body directions; though, there
is no unique direction hierarchy guiding the application of this relation to
anatomical spaces.")
(<=>
(below ?X ?Y)
(above ?Y ?X))
(instance-of between SpatialRelation)
(instance-of between TernaryRelation)
(nth-domain between 1 Object)
(nth-domain between 2 Object)
(nth-domain between 3 Object)
(documentation between "(between ?X ?Y ?Z) means that ?Y is spatially located between ?X and ?Z.")
(=>
(between ?X ?Y ?Z)
(and
(left-of ?Y ?X)
(left-of ?X ?Z)))
(subrelation-of contains position)
(subrelation-of contains connected)
(documentation contains "Limits, bounds, confines, encloses or circumscribes - the surrounding relation for Objects. Here it is defined by stating that ?X contains ?Y just in case the interior of ?X wholly surrounds ?Y.")
(=>
(contains ?X ?Y)
(forall (?Z)
(=>
(part-of ?Z ?Y)
(exists (?U)
(and
(interior-part-of ?U ?X)
(part-of ?Z ?U))))))
(subrelation-of crosses-over position)
(documentation crosses-over "(crosses-over ?X ?Y) means that Object ?X crosses-through Object ?Y, without overlapping ?Y.")
(=>
(crosses-over ?X ?Y)
(not
(connected ?X ?Y)))
(subrelation-of crosses-through position)
(documentation crosses-through "(crosses-through ?X ?Y) means that ?X overlaps ?Y
along at least one whole dimension (length, width or depth), say the interiors
of ?X and ?Y overlap.")
(subrelation-of in-front-of position)
(documentation in-front-of "This is a cognitive primitive, derived from the
front/back schema; a possible formalization of the medical meaning must take
into account the conventional body directions; though, there is no unique
direction hierarchy guiding the application of this relation to anatomical
spaces.")
(inverse in-front-of behind)
(subrelation-of left-of position)
(documentation left-of "This is a cognitive primitive, derived from the
left/right schema; a possible formalization of the medical meaning must take
into account the conventional body directions; though, there is no unique
direction hierarchy guiding the application of this relation to anatomical
spaces.")
(subrelation-of near position)
(documentation near "Specialized common sense adjacency without contact;
based on implicit scale and distance less than the diameter of the smaller
object; alternatively, based on the smallest distance among the higher
granularity objects. Eg, in cell C near object P, P is the less distant object
of a higher granularity than C.")
(subrelation-of on position)
(subrelation-of on connected)
(documentation on "This is a cognitive primitive, derived from the up/down
schema and involving contact. A possible formalization of the medical meaning
must take into account the conventional body directions; though, there is no
unique direction hierarchy guiding the application of this relation to
anatomical spaces.")
(subrelation-of right-of position)
(inverse right-of left-of)
(documentation left-of "This is a cognitive primitive, derived from the
left/right schema; a possible formalization of the medical meaning must take
into account the conventional body directions; though, there is no unique
direction hierarchy guiding the application of this relation to anatomical
spaces.")
(subrelation-of traverses position)
(documentation traverses "Crosses or extends across another physical structure
or area. This includes crosses over and crosses through.")
(subrelation-of under position)
(documentation under "This is a cognitive primitive, derived from the up/down schema. A possible formalization of the medical meaning must take into account the conventional body directions; though, there is no unique direction hierarchy guiding the application of this relation to anatomical spaces.")
(=>
(under ?X ?Y)
(or
(on ?Y ?X)
(above ?Y ?X)))
;; END FILE
;; BEGIN FILE
;;;;;;;;;;;;;;;;;;;;;
;; THEORY OF HOLES ;;
;;;;;;;;;;;;;;;;;;;;;
;; What follows is essentially a SUO-KIF translation of Casati and Varzi's
;; formal theory of holes that has been aligned with Sowa's upper ontology.
;;Definition of binary relation 'hole-in'
(instance-of hole-in SpatialRelation)
(instance-of hole-in AsymmetricRelation)
(nth-domain hole-in 1 Hole)
(nth-domain hole-in 2 Object)
(documentation hole-in "The main thesis is that a hole is an immaterial body
located at the surface (or at some surface) of a material object. Since the
notion of a surface is essentially a topological one, and since the property of
being immaterial is reflected in the morphological property of being fillable,
the ontological basis is concerned first and foremost with the general
dependence of a hole on its host.")
;; Definition of class 'Hole'
(subclass-of Hole Region)
(documentation Hole "X is a hole iff it is a hole in something. 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.")
;; Axioms relating 'hole-in' to 'Hole'
(<=>
(instance-of ?x Hole)
(exists (?Y)
(hole-in ?x ?y)))
(=>
(hole-in ?x ?y)
(not
(instance-of ?y Hole)))
;; Definitions of 'hole-part-of' and 'proper-hole-part-of'
(subrelation-of hole-part-of part-of)
(nth-domain hole-part-of 1 Hole)
(nth-domain hole-part-of 2 Hole)
(documentation hole-part-of "?x is a hole-part of ?y iff ?x is a hole that is a
part of ?y. This is a partial ordering, like `part-of'; it applies only when ?y
is itself a (part of a) hole.")
(subrelation-of proper-hole-part-of hole-part-of)
(subrelation-of proper-hole-part-of proper-part-of)
(documentation proper-hole-part-of "?x is a proper hole-part of ?y iff ?x is a
hole that is a proper part of ?y. This is transitive, asymmetric, and
irreflexive relation.")
;; Mereological Axioms
;; No hole overlaps its own host (though the sum of a hole and its host may be a
;; legitimate host for different holes: e.g. the sum of a doughnut ?y and its
;; hole ?x -- if such a sum exists -- will not be a host of ?x, but it will be a
;; host of, say, a cavity that may be hidden inside ?y.
(=>
(hole-in ?x ?y)
(not
(overlapsSpatially ?x ?y)))
;; Any two hosts of a hole have a common proper part that entirely hosts the
;; hole. (Of course, intuitively a hole has one host; but if we allow for
;; mereological sums or splittings, then every hole has a virtually infinite
;; class of hosts, partially ordered by proper-part-of.
(=>
(and
(hole-in ?x ?y)
(hole-in ?x ?z))
(exists (?w)
(and
(proper-part-of ?w (MereologicalProductFn ?x ?y))
(hole-in ?x ?w))))
;; A common host of two holes hosts all hole-parts of the sum of those holes.
(=>
(and
(hole-in ?x ?y)
(hole-in ?z ?y))
(forall (?w)
(=>
(hole-part-of ?w (MereologicalSumFn ?x ?z))
(hole-in ?w ?y))))
;; 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-in ?x ?y)
(part-of ?y ?z))
(or
(overlapsSpatially ?x ?z)
(hole-in ?x ?z)))
;; Overlapping holes have overlapping hosts. (However, two holes may occupy
;; the same region, or part of the same region, without sharing any parts.
;; Holes are immaterial, and can penetrate one another; mereological overlapping
;; is not implied by spatial co-localization.)
(=>
(and
(hole-in ?x ?y)
(hole-in ?z ?w)
(overlapsSpatially ?x ?z))
(overlapsSpatially ?y ?w))
;; No hole is atomic (though holes need not have proper hole-parts;
;; otherwise every hole would correspond to a pile of infinitely many,
;; gradually smaller holes).
(=>
(instance-of ?x Hole)
(exists (?y)
(proper-part-of ?y ?x)))
;; Topological Definitions
;; Definition of 'PrincipalHostFn'
(instance-of PrincipalHostFn SpatialRelation)
(instance-of PrincipalHostFn UnaryFunction)
(nth-domain PrincipalHostFn 1 Hole)
(range PrincipalHostFn Object)
(documentation PrincipalHostFn "The principle host of ?x is ?x's maximally
connected host (a notion taken here to be defined only when ?x is a hole). We
may intuitively regard this as the host of the hole, every other host being
either a topologically scattered mereological aggregate including the principal
host or a potential part of this latter.")
;; Axiom defining 'PrincipalHostFn'
(=>
(equal ?Y (PrincipalHostFn ?x))
(forall (?w)
(<=>
(overlapsSpatially ?w ?y)
(exists (?u)
(and
(hole-in ?x ?u)
(instance-of ?u SelfConnectedObject)
(overlapsSpatially ?w ?u))))))
;; Definition of 'GenusFn'
(instance-of GenusFn SpatialRelation)
(instance-of GenusFn UnaryFunction)
(nth-domain GenusFn 1 Object)
(range GenusFn 1 NonegativeInteger)
(documentation GenusFn "Intuitively, the genus of an object is the maximum
number of simultaneous cuts that can be made without separating the object into
two unconnected pieces (0 if it is a sphere, 1 if it is a torus, etc.). This
notion could be defined in terms of connected, but that would lead us too
far afield.")
;; Definition of 'cavity-in'
(subrelation-of cavity-in hole-in)
(documentation cavity-in "?x is a cavity in ?y iff ?x is an internal hole
enveloped by an entire host surface. A cavity is a topologically nonerasable
discontinuity.")
;; Axiom defining 'cavity-in'
(=>
(cavity-in ?x ?y)
(exists (?z)
(and
(surface-of ?z ?y)
(forall (?w)
(=>
(part-of ?w ?z)
(connected ?x ?w))))))
;; Definition of 'tunnel-through'
(subrelation-of tunnel-through hole-in)
(documentation tunnel-through "A tunnel (or a perforation) through a host is
also a topologically non-erasable hole, characterized by the fact that its host
has no connected part of genus 0 entirely hosting the hole. Note that a hole may
at once be a tunnel and a cavity: it may be a cavity-tunnel, e.g.,. a 'toroidal'
hole.")
;; Axiom defining 'tunnel-through'
(=>
(tunnel-through ?x ?y)
(forall (?z)
(=>
(and
(part-of ?z ?y)
(instance-of ?z SelfConnectedObject)
(hole-in ?x ?z))
(not
(equal (GenusFn ?x) 0)))))
;; Definition of 'hollow-in'
(subrelation-of hollow-in hole-in)
(documentation hollow-in "?x is a hollow (or a depression) in ?y iff ?x is a
hole in ?y which is neither a tunnel through ?y nor a cavity in ?y. This is
always an external, topologically erasable disturbance, characterized by the
fact that the relevant host must have a part of genus 0 entirely hosting the
hole.")
(=>
(hollow-in ?x ?y)
(and
(not
(tunnel-through ?x ?y))
(not
(cavity-in ?x ?y))))
;; Topological Axioms
;; Holes are self-connected; i.e., there are no scattered holes.
(=>
(instance-of ?x Hole)
(instance-of ?x SelfConnectedObject))
;; Holes are connected with their hosts.
(=>
(hole-in ?x ?y)
(connected ?x ?y))
;; Every hole has some self-connected host.
(=>
(instance-of ?x Hole)
(exists (?y)
(and
(hole-in ?x ?y)
(instance-of ?y SelfConnectedObject))))
;; No hole can have a proper hole-part that is externally connected with exactly
;; the same things as the hole itself.
(=>
(and
(instance-of ?x Hole)
(proper-hole-part-of ?y ?x))
(exists (?z)
(and
(externally-connected ?x ?z)
(not
(externally-connected ?y ?z)))))
;; Morphological Definitions
;; Definition of 'filled-by'
(instance-of filled-by SpatialRelation)
(instance-of filled-by AsymmetricRelation)
(nth-domain filled-by 1 Hole)
(nth-domain filled-by 2 Object)
(documentation filled-by "Holes can be filled; 'filled' here mean PERFECTLY
filled. Holes can be filled (without losing their status of holes) insofar as
they determine a (partially) concave discontinuity in the surface of their
host.")
;; Definition of 'FillableHole'
(subclass-of FillableHole Hole)
(documentation FillableHole "?x is fillable if it can be (perfectly) filled by
something.")
(=>
(instance-of ?x FillableHole)
(Poss
(exists (?y)
(filled-by ?x ?y))))
;; Definition of 'completely-filled-by'
(subrelation-of completely-filled-by filled-by)
(=>
(completely-filled-by ?x ?y)
(exists (?z)
(and
(part-of ?z ?y)
(filled-by ?x ?z))))
(documentation completely-filled-by "?x is completely filled by ?y iff there is
some part of ?y that perfectly fills ?x. This is a monotonic relation, in the
sense that if ?x is completely filled by ?y and ?y is a part of ?z, then ?x is
completely filled by ?z.")
;; Definition of 'partially-filled-by'
(instance-of partially-filled-by SpatialRelation)
(instance-of partially-filled-by AsymmetricRelation)
(nth-domain partially-filled-by 1 Hole)
(nth-domain partially-filled-by 2 Object)
(documentation partially-filled-by "?x is partially filled by ?y iff there is
some part of ?x that is completely filled by ?y. This too is a monotonic
relation, in the sense that if ?x is partially filled by ?y and ?y is part of
?z, then ?x is partially filled by ?z. Note that a partial filler need not be
wholly inside a hole (it may stick out), which means that every complete filler
also qualifies as (a limit cases of) a partial one.")
(=>
(partially-filled-by ?x ?y)
(exists (?z)
(and
(part-of ?z ?x)
(completely-filled-by ?z ?y))))
;; Definition of 'properly-filled-by'
(instance-of properly-filled-by SpatialRelation)
(instance-of properly-filled-by AsymmetricRelation)
(nth-domain properly-filled-by 1 Hole)
(nth-domain properly-filled-by 2 Object)
(documentation properly-filled-by "?x is properly (though perhaps incompletely)
filled by ?y iff some part of ?x is perfectly filled by ?y. properly-filled-by
is the dual of completely-filled-by, and is so related to partially-filled-by
that ?x is properly filled by ?y iff ?x is partially filled by every part of ?y.
(Thus, every perfect filler is both complete and proper in this sense.)")
(=>
(properly-filled-by ?x ?y)
(exists (?z)
(and
(part-of ?z ?x)
(filled-by ?z ?y))))
;; Definition of 'SkinFn'
(instance-of SkinFn SpatialRelation)
(nth-domain SkinFn 1 Hole)
(range SkinFn Object)
(documentation skin-of "The skin of ?x is the fusion of those superficial parts
of ?x's principal host with which ?x is externally connected (a notion that is
meant to apply only when ?x is a hole).")
(=>
(equal ?Y (SkinFn ?X))
(forall (?z)
(<=>
(overlapsSpatially ?z ?y)
(exists (?w)
(and
(superficial-part-of ?w (PrincipalHostFn ?x))
(externally-connected ?x ?w)
(overlapsSpatially ?z ?w))))))
;; Definition of 'free-superficial-part-of'
(subrelation-of free-superficial-part-of superficial-part-of)
(documentation free-superficial-part-of "?w is a free superficial part of ?z
relative to ?x ; i.e., ?w is a superficial part of ?z that is not connected with
?x's host(s). (This notion is meant to apply only when ?x is a hole and ?z a
corresponding perfect filler.)")
(=>
(free-superficial-part-of ?x ?y ?z)
(not
(connected ?x (SkinFn ?z))))
;; Morphological Axioms
;; Something is fillable just in case it is part of a hole; i.e., fillability is
;; an exclusive property of holes and their parts.
(<=>
(instance-of ?x FillableHole)
(exists (?y)
(and
(instance-of ?y Hole)
(part-of ?x ?y))))
;; Perfect fillers and fillable entities have no parts in common (rather, they
;; may occupy the same spatial region).
(=>
(and
(filled-by ?x ?y)
(instance-of ?z FillableHole))
(not
(overlapsSpatially ?y ?z)))
;; A complete filler of (a part of) a hole is connected with everything
;; with which (that part of) the hole itself is connected.
(=>
(completely-filled-by ?x ?y)
(forall (?z)
(=>
(connected ?z ?x)
(connected ?z ?y))))
;; Every hole is connected with everything with which a proper filler of
;; the hole is connected.
(=>
(and
(properly-filled-by ?x ?y)
(connected-with ?z ?y))
(connected ?z ?x))
;; A perfect filler of (a part of) a hole completely fills every proper
;; part of (that part of) that hole.
(=>
(and
(filled-by ?x ?y)
(proper-part-of ?z ?x))
(completely-filled-by ?z ?y))
;; Every proper part of a perfect filler of (a part of) a hole properly
;; fills (that part of) that hole.
(=>
(and
(filled-by ?x ?y)
(proper-part-of ?z ?y))
(properly-filled-by ?y ?z))
;; END FILE
;;;;;;;;;;;
;; NOTES ;;
;;;;;;;;;;;
;; The following is a provisional addition to the top level of the ontology.
;; The purpose of this addition is to accommodate normative notions. If this
;; addition is embraced by the other SUO participants and if it is deemed
;; acceptable in other respects it will be commented out.
;; (subclass-of Normative Entity)
;; (subclass-of NormativeAttribute Normative)
;; (subclass-of NormativeAttribute Attribute)
;; (subclass-of Standard NormativeAttribute)
;; (subclass-of Requirement Standard)
;; (subclass-of Obligation NormativeAttribute)
;; (documentation Obligation "This is just a placeholder for now. It's not clear what
;; the real representation will be. One possibility is to have it be a Microontology a
;; la Cyc. The things that the Agent is obligated to make true are true in the
;; Obligation.
;; Another possibility is to make Obligations individual propositions that the Agent must
;; make true, or individual actions the agent must perform.")
;; (subclass-of Agreement NormativeAttribute)
;; (documentation Agreement "The class of things which consititute an agreement
;; between two or more agents. Agreements may be implicit or explicit. They may
;; be written or verbal or gestural.")
;; (subclass-of JudgementOfEtiquette NormativeAttribute)
;; (subclass-of AestheticJudgement NormativeAttribute)
;; (subclass-of InstitutionalObligation Obligation)
;; (subclass-of PersonalObligation Obligation)
;; (subclass-of ReligiousObligation InstitutionalObligation)
;; (subclass-of LegalObligation InstitutionalObligation)
;; (subclass-of RegulationOrLaw LegalObligation)
;; (documentation RegulationOrLaw "An intellectual product resulting from legislative
;; or regulatory activity.")
;;
;; (=>
;; (instance-of ?X RegulationOrLaw)
;; (exists (?Y)
;; (and
;; (result ?Y ?X)
;; (instance-of ?Y RegulatoryActivity))))
;;
;; (=>
;; (instance-of ?X RegulationOrLaw)
;; (exists (?Y)
;; (and
;; (affects ?X ?Y)
;; (or
;; (instance-of ?Y Organization)
;; (instance-of ?Y Group)))))
;;
;; (subclass-of Contract Agreement)
;; (documentation Contract "A formal agreement.")
;; (subclass-of PurchaseContract Contract)
;; (documentation PurchaseContract "An contract between two agents in which
;; one agent agrees to render the other some good or service in exchange for
;; currency.")
;; (subclass-of ServiceContract Contract)
;; (documentation ServiceContract "The class of contract where some agent agrees
;; to perform some service for another agent usually for some price")
;; (subclass-of Warranty ServiceContract)
;; (documentation Warranty "A class of contracts that state the cirumstances under
;; which defects in the product will corrected for no charge. These warrantees usually
;; include how long after the product is purchased that the agreement will hold and
;; what types of things are not included in the warranty. It should also include
;; descriptions of actions that invalidate the warranty.")
;; (subclass-of Promise Agreement)
;; (documentation Promise "An informal agreement.")
;; (subclass-of obligationIn TernaryPredicate)
;; (nth-domain obligationIn 1 KIF-Formula)
;; (nth-domain obligationIn 2 Agent)
;; (nth-subclass obligationIn 3 NormativeAttribute)
;; (documentation Obligation-In "As qualified by the normative attribute, this agent
;; has the following obligation")
;; The following is another provisional addition to the top level of the
;; ontology. This addition locates the crucial notions of 'WavePropagation',
;; 'ElectronicWave', and 'ElectronicSignal' within the existing framework of
;; concepts.
;; (subclass-of WavePropagation Process)
;; (subclass-of ElectronicWave WavePropagation)
;; (subclass-of ElectronicSignal ElectronicWave)
;; (subclass-of ElectronicSignal ContentBearingObject)