Modified lines:  391, 392, 1020, 1021, 1135, 1200, 1640, 1646, 2279, 4101, 4106, 4107, 4109, 4157, 7707, 7708, 8864, 10917, 10927, 11165, 11166, 11167, 11168, 11169, 11170, 11171, 11172, 11180, 11967, 11968
Added line:  1022, 1023, 1024, 1025, 1026, 1027, 1028, 1208, 1655, 1656, 2484, 4119, 4120, 4121, 4122, 4123, 4124, 4125, 4126, 4129, 4130, 7892, 7893, 7894, 7895, 7896, 7897, 7898, 7899, 7900, 8893, 8896, 8897, 10261, 10262, 10263, 10264, 10265, 10266, 10267, 10268, 10969, 10970, 10971, 11208
Removed line:  11969
Generated by diff2html
© Yves Bailly, MandrakeSoft S.A. 2001
diff2html is licensed under the GNU GPL.

  sumo1.51       sumo1.52
  12291 lines
426074 bytes
Last modified : Tue Jun 28 17:22:28 2005

      12335 lines
427393 bytes
Last modified : Tue Jun 28 17:22:31 2005

1     1
2 ;; ================================================     2 ;; ================================================
3 ;; SUMO (Suggested Upper Merged Ontology)     3 ;; SUMO (Suggested Upper Merged Ontology)
4 ;; ================================================     4 ;; ================================================
5     5
6 ;; This is the source file for the SUMO (Suggested Upper Merged Ontology),     6 ;; This is the source file for the SUMO (Suggested Upper Merged Ontology),
7 ;; an ontology that was developed within the SUO Working Group by merging     7 ;; an ontology that was developed within the SUO Working Group by merging
8 ;; the SUO "candidate content" sources and refining and extending this content on     8 ;; the SUO "candidate content" sources and refining and extending this content on
9 ;; the basis of various knowledge engineering projects and input from the SUO     9 ;; the basis of various knowledge engineering projects and input from the SUO
10 ;; Working Group.     10 ;; Working Group.
11     11
12 ;; The SUMO incorporates elements of John Sowa's upper ontology (as described at     12 ;; The SUMO incorporates elements of John Sowa's upper ontology (as described at
13 ;; http://www.bestweb.net/~sowa/ontology/toplevel.htm and in Chapter 2 of his     13 ;; http://www.bestweb.net/~sowa/ontology/toplevel.htm and in Chapter 2 of his
14 ;; book _Knowledge Representation_, Brooks/Cole, 2000), Russell and Norvig's     14 ;; book _Knowledge Representation_, Brooks/Cole, 2000), Russell and Norvig's
15 ;; ontology, PSL (Process Specification Language), Casati and Varzi's theory of     15 ;; ontology, PSL (Process Specification Language), Casati and Varzi's theory of
16 ;; holes, Allen's temporal axioms, the relatively noncontroversial elements of     16 ;; holes, Allen's temporal axioms, the relatively noncontroversial elements of
17 ;; Smith's and Guarino's respective mereotopologies, the KIF formalization of the     17 ;; Smith's and Guarino's respective mereotopologies, the KIF formalization of the
18 ;; CPR (Core Plan Representation), the ontologies available on the Ontolingua     18 ;; CPR (Core Plan Representation), the ontologies available on the Ontolingua
19 ;; server maintained by Stanford University's Knowledge Systems Laboratory, the     19 ;; server maintained by Stanford University's Knowledge Systems Laboratory, the
20 ;; ontologies developed by ITBM-CNR, some of the spatial relations from an     20 ;; ontologies developed by ITBM-CNR, some of the spatial relations from an
21 ;; unpublished paper by Iris Tommelein and Anil Gupta entitled "Conceptual     21 ;; unpublished paper by Iris Tommelein and Anil Gupta entitled "Conceptual
22 ;; Structures for Spatial Reasoning", and a "Structural Ontology" proposed by     22 ;; Structures for Spatial Reasoning", and a "Structural Ontology" proposed by
23 ;; David Whitten and substantially revised and extended by Chris Menzel.     23 ;; David Whitten and substantially revised and extended by Chris Menzel.
24 ;; Note that some of the subclasses of 'Process' in the SUMO were originally     24 ;; Note that some of the subclasses of 'Process' in the SUMO were originally
25 ;; inspired by some of the verb classes from the second part of Beth Levin's book     25 ;; inspired by some of the verb classes from the second part of Beth Levin's book
26 ;; "English Verb Classes and Alternations: A Preliminary Investigation."     26 ;; "English Verb Classes and Alternations: A Preliminary Investigation."
27     27
28 ;; The knowledge representation language in which the SUMO is expressed is SUO-KIF,     28 ;; The knowledge representation language in which the SUMO is expressed is SUO-KIF,
29 ;; which stands for "Standard Upper Ontology - Knowledge Interchange Format". SUO-KIF     29 ;; which stands for "Standard Upper Ontology - Knowledge Interchange Format". SUO-KIF
30 ;; is a simplified form of the popular KIF knowledge representation language. A     30 ;; is a simplified form of the popular KIF knowledge representation language. A
31 ;; specification of SUO-KIF can be found at: http://suo.ieee.org/suo-kif.html. It     31 ;; specification of SUO-KIF can be found at: http://suo.ieee.org/suo-kif.html. It
32 ;; should be noted that some of the axioms in the SUMO make use of row variables     32 ;; should be noted that some of the axioms in the SUMO make use of row variables
33 ;; (indicated with a "@" prefix). Such variables are not currently part of the SUO-     33 ;; (indicated with a "@" prefix). Such variables are not currently part of the SUO-
34 ;; KIF specification, but they simplify matters significantly in some cases. Details     34 ;; KIF specification, but they simplify matters significantly in some cases. Details
35 ;; about row variables can be found in the following paper:     35 ;; about row variables can be found in the following paper:
36 ;; http://reliant.teknowledge.com/IJCAI01/HayesMenzel-SKIF-IJCAI2001.pdf.     36 ;; http://reliant.teknowledge.com/IJCAI01/HayesMenzel-SKIF-IJCAI2001.pdf.
37     37
38 ;; The SUMO is a modular ontology. That is, the ontology is divided into     38 ;; The SUMO is a modular ontology. That is, the ontology is divided into
39 ;; self-contained subontologies. Each subontology is indicated by a section     39 ;; self-contained subontologies. Each subontology is indicated by a section
40 ;; header, and the dependencies between the subontologies are specified with     40 ;; header, and the dependencies between the subontologies are specified with
41 ;; statements of the form ";; INCLUDES '<SUBONTOLOGY>'". These statements are     41 ;; statements of the form ";; INCLUDES '<SUBONTOLOGY>'". These statements are
42 ;; found at the beginning of each section. The dependencies between the     42 ;; found at the beginning of each section. The dependencies between the
43 ;; various subontologies can also be graphed informally as follows:     43 ;; various subontologies can also be graphed informally as follows:
44 ;;     44 ;;
45 ;; STRUCTURAL ONTOLOGY     45 ;; STRUCTURAL ONTOLOGY
46 ;; +     46 ;; +
47 ;; |     47 ;; |
48 ;; |     48 ;; |
49 ;; +     49 ;; +
50 ;; BASE ONTOLOGY     50 ;; BASE ONTOLOGY
51 ;; / | | \     51 ;; / | | \
52 ;; / | | \     52 ;; / | | \
53 ;; / | | \     53 ;; / | | \
54 ;; / | | \     54 ;; / | | \
55 ;; / | | \     55 ;; / | | \
56 ;; + + + +     56 ;; + + + +
57 ;; SET/CLASS THEORY NUMERIC TEMPORAL MEREOTOPOLOGY     57 ;; SET/CLASS THEORY NUMERIC TEMPORAL MEREOTOPOLOGY
58 ;; / | | |     58 ;; / | | |
59 ;; / | | |     59 ;; / | | |
60 ;; / | | |     60 ;; / | | |
61 ;; + + + +     61 ;; + + + +
62 ;; GRAPH MEASURE PROCESSES +--+ OBJECTS     62 ;; GRAPH MEASURE PROCESSES +--+ OBJECTS
63 ;; + +     63 ;; + +
64 ;; \ /     64 ;; \ /
65 ;; \ /     65 ;; \ /
66 ;; \ /     66 ;; \ /
67 ;; + +     67 ;; + +
68 ;; QUALITIES     68 ;; QUALITIES
69 ;;     69 ;;
70 ;;     70 ;;
71 ;; Note that the "+" sign at the end of an arc indicates the direction of     71 ;; Note that the "+" sign at the end of an arc indicates the direction of
72 ;; dependency - the node near the sign includes the subontology at the other     72 ;; dependency - the node near the sign includes the subontology at the other
73 ;; end of the arc. Note too that in some cases the dependency is     73 ;; end of the arc. Note too that in some cases the dependency is
74 ;; bidirectional. Separating ontologies in cases like these is useful when     74 ;; bidirectional. Separating ontologies in cases like these is useful when
75 ;; their respective topics can be cleanly differentiated.     75 ;; their respective topics can be cleanly differentiated.
76     76
77     77
78 ;; BEGIN FILE     78 ;; BEGIN FILE
79     79
80     80
81 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     81 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
82 ;; STRUCTURAL ONTOLOGY ;;     82 ;; STRUCTURAL ONTOLOGY ;;
83 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     83 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
84     84
85 ;; INCLUDES 'BASE ONTOLOGY'     85 ;; INCLUDES 'BASE ONTOLOGY'
86     86
87 ;; The Structural Ontology consists of definitions of certain syntactic     87 ;; The Structural Ontology consists of definitions of certain syntactic
88 ;; abbreviations that can be both heuristically useful and computationally     88 ;; abbreviations that can be both heuristically useful and computationally
89 ;; advantageous.     89 ;; advantageous.
90     90
91 (instance instance BinaryPredicate)     91 (instance instance BinaryPredicate)
92 (domain instance 1 Entity)     92 (domain instance 1 Entity)
93 (domain instance 2 SetOrClass)     93 (domain instance 2 SetOrClass)
94 (documentation instance "An object is an &%instance of a &%SetOrClass if     94 (documentation instance "An object is an &%instance of a &%SetOrClass if
95 it is included in that &%SetOrClass. An individual may be an instance of many     95 it is included in that &%SetOrClass. An individual may be an instance of many
96 classes, some of which may be subclasses of others. Thus, there is no     96 classes, some of which may be subclasses of others. Thus, there is no
97 assumption in the meaning of &%instance about specificity or uniqueness.")     97 assumption in the meaning of &%instance about specificity or uniqueness.")
98     98
99 (subrelation immediateInstance instance)     99 (subrelation immediateInstance instance)
100 (instance immediateInstance AsymmetricRelation)     100 (instance immediateInstance AsymmetricRelation)
101 (instance immediateInstance IntransitiveRelation)     101 (instance immediateInstance IntransitiveRelation)
102 (documentation immediateInstance "An object is an &%immediateInstance of     102 (documentation immediateInstance "An object is an &%immediateInstance of
103 a &%SetOrClass if it is an instance of the &%SetOrClass and there does not exist a     103 a &%SetOrClass if it is an instance of the &%SetOrClass and there does not exist a
104 subclass of &%SetOrClass such that it is an instance of the subclass.")     104 subclass of &%SetOrClass such that it is an instance of the subclass.")
105     105
106 (=>     106 (=>
107    (immediateInstance ?ENTITY ?CLASS)     107    (immediateInstance ?ENTITY ?CLASS)
108    (not (exists (?SUBCLASS)     108    (not (exists (?SUBCLASS)
109       (and     109       (and
110          (subclass ?SUBCLASS ?CLASS)     110          (subclass ?SUBCLASS ?CLASS)
111          (instance ?ENTITY ?SUBCLASS)))))     111          (instance ?ENTITY ?SUBCLASS)))))
112     112
113 (instance inverse BinaryPredicate)     113 (instance inverse BinaryPredicate)
114 (instance inverse IrreflexiveRelation)     114 (instance inverse IrreflexiveRelation)
115 (instance inverse IntransitiveRelation)     115 (instance inverse IntransitiveRelation)
116 (instance inverse SymmetricRelation)     116 (instance inverse SymmetricRelation)
117 (domain inverse 1 BinaryRelation)     117 (domain inverse 1 BinaryRelation)
118 (domain inverse 2 BinaryRelation)     118 (domain inverse 2 BinaryRelation)
119 (documentation inverse "The inverse of a &%BinaryRelation is a relation     119 (documentation inverse "The inverse of a &%BinaryRelation is a relation
120 in which all the tuples of the original relation are reversed. In     120 in which all the tuples of the original relation are reversed. In
121 other words, one &%BinaryRelation is the inverse of another if they are     121 other words, one &%BinaryRelation is the inverse of another if they are
122 equivalent when their arguments are swapped.")     122 equivalent when their arguments are swapped.")
123     123
124 (=>     124 (=>
125    (inverse ?REL1 ?REL2)     125    (inverse ?REL1 ?REL2)
126    (forall (?INST1 ?INST2)     126    (forall (?INST1 ?INST2)
127       (<=>     127       (<=>
128          (holds ?REL1 ?INST1 ?INST2)     128          (holds ?REL1 ?INST1 ?INST2)
129          (holds ?REL2 ?INST2 ?INST1))))     129          (holds ?REL2 ?INST2 ?INST1))))
130     130
131 (instance subclass BinaryPredicate)     131 (instance subclass BinaryPredicate)
132 (instance subclass PartialOrderingRelation)     132 (instance subclass PartialOrderingRelation)
133 (domain subclass 1 SetOrClass)     133 (domain subclass 1 SetOrClass)
134 (domain subclass 2 SetOrClass)     134 (domain subclass 2 SetOrClass)
135 (documentation subclass "(&%subclass ?CLASS1 ?CLASS2) means that ?CLASS1 is     135 (documentation subclass "(&%subclass ?CLASS1 ?CLASS2) means that ?CLASS1 is
136 a subclass of ?CLASS2, i.e. every instance of ?CLASS1 is also an instance of     136 a subclass of ?CLASS2, i.e. every instance of ?CLASS1 is also an instance of
137 ?CLASS2. A class may have multiple superclasses and subclasses.")     137 ?CLASS2. A class may have multiple superclasses and subclasses.")
138     138
139 (<=>     139 (<=>
140    (subclass ?SUBCLASS ?CLASS)     140    (subclass ?SUBCLASS ?CLASS)
141    (and     141    (and
142       (instance ?SUBCLASS SetOrClass)     142       (instance ?SUBCLASS SetOrClass)
143       (instance ?CLASS SetOrClass)     143       (instance ?CLASS SetOrClass)
144       (forall (?INST)     144       (forall (?INST)
145          (=>     145          (=>
146             (instance ?INST ?SUBCLASS)     146             (instance ?INST ?SUBCLASS)
147             (instance ?INST ?CLASS)))))     147             (instance ?INST ?CLASS)))))
148     148
149 (subrelation immediateSubclass subclass)     149 (subrelation immediateSubclass subclass)
150 (instance immediateSubclass AsymmetricRelation)     150 (instance immediateSubclass AsymmetricRelation)
151 (instance immediateSubclass IntransitiveRelation)     151 (instance immediateSubclass IntransitiveRelation)
152 (documentation immediateSubclass "A &%SetOrClass ?CLASS1 is an &%immediateSubclass     152 (documentation immediateSubclass "A &%SetOrClass ?CLASS1 is an &%immediateSubclass
153 of another &%SetOrClass ?CLASS2 just in case ?CLASS1 is a subclass of ?CLASS2 and     153 of another &%SetOrClass ?CLASS2 just in case ?CLASS1 is a subclass of ?CLASS2 and
154 there is no other subclass of ?CLASS2 such that ?CLASS1 is also a subclass of it.")     154 there is no other subclass of ?CLASS2 such that ?CLASS1 is also a subclass of it.")
155     155
156 (=>     156 (=>
157    (immediateSubclass ?CLASS1 ?CLASS2)     157    (immediateSubclass ?CLASS1 ?CLASS2)
158    (not (exists (?CLASS3)     158    (not (exists (?CLASS3)
159       (and     159       (and
160          (subclass ?CLASS3 ?CLASS2)     160          (subclass ?CLASS3 ?CLASS2)
161          (subclass ?CLASS1 ?CLASS3)     161          (subclass ?CLASS1 ?CLASS3)
162          (not (equal ?CLASS2 ?CLASS3))     162          (not (equal ?CLASS2 ?CLASS3))
163          (not (equal ?CLASS1 ?CLASS3))))))     163          (not (equal ?CLASS1 ?CLASS3))))))
164     164
165 (instance subrelation BinaryPredicate)     165 (instance subrelation BinaryPredicate)
166 (instance subrelation PartialOrderingRelation)     166 (instance subrelation PartialOrderingRelation)
167 (domain subrelation 1 Relation)     167 (domain subrelation 1 Relation)
168 (domain subrelation 2 Relation)     168 (domain subrelation 2 Relation)
169 (documentation subrelation "(&%subrelation ?REL1 ?REL2) means that     169 (documentation subrelation "(&%subrelation ?REL1 ?REL2) means that
170 every tuple of ?REL1 is also a tuple of ?REL2. In other words, if     170 every tuple of ?REL1 is also a tuple of ?REL2. In other words, if
171 the &%Relation ?REL1 holds for some arguments arg_1, arg_2, ... arg_n,     171 the &%Relation ?REL1 holds for some arguments arg_1, arg_2, ... arg_n,
172 then the &%Relation ?REL2 holds for the same arguments. A consequence     172 then the &%Relation ?REL2 holds for the same arguments. A consequence
173 of this is that a &%Relation and its subrelations must have the same     173 of this is that a &%Relation and its subrelations must have the same
174 &%valence. In CycL, &%subrelation is called #$genlPreds.")     174 &%valence. In CycL, &%subrelation is called #$genlPreds.")
175     175
176 (=>     176 (=>
177    (and     177    (and
178       (subrelation ?PRED1 ?PRED2)     178       (subrelation ?PRED1 ?PRED2)
179       (valence ?PRED1 ?NUMBER))     179       (valence ?PRED1 ?NUMBER))
180    (valence ?PRED2 ?NUMBER))     180    (valence ?PRED2 ?NUMBER))
181     181
182 (=>     182 (=>
183    (and     183    (and
184       (subrelation ?PRED1 ?PRED2)     184       (subrelation ?PRED1 ?PRED2)
185       (domain ?PRED2 ?NUMBER ?CLASS1))     185       (domain ?PRED2 ?NUMBER ?CLASS1))
186    (domain ?PRED1 ?NUMBER ?CLASS1))     186    (domain ?PRED1 ?NUMBER ?CLASS1))
187     187
188 (=>     188 (=>
189    (and     189    (and
190       (subrelation ?REL1 ?REL2)     190       (subrelation ?REL1 ?REL2)
191       (holds ?REL1 @ROW))     191       (holds ?REL1 @ROW))
192    (holds ?REL2 @ROW))     192    (holds ?REL2 @ROW))
193     193
194 (=>     194 (=>
195    (and     195    (and
196       (subrelation ?PRED1 ?PRED2)     196       (subrelation ?PRED1 ?PRED2)
197       (instance ?PRED2 ?CLASS)     197       (instance ?PRED2 ?CLASS)
198       (instance ?CLASS InheritableRelation))     198       (instance ?CLASS InheritableRelation))
199    (instance ?PRED1 ?CLASS))     199    (instance ?PRED1 ?CLASS))
200     200
201 (instance domain TernaryPredicate)     201 (instance domain TernaryPredicate)
202 (domain domain 1 Relation)     202 (domain domain 1 Relation)
203 (domain domain 2 PositiveInteger)     203 (domain domain 2 PositiveInteger)
204 (domain domain 3 SetOrClass)     204 (domain domain 3 SetOrClass)
205 (documentation domain "Provides a computationally and heuristically     205 (documentation domain "Provides a computationally and heuristically
206 convenient mechanism for declaring the argument types of a given relation.     206 convenient mechanism for declaring the argument types of a given relation.
207 The formula (&%domain ?REL ?INT ?CLASS) means that the ?INT'th element of each     207 The formula (&%domain ?REL ?INT ?CLASS) means that the ?INT'th element of each
208 tuple in the relation ?REL must be an instance of ?CLASS. Specifying argument     208 tuple in the relation ?REL must be an instance of ?CLASS. Specifying argument
209 types is very helpful in maintaining ontologies. Representation systems can     209 types is very helpful in maintaining ontologies. Representation systems can
210 use these specifications to classify terms and check integrity constraints.     210 use these specifications to classify terms and check integrity constraints.
211 If the restriction on the argument type of a &%Relation is not captured by a     211 If the restriction on the argument type of a &%Relation is not captured by a
212 &%SetOrClass already defined in the ontology, one can specify a &%SetOrClass     212 &%SetOrClass already defined in the ontology, one can specify a &%SetOrClass
213 compositionally with the functions &%UnionFn, &%IntersectionFn, etc.")     213 compositionally with the functions &%UnionFn, &%IntersectionFn, etc.")
214     214
215 (=>     215 (=>
216    (and     216    (and
217       (domain ?REL ?NUMBER ?CLASS1)     217       (domain ?REL ?NUMBER ?CLASS1)
218       (domain ?REL ?NUMBER ?CLASS2))     218       (domain ?REL ?NUMBER ?CLASS2))
219    (or     219    (or
220       (subclass ?CLASS1 ?CLASS2)     220       (subclass ?CLASS1 ?CLASS2)
221       (subclass ?CLASS2 ?CLASS1)))     221       (subclass ?CLASS2 ?CLASS1)))
222     222
223 (instance domainSubclass TernaryPredicate)     223 (instance domainSubclass TernaryPredicate)
224 (domain domainSubclass 1 Relation)     224 (domain domainSubclass 1 Relation)
225 (domain domainSubclass 2 PositiveInteger)     225 (domain domainSubclass 2 PositiveInteger)
226 (domain domainSubclass 3 SetOrClass)     226 (domain domainSubclass 3 SetOrClass)
227 (documentation domainSubclass "&%Predicate used to specify argument     227 (documentation domainSubclass "&%Predicate used to specify argument
228 type restrictions of &%Predicates. The formula (&%domainSubclass     228 type restrictions of &%Predicates. The formula (&%domainSubclass
229 ?REL ?INT ?CLASS) means that the ?INT'th element of each tuple in the     229 ?REL ?INT ?CLASS) means that the ?INT'th element of each tuple in the
230 relation ?REL must be a subclass of ?CLASS.")     230 relation ?REL must be a subclass of ?CLASS.")
231     231
232 (=>     232 (=>
233    (and     233    (and
234       (subrelation ?REL1 ?REL2)     234       (subrelation ?REL1 ?REL2)
235       (domainSubclass ?REL2 ?NUMBER ?CLASS1))     235       (domainSubclass ?REL2 ?NUMBER ?CLASS1))
236    (domainSubclass ?REL1 ?NUMBER ?CLASS1))     236    (domainSubclass ?REL1 ?NUMBER ?CLASS1))
237     237
238 (=>     238 (=>
239    (and     239    (and
240       (domainSubclass ?REL ?NUMBER ?CLASS1)     240       (domainSubclass ?REL ?NUMBER ?CLASS1)
241       (domainSubclass ?REL ?NUMBER ?CLASS2))     241       (domainSubclass ?REL ?NUMBER ?CLASS2))
242    (or     242    (or
243       (subclass ?CLASS1 ?CLASS2)     243       (subclass ?CLASS1 ?CLASS2)
244       (subclass ?CLASS2 ?CLASS1)))     244       (subclass ?CLASS2 ?CLASS1)))
245     245
246 (instance equal BinaryPredicate)     246 (instance equal BinaryPredicate)
247 (instance equal EquivalenceRelation)     247 (instance equal EquivalenceRelation)
248 (instance equal RelationExtendedToQuantities)     248 (instance equal RelationExtendedToQuantities)
249 (domain equal 1 Entity)     249 (domain equal 1 Entity)
250 (domain equal 2 Entity)     250 (domain equal 2 Entity)
251 (documentation equal "(equal ?ENTITY1 ?ENTITY2) is true just in case     251 (documentation equal "(equal ?ENTITY1 ?ENTITY2) is true just in case
252 ?ENTITY1 is identical with ?ENTITY2.")     252 ?ENTITY1 is identical with ?ENTITY2.")
253     253
254 (=>     254 (=>
255    (equal ?THING1 ?THING2)     255    (equal ?THING1 ?THING2)
256    (forall (?ATTR)     256    (forall (?ATTR)
257       (<=>     257       (<=>
258          (property ?THING1 ?ATTR)     258          (property ?THING1 ?ATTR)
259          (property ?THING2 ?ATTR))))     259          (property ?THING2 ?ATTR))))
260     260
261 (=>     261 (=>
262    (equal ?ATTR1 ?ATTR2)     262    (equal ?ATTR1 ?ATTR2)
263    (forall (?THING)     263    (forall (?THING)
264       (<=>     264       (<=>
265          (property ?THING ?ATTR1)     265          (property ?THING ?ATTR1)
266          (property ?THING ?ATTR2))))     266          (property ?THING ?ATTR2))))
267     267
268 (=>     268 (=>
269    (equal ?THING1 ?THING2)     269    (equal ?THING1 ?THING2)
270    (forall (?CLASS)     270    (forall (?CLASS)
271       (<=>     271       (<=>
272          (instance ?THING1 ?CLASS)     272          (instance ?THING1 ?CLASS)
273          (instance ?THING2 ?CLASS))))     273          (instance ?THING2 ?CLASS))))
274     274
275 (=>     275 (=>
276    (equal ?CLASS1 ?CLASS2)     276    (equal ?CLASS1 ?CLASS2)
277    (forall (?THING)     277    (forall (?THING)
278       (<=>     278       (<=>
279          (instance ?THING ?CLASS1)     279          (instance ?THING ?CLASS1)
280          (instance ?THING ?CLASS2))))     280          (instance ?THING ?CLASS2))))
281     281
282 (=>     282 (=>
283    (equal ?REL1 ?REL2)     283    (equal ?REL1 ?REL2)
284    (forall (@ROW)     284    (forall (@ROW)
285       (<=>     285       (<=>
286          (holds ?REL1 @ROW)     286          (holds ?REL1 @ROW)
287          (holds ?REL2 @ROW))))     287          (holds ?REL2 @ROW))))
288     288
289 (=>     289 (=>
290    (equal (ListFn @ROW1) (ListFn @ROW2))     290    (equal (ListFn @ROW1) (ListFn @ROW2))
291       (<=>     291       (<=>
292          (holds @ROW1)     292          (holds @ROW1)
293          (holds @ROW2)))     293          (holds @ROW2)))
294     294
295 (=>     295 (=>
296    (equal ?LIST1 ?LIST2)     296    (equal ?LIST1 ?LIST2)
297       (=>     297       (=>
298          (and     298          (and
299             (equal ?LIST1 (ListFn @ROW1))     299             (equal ?LIST1 (ListFn @ROW1))
300             (equal ?LIST2 (ListFn @ROW2)))     300             (equal ?LIST2 (ListFn @ROW2)))
301          (forall (?NUMBER)     301          (forall (?NUMBER)
302             (equal (ListOrderFn (ListFn @ROW1) ?NUMBER) (ListOrderFn (ListFn @ROW2) ?NUMBER)))))     302             (equal (ListOrderFn (ListFn @ROW1) ?NUMBER) (ListOrderFn (ListFn @ROW2) ?NUMBER)))))
303     303
304 (instance range BinaryPredicate)     304 (instance range BinaryPredicate)
305 (instance range AsymmetricRelation)     305 (instance range AsymmetricRelation)
306 (domain range 1 Function)     306 (domain range 1 Function)
307 (domain range 2 SetOrClass)     307 (domain range 2 SetOrClass)
308 (documentation range "Gives the range of a function. In other words,     308 (documentation range "Gives the range of a function. In other words,
309 (&%range ?FUNCTION ?CLASS) means that all of the values assigned by     309 (&%range ?FUNCTION ?CLASS) means that all of the values assigned by
310 ?FUNCTION are &%instances of ?CLASS.")     310 ?FUNCTION are &%instances of ?CLASS.")
311     311
312 (=>     312 (=>
313    (and     313    (and
314       (range ?FUNCTION ?CLASS)     314       (range ?FUNCTION ?CLASS)
315       (equal (AssignmentFn ?FUNCTION @ROW) ?VALUE))     315       (equal (AssignmentFn ?FUNCTION @ROW) ?VALUE))
316    (instance ?VALUE ?CLASS))     316    (instance ?VALUE ?CLASS))
317     317
318 (=>     318 (=>
319    (and     319    (and
320       (subrelation ?REL1 ?REL2)     320       (subrelation ?REL1 ?REL2)
321       (range ?REL2 ?CLASS1))     321       (range ?REL2 ?CLASS1))
322    (range ?REL1 ?CLASS1))     322    (range ?REL1 ?CLASS1))
323     323
324 (=>     324 (=>
325    (and     325    (and
326       (range ?REL ?CLASS1)     326       (range ?REL ?CLASS1)
327       (range ?REL ?CLASS2))     327       (range ?REL ?CLASS2))
328    (or     328    (or
329       (subclass ?CLASS1 ?CLASS2)     329       (subclass ?CLASS1 ?CLASS2)
330       (subclass ?CLASS2 ?CLASS1)))     330       (subclass ?CLASS2 ?CLASS1)))
331     331
332 (instance rangeSubclass BinaryPredicate)     332 (instance rangeSubclass BinaryPredicate)
333 (instance rangeSubclass AsymmetricRelation)     333 (instance rangeSubclass AsymmetricRelation)
334 (domain rangeSubclass 1 Function)     334 (domain rangeSubclass 1 Function)
335 (domainSubclass rangeSubclass 2 SetOrClass)     335 (domainSubclass rangeSubclass 2 SetOrClass)
336 (documentation rangeSubclass "(&%rangeSubclass ?FUNCTION ?CLASS) means that     336 (documentation rangeSubclass "(&%rangeSubclass ?FUNCTION ?CLASS) means that
337 all of the values assigned by ?FUNCTION are &%subclasses of ?CLASS.")     337 all of the values assigned by ?FUNCTION are &%subclasses of ?CLASS.")
338     338
339 (=>     339 (=>
340    (and     340    (and
341       (rangeSubclass ?FUNCTION ?CLASS)     341       (rangeSubclass ?FUNCTION ?CLASS)
342       (equal (AssignmentFn ?FUNCTION @ROW) ?VALUE))     342       (equal (AssignmentFn ?FUNCTION @ROW) ?VALUE))
343    (subclass ?VALUE ?CLASS))     343    (subclass ?VALUE ?CLASS))
344     344
345 (=>     345 (=>
346    (and     346    (and
347       (subrelation ?REL1 ?REL2)     347       (subrelation ?REL1 ?REL2)
348       (rangeSubclass ?REL2 ?CLASS1))     348       (rangeSubclass ?REL2 ?CLASS1))
349    (rangeSubclass ?REL1 ?CLASS1))     349    (rangeSubclass ?REL1 ?CLASS1))
350     350
351 (=>     351 (=>
352    (and     352    (and
353       (rangeSubclass ?REL ?CLASS1)     353       (rangeSubclass ?REL ?CLASS1)
354       (rangeSubclass ?REL ?CLASS2))     354       (rangeSubclass ?REL ?CLASS2))
355    (or     355    (or
356       (subclass ?CLASS1 ?CLASS2)     356       (subclass ?CLASS1 ?CLASS2)
357       (subclass ?CLASS2 ?CLASS1)))     357       (subclass ?CLASS2 ?CLASS1)))
358     358
359 (instance valence BinaryPredicate)     359 (instance valence BinaryPredicate)
360 (instance valence AsymmetricRelation)     360 (instance valence AsymmetricRelation)
361 (instance valence SingleValuedRelation)     361 (instance valence SingleValuedRelation)
362 (domain valence 1 Relation)     362 (domain valence 1 Relation)
363 (domain valence 2 PositiveInteger)     363 (domain valence 2 PositiveInteger)
364 (documentation valence "Specifies the number of arguments that a     364 (documentation valence "Specifies the number of arguments that a
365 relation can take. If a relation does not have a fixed number of     365 relation can take. If a relation does not have a fixed number of
366 arguments, it does not have a valence and it is an instance of     366 arguments, it does not have a valence and it is an instance of
367 &%VariableArityRelation. For example, &%holds is a     367 &%VariableArityRelation. For example, &%holds is a
368 &%VariableArityRelation.")     368 &%VariableArityRelation.")
369     369
370 (instance documentation BinaryPredicate)     370 (instance documentation BinaryPredicate)
371 (instance documentation AsymmetricRelation)     371 (instance documentation AsymmetricRelation)
372 (domain documentation 1 Entity)     372 (domain documentation 1 Entity)
373 (domain documentation 2 SymbolicString)     373 (domain documentation 2 SymbolicString)
374 (documentation documentation "A relation between objects in the domain     374 (documentation documentation "A relation between objects in the domain
375 of discourse and strings of natural language text. The domain of     375 of discourse and strings of natural language text. The domain of
376 &%documentation is not constants (names), but the objects themselves.     376 &%documentation is not constants (names), but the objects themselves.
377 This means that one does not quote the names when associating them with     377 This means that one does not quote the names when associating them with
378 their documentation.")     378 their documentation.")
379     379
380 (instance disjoint BinaryPredicate)     380 (instance disjoint BinaryPredicate)
381 (instance disjoint SymmetricRelation)     381 (instance disjoint SymmetricRelation)
382 (domain disjoint 1 SetOrClass)     382 (domain disjoint 1 SetOrClass)
383 (domain disjoint 2 SetOrClass)     383 (domain disjoint 2 SetOrClass)
384 (documentation disjoint "&%Classes are &%disjoint only if they share no     384 (documentation disjoint "&%Classes are &%disjoint only if they share no
385 instances, i.e. just in case the result of applying &%IntersectionFn to     385 instances, i.e. just in case the result of applying &%IntersectionFn to
386 them is empty.")     386 them is empty.")
387     387
388 (<=>     388 (<=>
389    (disjoint ?CLASS1 ?CLASS2)     389    (disjoint ?CLASS1 ?CLASS2)
390    (and     390    (and
391       (instance ?CLASS1 SetOrClass)   1 391       (instance ?CLASS1 NonNullSet)
392       (instance ?CLASS2 SetOrClass)   1 392       (instance ?CLASS2 NonNullSet)
393       (forall (?INST)     393       (forall (?INST)
394          (not     394          (not
395             (and     395             (and
396 (instance ?INST ?CLASS1)     396 (instance ?INST ?CLASS1)
397                (instance ?INST ?CLASS2))))))     397                (instance ?INST ?CLASS2))))))
398     398
399 (instance disjointRelation Predicate)     399 (instance disjointRelation Predicate)
400 (instance disjointRelation VariableArityRelation)     400 (instance disjointRelation VariableArityRelation)
401 (relatedInternalConcept disjointRelation disjoint)     401 (relatedInternalConcept disjointRelation disjoint)
402 (documentation disjointRelation "This predicate relates any number of &%Relations.     402 (documentation disjointRelation "This predicate relates any number of &%Relations.
403 (&%disjointRelation @ROW) means that any two relations in @ROW have no tuples in     403 (&%disjointRelation @ROW) means that any two relations in @ROW have no tuples in
404 common. As a consequence, the intersection of all of the relations in @ROW is the     404 common. As a consequence, the intersection of all of the relations in @ROW is the
405 null set.")     405 null set.")
406     406
407 (=>     407 (=>
408    (and     408    (and
409       (disjointRelation @ROW)     409       (disjointRelation @ROW)
410       (inList ?REL (ListFn @ROW)))     410       (inList ?REL (ListFn @ROW)))
411    (instance ?REL Relation))     411    (instance ?REL Relation))
412     412
413 (=>     413 (=>
414    (and     414    (and
415       (disjointRelation @ROW)     415       (disjointRelation @ROW)
416       (inList ?REL1 (ListFn @ROW))     416       (inList ?REL1 (ListFn @ROW))
417       (inList ?REL2 (ListFn @ROW))     417       (inList ?REL2 (ListFn @ROW))
418       (valence ?REL1 ?NUMBER))     418       (valence ?REL1 ?NUMBER))
419    (valence ?REL2 ?NUMBER))     419    (valence ?REL2 ?NUMBER))
420     420
421 (=>     421 (=>
422    (and     422    (and
423       (domain ?REL1 ?NUMBER ?CLASS1)     423       (domain ?REL1 ?NUMBER ?CLASS1)
424       (domain ?REL2 ?NUMBER ?CLASS2)     424       (domain ?REL2 ?NUMBER ?CLASS2)
425       (disjoint ?CLASS1 ?CLASS2))     425       (disjoint ?CLASS1 ?CLASS2))
426    (disjointRelation ?REL1 ?REL2))     426    (disjointRelation ?REL1 ?REL2))
427     427
428 (=>     428 (=>
429    (and     429    (and
430       (domainSubclass ?REL1 ?NUMBER ?CLASS1)     430       (domainSubclass ?REL1 ?NUMBER ?CLASS1)
431       (domainSubclass ?REL2 ?NUMBER ?CLASS2)     431       (domainSubclass ?REL2 ?NUMBER ?CLASS2)
432       (disjoint ?CLASS1 ?CLASS2))     432       (disjoint ?CLASS1 ?CLASS2))
433    (disjointRelation ?REL1 ?REL2))     433    (disjointRelation ?REL1 ?REL2))
434     434
435 (=>     435 (=>
436    (and     436    (and
437       (range ?REL1 ?CLASS1)     437       (range ?REL1 ?CLASS1)
438       (range ?REL2 ?CLASS2)     438       (range ?REL2 ?CLASS2)
439       (disjoint ?CLASS1 ?CLASS2))     439       (disjoint ?CLASS1 ?CLASS2))
440    (disjointRelation ?REL1 ?REL2))     440    (disjointRelation ?REL1 ?REL2))
441     441
442 (=>     442 (=>
443    (and     443    (and
444       (rangeSubclass ?REL1 ?CLASS1)     444       (rangeSubclass ?REL1 ?CLASS1)
445       (rangeSubclass ?REL2 ?CLASS2)     445       (rangeSubclass ?REL2 ?CLASS2)
446       (disjoint ?CLASS1 ?CLASS2))     446       (disjoint ?CLASS1 ?CLASS2))
447    (disjointRelation ?REL1 ?REL2))     447    (disjointRelation ?REL1 ?REL2))
448     448
449 (=>     449 (=>
450    (and     450    (and
451       (disjointRelation @ROW1)     451       (disjointRelation @ROW1)
452       (inList ?REL1 (ListFn @ROW1))     452       (inList ?REL1 (ListFn @ROW1))
453       (inList ?REL2 (ListFn @ROW1))     453       (inList ?REL2 (ListFn @ROW1))
454       (not (equal ?REL1 ?REL2))     454       (not (equal ?REL1 ?REL2))
455       (holds ?REL1 @ROW2))     455       (holds ?REL1 @ROW2))
456    (not (holds ?REL2 @ROW2)))     456    (not (holds ?REL2 @ROW2)))
457     457
458 (instance contraryAttribute Predicate)     458 (instance contraryAttribute Predicate)
459 (instance contraryAttribute VariableArityRelation)     459 (instance contraryAttribute VariableArityRelation)
460 (documentation contraryAttribute "A &%contraryAttribute is a set of &%Attributes     460 (documentation contraryAttribute "A &%contraryAttribute is a set of &%Attributes
461 such that something can not simultaneously have more than one of these &%Attributes.     461 such that something can not simultaneously have more than one of these &%Attributes.
462 For example, (&%contraryAttribute &%Pliable &%Rigid) means that nothing can be both     462 For example, (&%contraryAttribute &%Pliable &%Rigid) means that nothing can be both
463 &%Pliable and &%Rigid.")     463 &%Pliable and &%Rigid.")
464     464
465 (=>     465 (=>
466    (contraryAttribute @ROW)     466    (contraryAttribute @ROW)
467    (=>     467    (=>
468       (inList ?ELEMENT (ListFn @ROW))     468       (inList ?ELEMENT (ListFn @ROW))
469       (instance ?ELEMENT Attribute)))     469       (instance ?ELEMENT Attribute)))
470     470
471 (=>     471 (=>
472    (contraryAttribute @ROW)     472    (contraryAttribute @ROW)
473    (forall (?ATTR1 ?ATTR2)     473    (forall (?ATTR1 ?ATTR2)
474       (=>     474       (=>
475          (and     475          (and
476             (equal ?ATTR1 (ListOrderFn (ListFn @ROW) ?NUMBER1))     476             (equal ?ATTR1 (ListOrderFn (ListFn @ROW) ?NUMBER1))
477             (equal ?ATTR2 (ListOrderFn (ListFn @ROW) ?NUMBER2))     477             (equal ?ATTR2 (ListOrderFn (ListFn @ROW) ?NUMBER2))
478             (not (equal ?NUMBER1 ?NUMBER2)))     478             (not (equal ?NUMBER1 ?NUMBER2)))
479          (=>     479          (=>
480             (property ?OBJ ?ATTR1)     480             (property ?OBJ ?ATTR1)
481             (not (property ?OBJ ?ATTR2))))))     481             (not (property ?OBJ ?ATTR2))))))
482     482
483 (instance exhaustiveAttribute Predicate)     483 (instance exhaustiveAttribute Predicate)
484 (instance exhaustiveAttribute VariableArityRelation)     484 (instance exhaustiveAttribute VariableArityRelation)
485 (domainSubclass exhaustiveAttribute 1 Attribute)     485 (domainSubclass exhaustiveAttribute 1 Attribute)
486 (documentation exhaustiveAttribute "This predicate relates a &%Class to a     486 (documentation exhaustiveAttribute "This predicate relates a &%Class to a
487 set of &%Attributes, and it means that the elements of this set exhaust the     487 set of &%Attributes, and it means that the elements of this set exhaust the
488 instances of the &%Class. For example, (&%exhaustiveAttribute &%PhysicalState     488 instances of the &%Class. For example, (&%exhaustiveAttribute &%PhysicalState
489 &%Solid &%Liquid &%Gas) means that there are only three instances of the class     489 &%Solid &%Liquid &%Gas) means that there are only three instances of the class
490 &%PhysicalState, viz. &%Solid, &%Liquid, and &%Gas.")     490 &%PhysicalState, viz. &%Solid, &%Liquid, and &%Gas.")
491     491
492 (=>     492 (=>
493    (exhaustiveAttribute ?CLASS @ROW)     493    (exhaustiveAttribute ?CLASS @ROW)
494    (=>     494    (=>
495       (inList ?ATTR (ListFn @ROW))     495       (inList ?ATTR (ListFn @ROW))
496       (instance ?ATTR Attribute)))     496       (instance ?ATTR Attribute)))
497     497
498 (=>     498 (=>
499    (exhaustiveAttribute ?CLASS @ROW)     499    (exhaustiveAttribute ?CLASS @ROW)
500    (forall (?OBJ)     500    (forall (?OBJ)
501       (=>     501       (=>
502          (instance ?ATTR1 ?CLASS)     502          (instance ?ATTR1 ?CLASS)
503          (exists (?ATTR2)     503          (exists (?ATTR2)
504             (and     504             (and
505                (inList ?ATTR2 (ListFn @ROW))     505                (inList ?ATTR2 (ListFn @ROW))
506                (equal ?ATTR1 ?ATTR2))))))     506                (equal ?ATTR1 ?ATTR2))))))
507     507
508 (instance exhaustiveDecomposition Predicate)     508 (instance exhaustiveDecomposition Predicate)
509 (instance exhaustiveDecomposition VariableArityRelation)     509 (instance exhaustiveDecomposition VariableArityRelation)
510 (domain exhaustiveDecomposition 1 Class)     510 (domain exhaustiveDecomposition 1 Class)
511 (relatedInternalConcept exhaustiveDecomposition partition)     511 (relatedInternalConcept exhaustiveDecomposition partition)
512 (documentation exhaustiveDecomposition "An &%exhaustiveDecomposition of a     512 (documentation exhaustiveDecomposition "An &%exhaustiveDecomposition of a
513 &%Class C is a set of subclasses of C such that every subclass of C either     513 &%Class C is a set of subclasses of C such that every subclass of C either
514 is an element of the set or is a subclass of an element of the set. Note:     514 is an element of the set or is a subclass of an element of the set. Note:
515 this does not necessarily mean that the elements of the set are disjoint     515 this does not necessarily mean that the elements of the set are disjoint
516 (see &%partition - a &%partition is a disjoint exhaustive decomposition.)")     516 (see &%partition - a &%partition is a disjoint exhaustive decomposition.)")
517     517
518 (=>     518 (=>
519    (exhaustiveDecomposition @ROW)     519    (exhaustiveDecomposition @ROW)
520    (=>     520    (=>
521       (inList ?ELEMENT (ListFn @ROW))     521       (inList ?ELEMENT (ListFn @ROW))
522       (instance ?ELEMENT Class)))     522       (instance ?ELEMENT Class)))
523     523
524 (instance disjointDecomposition Predicate)     524 (instance disjointDecomposition Predicate)
525 (instance disjointDecomposition VariableArityRelation)     525 (instance disjointDecomposition VariableArityRelation)
526 (domain disjointDecomposition 1 Class)     526 (domain disjointDecomposition 1 Class)
527 (relatedInternalConcept disjointDecomposition exhaustiveDecomposition)     527 (relatedInternalConcept disjointDecomposition exhaustiveDecomposition)
528 (relatedInternalConcept disjointDecomposition disjoint)     528 (relatedInternalConcept disjointDecomposition disjoint)
529 (documentation disjointDecomposition "A &%disjointDecomposition of a &%Class     529 (documentation disjointDecomposition "A &%disjointDecomposition of a &%Class
530 C is a set of subclasses of C that are mutually &%disjoint.")     530 C is a set of subclasses of C that are mutually &%disjoint.")
531     531
532 (=>     532 (=>
533    (disjointDecomposition @ROW)     533    (disjointDecomposition @ROW)
534    (=>     534    (=>
535       (inList ?ELEMENT (ListFn @ROW))     535       (inList ?ELEMENT (ListFn @ROW))
536       (instance ?ELEMENT Class)))     536       (instance ?ELEMENT Class)))
537     537
538 (instance partition Predicate)     538 (instance partition Predicate)
539 (instance partition VariableArityRelation)     539 (instance partition VariableArityRelation)
540 (domain partition 1 Class)     540 (domain partition 1 Class)
541 (documentation partition "A &%partition of a class C is a set of     541 (documentation partition "A &%partition of a class C is a set of
542 mutually &%disjoint classes (a subclass partition) which covers C.     542 mutually &%disjoint classes (a subclass partition) which covers C.
543 Every instance of C is an instance of exactly one of the subclasses     543 Every instance of C is an instance of exactly one of the subclasses
544 in the partition.")     544 in the partition.")
545     545
546 (<=>     546 (<=>
547    (partition @ROW)     547    (partition @ROW)
548    (and     548    (and
549       (exhaustiveDecomposition @ROW)     549       (exhaustiveDecomposition @ROW)
550       (disjointDecomposition @ROW)))     550       (disjointDecomposition @ROW)))
551     551
552 (instance relatedInternalConcept BinaryPredicate)     552 (instance relatedInternalConcept BinaryPredicate)
553 (instance relatedInternalConcept EquivalenceRelation)     553 (instance relatedInternalConcept EquivalenceRelation)
554 (domain relatedInternalConcept 1 Entity)     554 (domain relatedInternalConcept 1 Entity)
555 (domain relatedInternalConcept 2 Entity)     555 (domain relatedInternalConcept 2 Entity)
556 (documentation relatedInternalConcept "Means that the two arguments are     556 (documentation relatedInternalConcept "Means that the two arguments are
557 related concepts within the SUMO, i.e. there is a significant similarity     557 related concepts within the SUMO, i.e. there is a significant similarity
558 of meaning between them. To indicate a meaning relation between a SUMO     558 of meaning between them. To indicate a meaning relation between a SUMO
559 concept and a concept from another source, use the Predicate     559 concept and a concept from another source, use the Predicate
560 &%relatedExternalConcept.")     560 &%relatedExternalConcept.")
561     561
562 (instance relatedExternalConcept TernaryPredicate)     562 (instance relatedExternalConcept TernaryPredicate)
563 (domain relatedExternalConcept 1 SymbolicString)     563 (domain relatedExternalConcept 1 SymbolicString)
564 (domain relatedExternalConcept 2 Entity)     564 (domain relatedExternalConcept 2 Entity)
565 (domain relatedExternalConcept 3 Language)     565 (domain relatedExternalConcept 3 Language)
566 (relatedInternalConcept relatedExternalConcept relatedInternalConcept)     566 (relatedInternalConcept relatedExternalConcept relatedInternalConcept)
567 (documentation relatedExternalConcept "Used to signify a three-place     567 (documentation relatedExternalConcept "Used to signify a three-place
568 relation between a concept in an external knowledge source, a concept     568 relation between a concept in an external knowledge source, a concept
569 in the SUMO, and the name of the other knowledge source.")     569 in the SUMO, and the name of the other knowledge source.")
570     570
571 (subrelation synonymousExternalConcept relatedExternalConcept)     571 (subrelation synonymousExternalConcept relatedExternalConcept)
572 (disjointRelation synonymousExternalConcept subsumedExternalConcept subsumingExternalConcept)     572 (disjointRelation synonymousExternalConcept subsumedExternalConcept subsumingExternalConcept)
573 (documentation synonymousExternalConcept "(&%synonymousExternalConcept     573 (documentation synonymousExternalConcept "(&%synonymousExternalConcept
574 ?STRING ?THING ?LANGUAGE) means that the SUMO concept ?THING has the     574 ?STRING ?THING ?LANGUAGE) means that the SUMO concept ?THING has the
575 same meaning as ?STRING in ?LANGUAGE.")     575 same meaning as ?STRING in ?LANGUAGE.")
576     576
577 (subrelation subsumingExternalConcept relatedExternalConcept)     577 (subrelation subsumingExternalConcept relatedExternalConcept)
578 (documentation subsumingExternalConcept "(&%subsumingExternalConcept     578 (documentation subsumingExternalConcept "(&%subsumingExternalConcept
579 ?STRING ?THING ?LANGUAGE) means that the SUMO concept ?THING subsumes     579 ?STRING ?THING ?LANGUAGE) means that the SUMO concept ?THING subsumes
580 the meaning of ?STRING in ?LANGUAGE, i.e. the concept ?THING is broader     580 the meaning of ?STRING in ?LANGUAGE, i.e. the concept ?THING is broader
581 in meaning than ?STRING.")     581 in meaning than ?STRING.")
582     582
583 (subrelation subsumedExternalConcept relatedExternalConcept)     583 (subrelation subsumedExternalConcept relatedExternalConcept)
584 (documentation subsumedExternalConcept "(&%subsumedExternalConcept     584 (documentation subsumedExternalConcept "(&%subsumedExternalConcept
585 ?STRING ?THING ?LANGUAGE) means that the SUMO concept ?THING is subsumed     585 ?STRING ?THING ?LANGUAGE) means that the SUMO concept ?THING is subsumed
586 by the meaning of ?STRING in ?LANGUAGE, i.e. the concept ?THING is narrower     586 by the meaning of ?STRING in ?LANGUAGE, i.e. the concept ?THING is narrower
587 in meaning than ?STRING.")     587 in meaning than ?STRING.")
588     588
589 (instance subAttribute BinaryPredicate)     589 (instance subAttribute BinaryPredicate)
590 (instance subAttribute PartialOrderingRelation)     590 (instance subAttribute PartialOrderingRelation)
591 (domain subAttribute 1 Attribute)     591 (domain subAttribute 1 Attribute)
592 (domain subAttribute 2 Attribute)     592 (domain subAttribute 2 Attribute)
593 (disjointRelation subAttribute successorAttribute)     593 (disjointRelation subAttribute successorAttribute)
594 (documentation subAttribute "Means that the second argument can be     594 (documentation subAttribute "Means that the second argument can be
595 ascribed to everything which has the first argument ascribed to it.")     595 ascribed to everything which has the first argument ascribed to it.")
596     596
597 (=>     597 (=>
598    (subAttribute ?ATTR1 ?ATTR2)     598    (subAttribute ?ATTR1 ?ATTR2)
599    (forall (?OBJ)     599    (forall (?OBJ)
600       (=>     600       (=>
601          (property ?OBJ ?ATTR1)     601          (property ?OBJ ?ATTR1)
602          (property ?OBJ ?ATTR2))))     602          (property ?OBJ ?ATTR2))))
603     603
604 (=>     604 (=>
605    (and     605    (and
606       (subAttribute ?ATTR1 ?ATTR2)     606       (subAttribute ?ATTR1 ?ATTR2)
607       (instance ?ATTR2 ?CLASS))     607       (instance ?ATTR2 ?CLASS))
608    (instance ?ATTR1 ?CLASS))     608    (instance ?ATTR1 ?CLASS))
609     609
610 (instance successorAttribute BinaryPredicate)     610 (instance successorAttribute BinaryPredicate)
611 (instance successorAttribute AsymmetricRelation)     611 (instance successorAttribute AsymmetricRelation)
612 (domain successorAttribute 1 Attribute)     612 (domain successorAttribute 1 Attribute)
613 (domain successorAttribute 2 Attribute)     613 (domain successorAttribute 2 Attribute)
614 (documentation successorAttribute "(&%successorAttribute ?ATTR1 ?ATTR2)     614 (documentation successorAttribute "(&%successorAttribute ?ATTR1 ?ATTR2)
615 means that ?ATTR2 is the &%Attribute that comes immediately after ?ATTR1     615 means that ?ATTR2 is the &%Attribute that comes immediately after ?ATTR1
616 on the scale that they share.")     616 on the scale that they share.")
617     617
618 (=>     618 (=>
619    (and     619    (and
620       (successorAttribute ?ATTR1 ?ATTR2)     620       (successorAttribute ?ATTR1 ?ATTR2)
621       (holdsDuring ?TIME1 (property ?ENTITY ?ATTR2)))     621       (holdsDuring ?TIME1 (property ?ENTITY ?ATTR2)))
622    (exists (?TIME2)     622    (exists (?TIME2)
623       (and     623       (and
624          (temporalPart ?TIME2 (PastFn ?TIME1))     624          (temporalPart ?TIME2 (PastFn ?TIME1))
625          (holdsDuring ?TIME2 (property ?ENTITY ?ATTR1)))))     625          (holdsDuring ?TIME2 (property ?ENTITY ?ATTR1)))))
626     626
627 (instance successorAttributeClosure BinaryPredicate)     627 (instance successorAttributeClosure BinaryPredicate)
628 (instance successorAttributeClosure TransitiveRelation)     628 (instance successorAttributeClosure TransitiveRelation)
629 (instance successorAttributeClosure IrreflexiveRelation)     629 (instance successorAttributeClosure IrreflexiveRelation)
630 (domain successorAttributeClosure 1 Attribute)     630 (domain successorAttributeClosure 1 Attribute)
631 (domain successorAttributeClosure 2 Attribute)     631 (domain successorAttributeClosure 2 Attribute)
632 (relatedInternalConcept successorAttributeClosure successorAttribute)     632 (relatedInternalConcept successorAttributeClosure successorAttribute)
633 (documentation successorAttributeClosure "The transitive closure of     633 (documentation successorAttributeClosure "The transitive closure of
634 &%successorAttribute. (&%successorAttributeClosure ?ATTR1 ?ATTR2) means     634 &%successorAttribute. (&%successorAttributeClosure ?ATTR1 ?ATTR2) means
635 that there is a chain of &%successorAttribute assertions connecting     635 that there is a chain of &%successorAttribute assertions connecting
636 ?ATTR1 and ?ATTR2.")     636 ?ATTR1 and ?ATTR2.")
637     637
638 (=>     638 (=>
639    (successorAttribute ?ATTR1 ?ATTR2)     639    (successorAttribute ?ATTR1 ?ATTR2)
640    (successorAttributeClosure ?ATTR1 ?ATTR2))     640    (successorAttributeClosure ?ATTR1 ?ATTR2))
641     641
642 (instance and VariableArityRelation)     642 (instance and VariableArityRelation)
643 (instance and LogicalOperator)     643 (instance and LogicalOperator)
644 (domain and 1 Formula)     644 (domain and 1 Formula)
645 (domain and 2 Formula)     645 (domain and 2 Formula)
646 (documentation and "The truth-functional connective of conjunction.")     646 (documentation and "The truth-functional connective of conjunction.")
647     647
648 (instance or VariableArityRelation)     648 (instance or VariableArityRelation)
649 (instance or LogicalOperator)     649 (instance or LogicalOperator)
650 (domain or 1 Formula)     650 (domain or 1 Formula)
651 (domain or 2 Formula)     651 (domain or 2 Formula)
652 (documentation or "The truth-functional connective of disjunction.")     652 (documentation or "The truth-functional connective of disjunction.")
653     653
654 (instance => BinaryPredicate)     654 (instance => BinaryPredicate)
655 (instance => LogicalOperator)     655 (instance => LogicalOperator)
656 (domain => 1 Formula)     656 (domain => 1 Formula)
657 (domain => 2 Formula)     657 (domain => 2 Formula)
658 (documentation => "The truth-functional connective of implication.")     658 (documentation => "The truth-functional connective of implication.")
659     659
660 (instance <=> BinaryPredicate)     660 (instance <=> BinaryPredicate)
661 (instance <=> LogicalOperator)     661 (instance <=> LogicalOperator)
662 (domain <=> 1 Formula)     662 (domain <=> 1 Formula)
663 (domain <=> 2 Formula)     663 (domain <=> 2 Formula)
664 (documentation <=> "The truth-functional connective of bi-implication.")     664 (documentation <=> "The truth-functional connective of bi-implication.")
665     665
666 (instance not LogicalOperator)     666 (instance not LogicalOperator)
667 (domain not 1 Formula)     667 (domain not 1 Formula)
668 (documentation not "The truth-functional connective of negation.")     668 (documentation not "The truth-functional connective of negation.")
669     669
670 (instance forall BinaryPredicate)     670 (instance forall BinaryPredicate)
671 (instance forall LogicalOperator)     671 (instance forall LogicalOperator)
672 (domain forall 1 List)     672 (domain forall 1 List)
673 (domain forall 2 Formula)     673 (domain forall 2 Formula)
674 (documentation forall "The universal quantifier of predicate logic.")     674 (documentation forall "The universal quantifier of predicate logic.")
675     675
676 (instance exists BinaryPredicate)     676 (instance exists BinaryPredicate)
677 (instance exists LogicalOperator)     677 (instance exists LogicalOperator)
678 (domain exists 1 List)     678 (domain exists 1 List)
679 (domain exists 2 Formula)     679 (domain exists 2 Formula)
680 (documentation exists "The existential quantifier of predicate logic.")     680 (documentation exists "The existential quantifier of predicate logic.")
681     681
682 (instance entails BinaryPredicate)     682 (instance entails BinaryPredicate)
683 (instance entails LogicalOperator)     683 (instance entails LogicalOperator)
684 (domain entails 1 Formula)     684 (domain entails 1 Formula)
685 (domain entails 2 Formula)     685 (domain entails 2 Formula)
686 (documentation entails "The operator of logical entailment. (&%entails     686 (documentation entails "The operator of logical entailment. (&%entails
687 ?FORMULA1 ?FORMULA2) means that ?FORMULA2 can be derived from ?FORMULA1     687 ?FORMULA1 ?FORMULA2) means that ?FORMULA2 can be derived from ?FORMULA1
688 by means of the proof theory of SUO-KIF.")     688 by means of the proof theory of SUO-KIF.")
689     689
690 ;; The following axiom is commented out, because it is rejected by the     690 ;; The following axiom is commented out, because it is rejected by the
691 ;; inference engine's parser.     691 ;; inference engine's parser.
692     692
693 ;;(=>     693 ;;(=>
694 ;; (entails ?FORMULA1 ?FORMULA2)     694 ;; (entails ?FORMULA1 ?FORMULA2)
695 ;; (=> ?FORMULA1 ?FORMULA2))     695 ;; (=> ?FORMULA1 ?FORMULA2))
696     696
697 (instance AssignmentFn Function)     697 (instance AssignmentFn Function)
698 (instance AssignmentFn VariableArityRelation)     698 (instance AssignmentFn VariableArityRelation)
699 (domain AssignmentFn 1 Function)     699 (domain AssignmentFn 1 Function)
700 (range AssignmentFn Entity)     700 (range AssignmentFn Entity)
701 (documentation AssignmentFn "If F is a function with a value for the     701 (documentation AssignmentFn "If F is a function with a value for the
702 objects denoted by N1,..., NK, then the term (AssignmentFn F N1 ... NK)     702 objects denoted by N1,..., NK, then the term (AssignmentFn F N1 ... NK)
703 denotes the value of applying F to the objects denoted by N1,..., NK.     703 denotes the value of applying F to the objects denoted by N1,..., NK.
704 Otherwise, the value is undefined.")     704 Otherwise, the value is undefined.")
705     705
706 (instance holds Predicate)     706 (instance holds Predicate)
707 (instance holds VariableArityRelation)     707 (instance holds VariableArityRelation)
708 (domain holds 1 Relation)     708 (domain holds 1 Relation)
709 (documentation holds "(holds P N1 ... NK) is true just in case     709 (documentation holds "(holds P N1 ... NK) is true just in case
710 the tuple of objects denoted by N1,..., NK is an element of     710 the tuple of objects denoted by N1,..., NK is an element of
711 the &%Relation P.")     711 the &%Relation P.")
712     712
713 (=>     713 (=>
714 (instance ?REL Function)     714 (instance ?REL Function)
715 (<=>     715 (<=>
716 (equal (AssignmentFn ?REL @ROW) ?INST)     716 (equal (AssignmentFn ?REL @ROW) ?INST)
717 (holds ?REL @ROW ?INST)))     717 (holds ?REL @ROW ?INST)))
718     718
719 (instance PowerSetFn UnaryFunction)     719 (instance PowerSetFn UnaryFunction)
720 (instance PowerSetFn TotalValuedRelation)     720 (instance PowerSetFn TotalValuedRelation)
721 (domain PowerSetFn 1 SetOrClass)     721 (domain PowerSetFn 1 SetOrClass)
722 (rangeSubclass PowerSetFn SetOrClass)     722 (rangeSubclass PowerSetFn SetOrClass)
723 (documentation PowerSetFn "(&%PowerSetFn ?CLASS) maps the &%SetOrClass     723 (documentation PowerSetFn "(&%PowerSetFn ?CLASS) maps the &%SetOrClass
724 ?CLASS to the &%SetOrClass of all &%subclasses of ?CLASS.")     724 ?CLASS to the &%SetOrClass of all &%subclasses of ?CLASS.")
725     725
726 ;; END FILE     726 ;; END FILE
727     727
728 ;; BEGIN FILE     728 ;; BEGIN FILE
729     729
730     730
731 ;;;;;;;;;;;;;;;;;;;;;;;     731 ;;;;;;;;;;;;;;;;;;;;;;;
732 ;; BASE ONTOLOGY ;;     732 ;; BASE ONTOLOGY ;;
733 ;;;;;;;;;;;;;;;;;;;;;;;     733 ;;;;;;;;;;;;;;;;;;;;;;;
734     734
735 ;; INCLUDES 'STRUCTURAL ONTOLOGY'     735 ;; INCLUDES 'STRUCTURAL ONTOLOGY'
736     736
737 ;; The following hierarchy incorporates content from Sowa, Russell & Norvig,     737 ;; The following hierarchy incorporates content from Sowa, Russell & Norvig,
738 ;; and the top-level ontology from ITBM-CNR.     738 ;; and the top-level ontology from ITBM-CNR.
739     739
740 (partition Entity Physical Abstract)     740 (partition Entity Physical Abstract)
741 (documentation Entity "The universal class of individuals. This is the root     741 (documentation Entity "The universal class of individuals. This is the root
742 node of the ontology.")     742 node of the ontology.")
743     743
744 (instance ?THING Entity)     744 (instance ?THING Entity)
745     745
746 (exists (?THING) (instance ?THING Entity))     746 (exists (?THING) (instance ?THING Entity))
747     747
748 (=>     748 (=>
749 (instance ?CLASS Class)     749 (instance ?CLASS Class)
750       (subclass ?CLASS Entity))     750       (subclass ?CLASS Entity))
751     751
752 (subclass Physical Entity)     752 (subclass Physical Entity)
753 (partition Physical Object Process)     753 (partition Physical Object Process)
754 (documentation Physical "An entity that has a location in space-time.     754 (documentation Physical "An entity that has a location in space-time.
755 Note that locations are themselves understood to have a location in     755 Note that locations are themselves understood to have a location in
756 space-time.")     756 space-time.")
757     757
758 (<=>     758 (<=>
759 (instance ?PHYS Physical)     759 (instance ?PHYS Physical)
760 (exists (?LOC ?TIME)     760 (exists (?LOC ?TIME)
761       (and     761       (and
762 (located ?PHYS ?LOC)     762 (located ?PHYS ?LOC)
763                   (time ?PHYS ?TIME))))     763                   (time ?PHYS ?TIME))))
764     764
765 (subclass Object Physical)     765 (subclass Object Physical)
766 (documentation Object "Corresponds roughly to the class of ordinary     766 (documentation Object "Corresponds roughly to the class of ordinary
767 objects. Examples include normal physical objects, geographical regions,     767 objects. Examples include normal physical objects, geographical regions,
768 and locations of &%Processes, the complement of &%Objects in the &%Physical     768 and locations of &%Processes, the complement of &%Objects in the &%Physical
769 class. In a 4D ontology, an &%Object is something whose spatiotemporal     769 class. In a 4D ontology, an &%Object is something whose spatiotemporal
770 extent is thought of as dividing into spatial parts roughly parallel to the     770 extent is thought of as dividing into spatial parts roughly parallel to the
771 time-axis.")     771 time-axis.")
772     772
773 (subclass SelfConnectedObject Object)     773 (subclass SelfConnectedObject Object)
774 (documentation SelfConnectedObject "A &%SelfConnectedObject is any     774 (documentation SelfConnectedObject "A &%SelfConnectedObject is any
775 &%Object that does not consist of two or more disconnected parts.")     775 &%Object that does not consist of two or more disconnected parts.")
776     776
777 (instance FrontFn SpatialRelation)     777 (instance FrontFn SpatialRelation)
778 (instance FrontFn PartialValuedRelation)     778 (instance FrontFn PartialValuedRelation)
779 (instance FrontFn UnaryFunction)     779 (instance FrontFn UnaryFunction)
780 (instance FrontFn AsymmetricRelation)     780 (instance FrontFn AsymmetricRelation)
781 (instance FrontFn IrreflexiveRelation)     781 (instance FrontFn IrreflexiveRelation)
782 (domain FrontFn 1 SelfConnectedObject)     782 (domain FrontFn 1 SelfConnectedObject)
783 (range FrontFn SelfConnectedObject)     783 (range FrontFn SelfConnectedObject)
784 (documentation FrontFn "A &%Function that maps an &%Object to the side     784 (documentation FrontFn "A &%Function that maps an &%Object to the side
785 that generally receives the most attention or that typically faces the     785 that generally receives the most attention or that typically faces the
786 direction in which the &%Object moves. Note that this is a partial     786 direction in which the &%Object moves. Note that this is a partial
787 function, since some &%Objects do not have sides, e.g. apples and     787 function, since some &%Objects do not have sides, e.g. apples and
788 spheres. Note too that the &%range of this &%Function is indefinite in     788 spheres. Note too that the &%range of this &%Function is indefinite in
789 much the way that &%ImmediateFutureFn and &%ImmediatePastFn are indefinite.     789 much the way that &%ImmediateFutureFn and &%ImmediatePastFn are indefinite.
790 Although this indefiniteness is undesirable from a theoretical standpoint,     790 Although this indefiniteness is undesirable from a theoretical standpoint,
791 it does not have significant practical implications, since there is     791 it does not have significant practical implications, since there is
792 widespread intersubjective agreement about the most common cases.")     792 widespread intersubjective agreement about the most common cases.")
793     793
794 (=>     794 (=>
795    (instance ?OBJ SelfConnectedObject)     795    (instance ?OBJ SelfConnectedObject)
796    (part (FrontFn ?OBJ) ?OBJ))     796    (part (FrontFn ?OBJ) ?OBJ))
797     797
798 (instance BackFn SpatialRelation)     798 (instance BackFn SpatialRelation)
799 (instance BackFn PartialValuedRelation)     799 (instance BackFn PartialValuedRelation)
800 (instance BackFn UnaryFunction)     800 (instance BackFn UnaryFunction)
801 (instance BackFn AsymmetricRelation)     801 (instance BackFn AsymmetricRelation)
802 (instance BackFn IrreflexiveRelation)     802 (instance BackFn IrreflexiveRelation)
803 (domain BackFn 1 SelfConnectedObject)     803 (domain BackFn 1 SelfConnectedObject)
804 (range BackFn SelfConnectedObject)     804 (range BackFn SelfConnectedObject)
805 (documentation BackFn "A &%Function that maps an &%Object to the side     805 (documentation BackFn "A &%Function that maps an &%Object to the side
806 that is opposite the &%FrontFn of the &%Object. Note that this is a     806 that is opposite the &%FrontFn of the &%Object. Note that this is a
807 partial function, since some &%Objects do not have sides, e.g. apples     807 partial function, since some &%Objects do not have sides, e.g. apples
808 and spheres. Note too that the &%range of this &%Function is indefinite in     808 and spheres. Note too that the &%range of this &%Function is indefinite in
809 much the way that &%ImmediateFutureFn and &%ImmediatePastFn are indefinite.     809 much the way that &%ImmediateFutureFn and &%ImmediatePastFn are indefinite.
810 Although this indefiniteness is undesirable from a theoretical standpoint,     810 Although this indefiniteness is undesirable from a theoretical standpoint,
811 it does not have significant practical implications, since there is     811 it does not have significant practical implications, since there is
812 widespread intersubjective agreement about the most common cases.")     812 widespread intersubjective agreement about the most common cases.")
813     813
814 (=>     814 (=>
815    (instance ?OBJ SelfConnectedObject)     815    (instance ?OBJ SelfConnectedObject)
816    (part (BackFn ?OBJ) ?OBJ))     816    (part (BackFn ?OBJ) ?OBJ))
817     817
818 (instance part SpatialRelation)     818 (instance part SpatialRelation)
819 (instance part PartialOrderingRelation)     819 (instance part PartialOrderingRelation)
820 (domain part 1 Object)     820 (domain part 1 Object)
821 (domain part 2 Object)     821 (domain part 2 Object)
822 (documentation part "The basic mereological relation. All other     822 (documentation part "The basic mereological relation. All other
823 mereological relations are defined in terms of this one.     823 mereological relations are defined in terms of this one.
824 (&%part ?PART ?WHOLE) simply means that the &%Object ?PART is part     824 (&%part ?PART ?WHOLE) simply means that the &%Object ?PART is part
825 of the &%Object ?WHOLE. Note that, since &%part is a     825 of the &%Object ?WHOLE. Note that, since &%part is a
826 &%ReflexiveRelation, every &%Object is a part of itself.")     826 &%ReflexiveRelation, every &%Object is a part of itself.")
827     827
828 (instance properPart AsymmetricRelation)     828 (instance properPart AsymmetricRelation)
829 (instance properPart TransitiveRelation)     829 (instance properPart TransitiveRelation)
830 (subrelation properPart part)     830 (subrelation properPart part)
831 (documentation properPart "(&%properPart ?OBJ1 ?OBJ2) means that     831 (documentation properPart "(&%properPart ?OBJ1 ?OBJ2) means that
832 ?OBJ1 is a part of ?OBJ2 other than ?OBJ2 itself. This is a     832 ?OBJ1 is a part of ?OBJ2 other than ?OBJ2 itself. This is a
833 &%TransitiveRelation and &%AsymmetricRelation (hence an     833 &%TransitiveRelation and &%AsymmetricRelation (hence an
834 &%IrreflexiveRelation).")     834 &%IrreflexiveRelation).")
835     835
836 (<=>     836 (<=>
837    (properPart ?OBJ1 ?OBJ2)     837    (properPart ?OBJ1 ?OBJ2)
838       (and     838       (and
839 (part ?OBJ1 ?OBJ2)     839 (part ?OBJ1 ?OBJ2)
840 (not     840 (not
841 (part ?OBJ2 ?OBJ1))))     841 (part ?OBJ2 ?OBJ1))))
842     842
843 (subrelation piece part)     843 (subrelation piece part)
844 (domain piece 1 Substance)     844 (domain piece 1 Substance)
845 (domain piece 2 Substance)     845 (domain piece 2 Substance)
846 (documentation piece "A specialized common sense notion of part for     846 (documentation piece "A specialized common sense notion of part for
847 arbitrary parts of &%Substances. Quasi-synonyms are: chunk, hunk, bit,     847 arbitrary parts of &%Substances. Quasi-synonyms are: chunk, hunk, bit,
848 etc. Compare &%component, the other subrelation of &%part.")     848 etc. Compare &%component, the other subrelation of &%part.")
849     849
850 (=>     850 (=>
851    (piece ?SUBSTANCE1 ?SUBSTANCE2)     851    (piece ?SUBSTANCE1 ?SUBSTANCE2)
852    (forall (?CLASS)     852    (forall (?CLASS)
853       (=>     853       (=>
854          (instance ?SUBSTANCE1 ?CLASS)     854          (instance ?SUBSTANCE1 ?CLASS)
855          (instance ?SUBSTANCE2 ?CLASS))))     855          (instance ?SUBSTANCE2 ?CLASS))))
856     856
857 (subrelation component part)     857 (subrelation component part)
858 (domain component 1 CorpuscularObject)     858 (domain component 1 CorpuscularObject)
859 (domain component 2 CorpuscularObject)     859 (domain component 2 CorpuscularObject)
860 (documentation component "A specialized common sense notion of part     860 (documentation component "A specialized common sense notion of part
861 for heterogeneous parts of complexes. (&%component ?COMPONENT ?WHOLE)     861 for heterogeneous parts of complexes. (&%component ?COMPONENT ?WHOLE)
862 means that ?COMPONENT is a component of ?WHOLE. Examples of component     862 means that ?COMPONENT is a component of ?WHOLE. Examples of component
863 include the doors and walls of a house, the states or provinces of a     863 include the doors and walls of a house, the states or provinces of a
864 country, or the limbs and organs of an animal. Compare &%piece, which     864 country, or the limbs and organs of an animal. Compare &%piece, which
865 is also a subrelation of &%part.")     865 is also a subrelation of &%part.")
866     866
867 (instance material BinaryPredicate)     867 (instance material BinaryPredicate)
868 (domainSubclass material 1 Substance)     868 (domainSubclass material 1 Substance)
869 (domain material 2 CorpuscularObject)     869 (domain material 2 CorpuscularObject)
870 (documentation material "(&%material ?SUBSTANCE ?OBJECT) means that     870 (documentation material "(&%material ?SUBSTANCE ?OBJECT) means that
871 ?OBJECT is structurally made up in part of ?SUBSTANCE. This relation     871 ?OBJECT is structurally made up in part of ?SUBSTANCE. This relation
872 encompasses the concepts of 'composed of', 'made of', and 'formed of'.     872 encompasses the concepts of 'composed of', 'made of', and 'formed of'.
873 For example, plastic is a &%material of my computer monitor. Compare     873 For example, plastic is a &%material of my computer monitor. Compare
874 &%part and its subrelations, viz &%component and &%piece.")     874 &%part and its subrelations, viz &%component and &%piece.")
875     875
876 (subrelation contains partlyLocated)     876 (subrelation contains partlyLocated)
877 (instance contains SpatialRelation)     877 (instance contains SpatialRelation)
878 (instance contains AsymmetricRelation)     878 (instance contains AsymmetricRelation)
879 (disjointRelation contains part)     879 (disjointRelation contains part)
880 (domain contains 1 SelfConnectedObject)     880 (domain contains 1 SelfConnectedObject)
881 (domain contains 2 Object)     881 (domain contains 2 Object)
882 (documentation contains "The relation of spatial containment for two separable objects. When the two objects are not separable (e.g. an automobile and one of its seats), the relation of &%part should be used. (&%contains ?OBJ1 ?OBJ2) means that the &%SelfConnectedObject ?OBJ1 has a space (i.e. a &%Hole) which is at least partially filled by ?OBJ2.")     882 (documentation contains "The relation of spatial containment for two separable objects. When the two objects are not separable (e.g. an automobile and one of its seats), the relation of &%part should be used. (&%contains ?OBJ1 ?OBJ2) means that the &%SelfConnectedObject ?OBJ1 has a space (i.e. a &%Hole) which is at least partially filled by ?OBJ2.")
883     883
884 (<=>     884 (<=>
885    (contains ?OBJ1 ?OBJ2)     885    (contains ?OBJ1 ?OBJ2)
886    (exists (?HOLE)     886    (exists (?HOLE)
887       (and     887       (and
888          (hole ?HOLE ?OBJ1)     888          (hole ?HOLE ?OBJ1)
889          (properlyFills ?OBJ2 ?HOLE))))     889          (properlyFills ?OBJ2 ?HOLE))))
890     890
891 (subclass Substance SelfConnectedObject)     891 (subclass Substance SelfConnectedObject)
892 (documentation Substance "An &%Object in which every part is similar to     892 (documentation Substance "An &%Object in which every part is similar to
893 every other in every relevant respect. More precisely, something is a     893 every other in every relevant respect. More precisely, something is a
894 &%Substance when it has only arbitrary pieces as parts - any parts have     894 &%Substance when it has only arbitrary pieces as parts - any parts have
895 properties which are similar to those of the whole. Note that a &%Substance     895 properties which are similar to those of the whole. Note that a &%Substance
896 may nonetheless have physical properties that vary. For example, the     896 may nonetheless have physical properties that vary. For example, the
897 temperature, chemical constitution, density, etc. may change from one part     897 temperature, chemical constitution, density, etc. may change from one part
898 to another. An example would be a body of water.")     898 to another. An example would be a body of water.")
899     899
900 (=>     900 (=>
901    (and     901    (and
902       (subclass ?OBJECTTYPE Substance)     902       (subclass ?OBJECTTYPE Substance)
903       (instance ?OBJECT ?OBJECTTYPE)     903       (instance ?OBJECT ?OBJECTTYPE)
904       (part ?PART ?OBJECT))     904       (part ?PART ?OBJECT))
905    (instance ?PART ?OBJECTTYPE))     905    (instance ?PART ?OBJECTTYPE))
906     906
907 (=>     907 (=>
908    (and     908    (and
909       (instance ?OBJ Substance)     909       (instance ?OBJ Substance)
910       (attribute ?OBJ ?ATTR)     910       (attribute ?OBJ ?ATTR)
911       (part ?PART ?OBJ))     911       (part ?PART ?OBJ))
912    (attribute ?PART ?ATTR))     912    (attribute ?PART ?ATTR))
913     913
914 (subclass PureSubstance Substance)     914 (subclass PureSubstance Substance)
915 (partition PureSubstance CompoundSubstance ElementalSubstance)     915 (partition PureSubstance CompoundSubstance ElementalSubstance)
916 (documentation PureSubstance "The &%Class of &%Substances with constant     916 (documentation PureSubstance "The &%Class of &%Substances with constant
917 composition. A &%PureSubstance can be either an element (&%ElementalSubstance)     917 composition. A &%PureSubstance can be either an element (&%ElementalSubstance)
918 or a compound of elements (&%CompoundSubstance). Examples: Table salt     918 or a compound of elements (&%CompoundSubstance). Examples: Table salt
919 (sodium chloride, NaCl), sugar (sucrose, C_{12}H_{22}O_{11}), water (H_2O),     919 (sodium chloride, NaCl), sugar (sucrose, C_{12}H_{22}O_{11}), water (H_2O),
920 iron (Fe), copper (Cu), and oxygen (O_2).")     920 iron (Fe), copper (Cu), and oxygen (O_2).")
921     921
922 (subclass ElementalSubstance PureSubstance)     922 (subclass ElementalSubstance PureSubstance)
923 (documentation ElementalSubstance "The &%Class of &%PureSubstances that     923 (documentation ElementalSubstance "The &%Class of &%PureSubstances that
924 cannot be separated into two or more &%Substances by ordinary chemical     924 cannot be separated into two or more &%Substances by ordinary chemical
925 (or physical) means. This excludes nuclear reactions. &%ElementalSubstances     925 (or physical) means. This excludes nuclear reactions. &%ElementalSubstances
926 are composed of only one kind of atom. Examples: Iron (Fe), copper (Cu),     926 are composed of only one kind of atom. Examples: Iron (Fe), copper (Cu),
927 and oxygen (O_2). &%ElementalSubstances are the simplest     927 and oxygen (O_2). &%ElementalSubstances are the simplest
928 &%PureSubstances.")     928 &%PureSubstances.")
929     929
930 (subclass Metal ElementalSubstance)     930 (subclass Metal ElementalSubstance)
931 (documentation Metal "A &%Metal is an &%ElementalSubstance that conducts heat     931 (documentation Metal "A &%Metal is an &%ElementalSubstance that conducts heat
932 and electricity, is shiny and reflects many colors of light, and can be hammered     932 and electricity, is shiny and reflects many colors of light, and can be hammered
933 into sheets or drawn into wire. About 80% of the known chemical elements     933 into sheets or drawn into wire. About 80% of the known chemical elements
934 (&%ElementalSubstances) are metals.")     934 (&%ElementalSubstances) are metals.")
935     935
936 (subclass Atom ElementalSubstance)     936 (subclass Atom ElementalSubstance)
937 (documentation Atom "An extremely small unit of matter that retains its     937 (documentation Atom "An extremely small unit of matter that retains its
938 identity in Chemical reactions. It consists of an &%AtomicNucleus and     938 identity in Chemical reactions. It consists of an &%AtomicNucleus and
939 &%Electrons surrounding the &%AtomicNucleus.")     939 &%Electrons surrounding the &%AtomicNucleus.")
940     940
941 (=>     941 (=>
942    (instance ?ATOM Atom)     942    (instance ?ATOM Atom)
943    (exists (?PROTON ?ELECTRON)     943    (exists (?PROTON ?ELECTRON)
944       (and     944       (and
945          (component ?PROTON ?ATOM)     945          (component ?PROTON ?ATOM)
946 (component ?ELECTRON ?ATOM)     946 (component ?ELECTRON ?ATOM)
947          (instance ?PROTON Proton)     947          (instance ?PROTON Proton)
948          (instance ?ELECTRON Electron))))     948          (instance ?ELECTRON Electron))))
949     949
950 (=>     950 (=>
951    (instance ?ATOM Atom)     951    (instance ?ATOM Atom)
952    (forall (?NUCLEUS1 ?NUCLEUS2)     952    (forall (?NUCLEUS1 ?NUCLEUS2)
953       (=>     953       (=>
954          (and     954          (and
955             (component ?NUCLEUS1 ?ATOM)     955             (component ?NUCLEUS1 ?ATOM)
956 (component ?NUCLEUS2 ?ATOM)     956 (component ?NUCLEUS2 ?ATOM)
957             (instance ?NUCLEUS1 AtomicNucleus)     957             (instance ?NUCLEUS1 AtomicNucleus)
958             (instance ?NUCLEUS2 AtomicNucleus))     958             (instance ?NUCLEUS2 AtomicNucleus))
959 (equal ?NUCLEUS1 ?NUCLEUS2))))     959 (equal ?NUCLEUS1 ?NUCLEUS2))))
960     960
961 (subclass SubatomicParticle ElementalSubstance)     961 (subclass SubatomicParticle ElementalSubstance)
962 (documentation SubatomicParticle "The class of &%ElementalSubstances that     962 (documentation SubatomicParticle "The class of &%ElementalSubstances that
963 are smaller than &%Atoms and compose &%Atoms.")     963 are smaller than &%Atoms and compose &%Atoms.")
964     964
965 (=>     965 (=>
966    (instance ?PARTICLE SubatomicParticle)     966    (instance ?PARTICLE SubatomicParticle)
967    (exists (?ATOM)     967    (exists (?ATOM)
968       (and     968       (and
969          (instance ?ATOM Atom)     969          (instance ?ATOM Atom)
970          (part ?PARTICLE ?ATOM))))     970          (part ?PARTICLE ?ATOM))))
971     971
972 (subclass AtomicNucleus SubatomicParticle)     972 (subclass AtomicNucleus SubatomicParticle)
973 (documentation AtomicNucleus "The core of the &%Atom. It is composed of     973 (documentation AtomicNucleus "The core of the &%Atom. It is composed of
974 &%Protons and &%Neutrons.")     974 &%Protons and &%Neutrons.")
975     975
976 (=>     976 (=>
977    (instance ?NUCLEUS AtomicNucleus)     977    (instance ?NUCLEUS AtomicNucleus)
978    (exists (?NEUTRON ?PROTON)     978    (exists (?NEUTRON ?PROTON)
979       (and     979       (and
980          (component ?NEUTRON ?NUCLEUS)     980          (component ?NEUTRON ?NUCLEUS)
981 (component ?PROTON ?NUCLEUS)     981 (component ?PROTON ?NUCLEUS)
982          (instance ?NEUTRON Neutron)     982          (instance ?NEUTRON Neutron)
983          (instance ?PROTON Proton))))     983          (instance ?PROTON Proton))))
984     984
985 (subclass Electron SubatomicParticle)     985 (subclass Electron SubatomicParticle)
986 (documentation Electron "&%SubatomicParticles that surround the     986 (documentation Electron "&%SubatomicParticles that surround the
987 &%AtomicNucleus. They have a negative charge.")     987 &%AtomicNucleus. They have a negative charge.")
988     988
989 (subclass Proton SubatomicParticle)     989 (subclass Proton SubatomicParticle)
990 (documentation Proton "Components of the &%AtomicNucleus. They have a     990 (documentation Proton "Components of the &%AtomicNucleus. They have a
991 positive charge.")     991 positive charge.")
992     992
993 (subclass Neutron SubatomicParticle)     993 (subclass Neutron SubatomicParticle)
994 (documentation Neutron "Components of the &%AtomicNucleus. They have no     994 (documentation Neutron "Components of the &%AtomicNucleus. They have no
995 charge.")     995 charge.")
996     996
997 (subclass CompoundSubstance PureSubstance)     997 (subclass CompoundSubstance PureSubstance)
998 (documentation CompoundSubstance "The &%Class of &%Substances that contain     998 (documentation CompoundSubstance "The &%Class of &%Substances that contain
999 two or more elements (&%ElementalSubstances), in definite proportion by weight.     999 two or more elements (&%ElementalSubstances), in definite proportion by weight.
1000 The composition of a pure compound will be invariant, regardless of the method     1000 The composition of a pure compound will be invariant, regardless of the method
1001 of preparation. Compounds are composed of more than one kind of atom (element).     1001 of preparation. Compounds are composed of more than one kind of atom (element).
1002 The term molecule is often used for the smallest unit of a compound that still     1002 The term molecule is often used for the smallest unit of a compound that still
1003 retains all of the properties of the compound. Examples: Table salt (sodium     1003 retains all of the properties of the compound. Examples: Table salt (sodium
1004 chloride, NaCl), sugar (sucrose, C_{12}H_{22}O_{11}), and water (H_2O). ")     1004 chloride, NaCl), sugar (sucrose, C_{12}H_{22}O_{11}), and water (H_2O). ")
1005     1005
1006 (subclass Mixture Substance)     1006 (subclass Mixture Substance)
1007 (documentation Mixture "A &%Mixture is two or more &%PureSubstances,     1007 (documentation Mixture "A &%Mixture is two or more &%PureSubstances,
1008 combined in varying proportions - each retaining its own specific properties.     1008 combined in varying proportions - each retaining its own specific properties.
1009 The components of a &%Mixture can be separated by physical means, i.e. without     1009 The components of a &%Mixture can be separated by physical means, i.e. without
1010 the making and breaking of chemical bonds. Examples: Air, table salt thoroughly     1010 the making and breaking of chemical bonds. Examples: Air, table salt thoroughly
1011 dissolved in water, milk, wood, and concrete. ")     1011 dissolved in water, milk, wood, and concrete. ")
1012     1012
1013 (=>     1013 (=>
1014    (instance ?MIXTURE Mixture)     1014    (instance ?MIXTURE Mixture)
1015    (exists (?PURE1 ?PURE2)     1015    (exists (?PURE1 ?PURE2)
1016       (and     1016       (and
1017          (instance ?PURE1 PureSubstance)     1017          (instance ?PURE1 PureSubstance)
1018          (instance ?PURE2 PureSubstance)     1018          (instance ?PURE2 PureSubstance)
1019          (not (equal ?PURE1 ?PURE2))     1019          (not (equal ?PURE1 ?PURE2))
1020          (piece ?PURE1 ?MIXTURE)   1 1020          (part ?PURE1 ?MIXTURE)
1021          (piece ?PURE2 ?MIXTURE))))   1 1021          (part ?PURE2 ?MIXTURE))))
        1022
      3b) 1023 (=>
        1024    (and
        1025       (instance ?MIXTURE Mixture)
        1026       (part ?SUBSTANCE ?MIXTURE)
        1027       (not (instance ?SUBSTANCE Mixture)))
        1028    (instance ?SUBSTANCE PureSubstance))
1022     1029
1023 (subclass Solution Mixture)     1030 (subclass Solution Mixture)
1024 (documentation Solution "A liquid mixture. The most abundant component in     1031 (documentation Solution "A liquid mixture. The most abundant component in
1025 a solution is called the solvent. Other components are called solutes.     1032 a solution is called the solvent. Other components are called solutes.
1026 A solution, though homogeneous, may nonetheless have variable composition.     1033 A solution, though homogeneous, may nonetheless have variable composition.
1027 Any amount of salt, up to a maximum limit, can be dissolved in a given     1034 Any amount of salt, up to a maximum limit, can be dissolved in a given
1028 amount of water.")     1035 amount of water.")
1029     1036
1030 (subclass CorpuscularObject SelfConnectedObject)     1037 (subclass CorpuscularObject SelfConnectedObject)
1031 (disjoint CorpuscularObject Substance)     1038 (disjoint CorpuscularObject Substance)
1032 (documentation CorpuscularObject "A &%SelfConnectedObject whose parts have     1039 (documentation CorpuscularObject "A &%SelfConnectedObject whose parts have
1033 properties that are not shared by the whole.")     1040 properties that are not shared by the whole.")
1034     1041
1035 (=>     1042 (=>
1036    (instance ?OBJ CorpuscularObject)     1043    (instance ?OBJ CorpuscularObject)
1037    (exists (?SUBSTANCE1 ?SUBSTANCE2)     1044    (exists (?SUBSTANCE1 ?SUBSTANCE2)
1038       (and     1045       (and
1039          (subclass ?SUBSTANCE1 Substance)     1046          (subclass ?SUBSTANCE1 Substance)
1040          (subclass ?SUBSTANCE2 Substance)     1047          (subclass ?SUBSTANCE2 Substance)
1041          (material ?SUBSTANCE1 ?OBJ)     1048          (material ?SUBSTANCE1 ?OBJ)
1042          (material ?SUBSTANCE2 ?OBJ)     1049          (material ?SUBSTANCE2 ?OBJ)
1043          (not (equal ?SUBSTANCE1 ?SUBSTANCE2)))))     1050          (not (equal ?SUBSTANCE1 ?SUBSTANCE2)))))
1044     1051
1045 (subclass Region Object)     1052 (subclass Region Object)
1046 (documentation Region "A topographic location. &%Regions encompass     1053 (documentation Region "A topographic location. &%Regions encompass
1047 surfaces of &%Objects, imaginary places, and &%GeographicAreas. Note     1054 surfaces of &%Objects, imaginary places, and &%GeographicAreas. Note
1048 that a &%Region is the only kind of &%Object which can be located at     1055 that a &%Region is the only kind of &%Object which can be located at
1049 itself. Note too that &%Region is not a subclass of &%SelfConnectedObject,     1056 itself. Note too that &%Region is not a subclass of &%SelfConnectedObject,
1050 because some &%Regions, e.g. archipelagos, have &%parts which are not     1057 because some &%Regions, e.g. archipelagos, have &%parts which are not
1051 &%connected with one another.")     1058 &%connected with one another.")
1052     1059
1053 (=>     1060 (=>
1054    (instance ?REGION Region)     1061    (instance ?REGION Region)
1055    (exists (?PHYS)     1062    (exists (?PHYS)
1056       (located ?PHYS ?REGION)))     1063       (located ?PHYS ?REGION)))
1057     1064
1058 (subclass Collection Object)     1065 (subclass Collection Object)
1059 (disjoint Collection SelfConnectedObject)     1066 (disjoint Collection SelfConnectedObject)
1060 (documentation Collection "Collections have &%members like &%Classes, but,     1067 (documentation Collection "Collections have &%members like &%Classes, but,
1061 unlike &%Classes, they have a position in space-time and &%members can be     1068 unlike &%Classes, they have a position in space-time and &%members can be
1062 added and subtracted without thereby changing the identity of the     1069 added and subtracted without thereby changing the identity of the
1063 &%Collection. Some examples are toolkits, football teams, and flocks     1070 &%Collection. Some examples are toolkits, football teams, and flocks
1064 of sheep.")     1071 of sheep.")
1065     1072
1066 (=>     1073 (=>
1067    (instance ?COLL Collection)     1074    (instance ?COLL Collection)
1068    (exists (?OBJ)     1075    (exists (?OBJ)
1069 (member ?OBJ ?COLL)))     1076 (member ?OBJ ?COLL)))
1070     1077
1071 (subrelation member part)     1078 (subrelation member part)
1072 (instance member AsymmetricRelation)     1079 (instance member AsymmetricRelation)
1073 (instance member IntransitiveRelation)     1080 (instance member IntransitiveRelation)
1074 (domain member 1 SelfConnectedObject)     1081 (domain member 1 SelfConnectedObject)
1075 (domain member 2 Collection)     1082 (domain member 2 Collection)
1076 (relatedInternalConcept member instance)     1083 (relatedInternalConcept member instance)
1077 (relatedInternalConcept member element)     1084 (relatedInternalConcept member element)
1078 (documentation member "A specialized common sense notion of part for     1085 (documentation member "A specialized common sense notion of part for
1079 uniform parts of &%Collections. For example, each sheep in a flock of     1086 uniform parts of &%Collections. For example, each sheep in a flock of
1080 sheep would have the relationship of member to the flock.")     1087 sheep would have the relationship of member to the flock.")
1081     1088
1082 (instance subCollection BinaryPredicate)     1089 (instance subCollection BinaryPredicate)
1083 (instance subCollection PartialOrderingRelation)     1090 (instance subCollection PartialOrderingRelation)
1084 (domain subCollection 1 Collection)     1091 (domain subCollection 1 Collection)
1085 (domain subCollection 2 Collection)     1092 (domain subCollection 2 Collection)
1086 (documentation subCollection "(&%subCollection ?COLL1 ?COLL2) means that     1093 (documentation subCollection "(&%subCollection ?COLL1 ?COLL2) means that
1087 the &%Collection ?COLL1 is a proper part of the &%Collection ?COLL2.")     1094 the &%Collection ?COLL1 is a proper part of the &%Collection ?COLL2.")
1088     1095
1089 (<=>     1096 (<=>
1090    (subCollection ?COLL1 ?COLL2)     1097    (subCollection ?COLL1 ?COLL2)
1091    (and     1098    (and
1092       (instance ?COLL1 Collection)     1099       (instance ?COLL1 Collection)
1093       (instance ?COLL2 Collection)     1100       (instance ?COLL2 Collection)
1094       (forall (?MEMBER)     1101       (forall (?MEMBER)
1095          (=>     1102          (=>
1096             (member ?MEMBER ?COLL1)     1103             (member ?MEMBER ?COLL1)
1097             (member ?MEMBER ?COLL2)))))     1104             (member ?MEMBER ?COLL2)))))
1098     1105
1099 (subclass ContentBearingObject CorpuscularObject)     1106 (subclass ContentBearingObject CorpuscularObject)
1100 (relatedInternalConcept ContentBearingObject containsInformation)     1107 (relatedInternalConcept ContentBearingObject containsInformation)
1101 (documentation ContentBearingObject "Any &%SelfConnectedObject that expresses     1108 (documentation ContentBearingObject "Any &%SelfConnectedObject that expresses
1102 information.")     1109 information.")
1103     1110
1104 (subclass SymbolicString ContentBearingObject)     1111 (subclass SymbolicString ContentBearingObject)
1105 (documentation SymbolicString "The &%Class of alphanumeric sequences.")     1112 (documentation SymbolicString "The &%Class of alphanumeric sequences.")
1106     1113
1107 (subclass Character SymbolicString)     1114 (subclass Character SymbolicString)
1108 (documentation Character "An element of an alphabet, a set of numerals, etc.     1115 (documentation Character "An element of an alphabet, a set of numerals, etc.
1109 Note that a &%Character may or may not be part of a &%Language. &%Character     1116 Note that a &%Character may or may not be part of a &%Language. &%Character
1110 is a subclass of &%SymbolicString, because every instance of &%Character is     1117 is a subclass of &%SymbolicString, because every instance of &%Character is
1111 an alphanumeric sequence consisting of a single element.")     1118 an alphanumeric sequence consisting of a single element.")
1112     1119
1113 (=>     1120 (=>
1114     (instance ?STRING SymbolicString)     1121     (instance ?STRING SymbolicString)
1115     (exists (?PART)     1122     (exists (?PART)
1116         (and     1123         (and
1117             (part ?PART ?STRING)     1124             (part ?PART ?STRING)
1118             (instance ?PART Character))))     1125             (instance ?PART Character))))
1119     1126
1120 (instance containsInformation BinaryPredicate)     1127 (instance containsInformation BinaryPredicate)
1121 (instance containsInformation AsymmetricRelation)     1128 (instance containsInformation AsymmetricRelation)
1122 (subrelation containsInformation represents)     1129 (subrelation containsInformation represents)
1123 (domain containsInformation 1 ContentBearingObject)     1130 (domain containsInformation 1 ContentBearingObject)
1124 (domain containsInformation 2 Proposition)     1131 (domain containsInformation 2 Proposition)
1125 (documentation containsInformation "A subrelation of &%represents. This     1132 (documentation containsInformation "A subrelation of &%represents. This
1126 predicate relates a &%ContentBearingObject to the &%Proposition that is     1133 predicate relates a &%ContentBearingObject to the &%Proposition that is
1127 expressed by the &%ContentBearingObject. Examples include the relationships     1134 expressed by the &%ContentBearingObject. Examples include the relationships
1128 between a physical novel and its story and between a printed score and its     1135 between a physical novel and its story and between a printed score and its
1129 musical content.")     1136 musical content.")
1130     1137
1131 (subclass Icon ContentBearingObject)     1138 (subclass Icon ContentBearingObject)
1132 (documentation Icon "This is the subclass of &%ContentBearingObjects     1139 (documentation Icon "This is the subclass of &%ContentBearingObjects
1133 which are not part of a &%Language and which have some sort of similarity     1140 which are not part of a &%Language and which have some sort of similarity
1134 with the &%Objects that they represent. This &%Class would include symbolic     1141 with the &%Objects that they represent. This &%Class would include symbolic
1135 roadway signs, 'icons' in a graphical computer operating system, etc.")   3c) 1142 roadway signs, representational art works, photographs, etc.")
1136     1143
1137 (subclass MotionPicture Text)     1144 (subclass MotionPicture Text)
1138 (documentation MotionPicture "A &%ContentBearingObject which depicts motion     1145 (documentation MotionPicture "A &%ContentBearingObject which depicts motion
1139 (and which may have an audio or text component as well). This &%Class covers     1146 (and which may have an audio or text component as well). This &%Class covers
1140 films, videos, etc.")     1147 films, videos, etc.")
1141     1148
1142 (subclass LinguisticExpression ContentBearingObject)     1149 (subclass LinguisticExpression ContentBearingObject)
1143 (disjoint LinguisticExpression Icon)     1150 (disjoint LinguisticExpression Icon)
1144 (documentation LinguisticExpression "This is the subclass of     1151 (documentation LinguisticExpression "This is the subclass of
1145 &%ContentBearingObjects which are language-related. Note that this &%Class     1152 &%ContentBearingObjects which are language-related. Note that this &%Class
1146 encompasses both &%Language and the the elements of &%Languages,     1153 encompasses both &%Language and the the elements of &%Languages,
1147 e.g. &%Words.")     1154 e.g. &%Words.")
1148     1155
1149 (subclass Language LinguisticExpression)     1156 (subclass Language LinguisticExpression)
1150 (disjointDecomposition Language AnimalLanguage HumanLanguage ComputerLanguage)     1157 (disjointDecomposition Language AnimalLanguage HumanLanguage ComputerLanguage)
1151 (documentation Language "A system of signs for expressing thought. The     1158 (documentation Language "A system of signs for expressing thought. The
1152 system can be either natural or artificial, i.e. something that emerges     1159 system can be either natural or artificial, i.e. something that emerges
1153 gradually as a cultural artifact or something that is intentionally created     1160 gradually as a cultural artifact or something that is intentionally created
1154 by a person or group of people.")     1161 by a person or group of people.")
1155     1162
1156 (subclass AnimalLanguage Language)     1163 (subclass AnimalLanguage Language)
1157 (documentation AnimalLanguage "The &%subclass of &%Languages used by     1164 (documentation AnimalLanguage "The &%subclass of &%Languages used by
1158 &%Animals other than &%Humans.")     1165 &%Animals other than &%Humans.")
1159     1166
1160 (=>     1167 (=>
1161    (and     1168    (and
1162       (instance ?LANG AnimalLanguage)     1169       (instance ?LANG AnimalLanguage)
1163       (agent ?PROC ?AGENT)     1170       (agent ?PROC ?AGENT)
1164       (instrument ?PROC ?LANG))     1171       (instrument ?PROC ?LANG))
1165    (and     1172    (and
1166       (instance ?AGENT Animal)     1173       (instance ?AGENT Animal)
1167       (not (instance ?AGENT Human))))     1174       (not (instance ?AGENT Human))))
1168     1175
1169 (subclass ArtificialLanguage Language)     1176 (subclass ArtificialLanguage Language)
1170 (documentation ArtificialLanguage "The &%subclass of &%Languages that are     1177 (documentation ArtificialLanguage "The &%subclass of &%Languages that are
1171 designed by &%Humans.")     1178 designed by &%Humans.")
1172     1179
1173 (subclass ComputerLanguage ArtificialLanguage)     1180 (subclass ComputerLanguage ArtificialLanguage)
1174 (documentation ComputerLanguage "The class of &%Languages designed for     1181 (documentation ComputerLanguage "The class of &%Languages designed for
1175 and interpreted by a computer.")     1182 and interpreted by a computer.")
1176     1183
1177 (=>     1184 (=>
1178    (and     1185    (and
1179       (instance ?LANG ComputerLanguage)     1186       (instance ?LANG ComputerLanguage)
1180       (agent ?PROC ?AGENT)     1187       (agent ?PROC ?AGENT)
1181       (instrument ?PROC ?LANG))     1188       (instrument ?PROC ?LANG))
1182    (instance ?AGENT Machine))     1189    (instance ?AGENT Machine))
1183     1190
1184 (subclass HumanLanguage Language)     1191 (subclass HumanLanguage Language)
1185 (documentation HumanLanguage "The &%subclass of &%Languages used by     1192 (documentation HumanLanguage "The &%subclass of &%Languages used by
1186 &%Humans.")     1193 &%Humans.")
1187     1194
1188 (=>     1195 (=>
1189    (and     1196    (and
1190       (instance ?LANG HumanLanguage)     1197       (instance ?LANG HumanLanguage)
1191       (agent ?PROC ?AGENT)     1198       (agent ?PROC ?AGENT)
1192       (instrument ?PROC ?LANG))     1199       (instrument ?PROC ?LANG))
1193    (instance ?AGENT Human))     1200    (instance ?AGENT Human))
1194     1201
1195 (subclass ConstructedLanguage HumanLanguage)     1202 (subclass ConstructedLanguage HumanLanguage)
1196 (subclass ConstructedLanguage ArtificialLanguage)     1203 (subclass ConstructedLanguage ArtificialLanguage)
1197 (documentation ConstructedLanguage "The &%subclass of &%HumanLanguages     1204 (documentation ConstructedLanguage "The &%subclass of &%HumanLanguages
1198 that did not originate diachronically, but were designed by a &%Human.     1205 that did not originate diachronically, but were designed by a &%Human.
1199 This &%Class includes languages like Esperanto that were created to     1206 This &%Class includes languages like Esperanto that were created to
1200 facilitate international communication.")   3c) 1207 facilitate international communication, as well as scientific and
        1208 technical jargons.")
1201     1209
1202 (=>     1210 (=>
1203    (instance ?LANG ConstructedLanguage)     1211    (instance ?LANG ConstructedLanguage)
1204    (exists (?PLAN)     1212    (exists (?PLAN)
1205       (and     1213       (and
1206          (instance ?PLAN Planning)     1214          (instance ?PLAN Planning)
1207          (result ?PLAN ?LANG))))     1215          (result ?PLAN ?LANG))))
1208     1216
1209 (subclass NaturalLanguage HumanLanguage)     1217 (subclass NaturalLanguage HumanLanguage)
1210 (disjoint NaturalLanguage ConstructedLanguage)     1218 (disjoint NaturalLanguage ConstructedLanguage)
1211 (documentation NaturalLanguage "The &%subclass of &%HumanLanguages which     1219 (documentation NaturalLanguage "The &%subclass of &%HumanLanguages which
1212 are not designed and which evolve from generation to generation. This     1220 are not designed and which evolve from generation to generation. This
1213 &%Class includes all of the national languages, e.g. English, Spanish,     1221 &%Class includes all of the national languages, e.g. English, Spanish,
1214 Japanese, etc. Note that this class includes dialects of natural     1222 Japanese, etc. Note that this class includes dialects of natural
1215 languages.")     1223 languages.")
1216     1224
1217 (subclass Word LinguisticExpression)     1225 (subclass Word LinguisticExpression)
1218 (documentation Word "A term of a &%Language that represents a concept.")     1226 (documentation Word "A term of a &%Language that represents a concept.")
1219     1227
1220 (subclass Formula Sentence)     1228 (subclass Formula Sentence)
1221 (documentation Formula "A syntactically well-formed formula in the     1229 (documentation Formula "A syntactically well-formed formula in the
1222 SUO-KIF knowledge representation language.")     1230 SUO-KIF knowledge representation language.")
1223     1231
1224 ;; The following ground facts incorporate the 'Agent' hierarchy from the     1232 ;; The following ground facts incorporate the 'Agent' hierarchy from the
1225 ;; corresponding ontology on the Ontolingua server. It also includes     1233 ;; corresponding ontology on the Ontolingua server. It also includes
1226 ;; predicates defined in the ITBM-CNR ontology "Actors".     1234 ;; predicates defined in the ITBM-CNR ontology "Actors".
1227     1235
1228 (subclass Agent Object)     1236 (subclass Agent Object)
1229 (documentation Agent "Something or someone that can act on its own and     1237 (documentation Agent "Something or someone that can act on its own and
1230 produce changes in the world.")     1238 produce changes in the world.")
1231     1239
1232 (<=>     1240 (<=>
1233 (instance ?AGENT Agent)     1241 (instance ?AGENT Agent)
1234 (exists (?PROC)     1242 (exists (?PROC)
1235 (agent ?PROC ?AGENT)))     1243 (agent ?PROC ?AGENT)))
1236     1244
1237 (subclass SentientAgent Agent)     1245 (subclass SentientAgent Agent)
1238 (documentation SentientAgent "An &%Agent that has rights but may or may     1246 (documentation SentientAgent "An &%Agent that has rights but may or may
1239 not have responsibilities and the ability to reason. If the latter are     1247 not have responsibilities and the ability to reason. If the latter are
1240 present, then the &%Agent is also an instance of &%CognitiveAgent.     1248 present, then the &%Agent is also an instance of &%CognitiveAgent.
1241 Domesticated animals are an example of &%SentientAgents that are not     1249 Domesticated animals are an example of &%SentientAgents that are not
1242 also &%CognitiveAgents.")     1250 also &%CognitiveAgents.")
1243     1251
1244 (subclass CognitiveAgent SentientAgent)     1252 (subclass CognitiveAgent SentientAgent)
1245 (documentation CognitiveAgent "A &%SentientAgent with responsibilities     1253 (documentation CognitiveAgent "A &%SentientAgent with responsibilities
1246 and the ability to reason, deliberate, make plans, etc. This is     1254 and the ability to reason, deliberate, make plans, etc. This is
1247 essentially the legal/ethical notion of a person. Note that, although     1255 essentially the legal/ethical notion of a person. Note that, although
1248 &%Human is a subclass of &%CognitiveAgent, there may be instances of     1256 &%Human is a subclass of &%CognitiveAgent, there may be instances of
1249 &%CognitiveAgent which are not also instances of &%Human. For example,     1257 &%CognitiveAgent which are not also instances of &%Human. For example,
1250 chimpanzees, gorillas, dolphins, whales, and some extraterrestrials     1258 chimpanzees, gorillas, dolphins, whales, and some extraterrestrials
1251 (if they exist) may be &%CognitiveAgents.")     1259 (if they exist) may be &%CognitiveAgents.")
1252     1260
1253 (subclass Process Physical)     1261 (subclass Process Physical)
1254 (documentation Process "Intuitively, the class of things that happen     1262 (documentation Process "Intuitively, the class of things that happen
1255 and have temporal parts or stages. Examples include extended events     1263 and have temporal parts or stages. Examples include extended events
1256 like a football match or a race, actions like &%Searching and &%Reading,     1264 like a football match or a race, actions like &%Searching and &%Reading,
1257 and biological processes. The formal definition is: anything that lasts     1265 and biological processes. The formal definition is: anything that lasts
1258 for a time but is not an &%Object. Note that a &%Process may have     1266 for a time but is not an &%Object. Note that a &%Process may have
1259 participants 'inside' it which are &%Objects, such as the players     1267 participants 'inside' it which are &%Objects, such as the players
1260 in a football match. In a 4D ontology, a &%Process is something whose     1268 in a football match. In a 4D ontology, a &%Process is something whose
1261 spatiotemporal extent is thought of as dividing into temporal stages     1269 spatiotemporal extent is thought of as dividing into temporal stages
1262 roughly perpendicular to the time-axis.")     1270 roughly perpendicular to the time-axis.")
1263     1271
1264 (subclass DualObjectProcess Process)     1272 (subclass DualObjectProcess Process)
1265 (documentation DualObjectProcess "Any &%Process that requires two,     1273 (documentation DualObjectProcess "Any &%Process that requires two,
1266 nonidentical &%patients.")     1274 nonidentical &%patients.")
1267     1275
1268 (=>     1276 (=>
1269    (instance ?PROCESS DualObjectProcess)     1277    (instance ?PROCESS DualObjectProcess)
1270    (exists (?OBJ1 ?OBJ2)     1278    (exists (?OBJ1 ?OBJ2)
1271       (and     1279       (and
1272          (patient ?PROCESS ?OBJ1)     1280          (patient ?PROCESS ?OBJ1)
1273          (patient ?PROCESS ?OBJ2)     1281          (patient ?PROCESS ?OBJ2)
1274          (not (equal ?OBJ1 ?OBJ2)))))     1282          (not (equal ?OBJ1 ?OBJ2)))))
1275     1283
1276 (subclass Abstract Entity)     1284 (subclass Abstract Entity)
1277 (disjointDecomposition Abstract Quantity Attribute SetOrClass Relation Proposition Graph GraphElement)     1285 (disjointDecomposition Abstract Quantity Attribute SetOrClass Relation Proposition Graph GraphElement)
1278 (documentation Abstract "Properties or qualities as distinguished from any     1286 (documentation Abstract "Properties or qualities as distinguished from any
1279 particular embodiment of the properties/qualities in a physical medium.     1287 particular embodiment of the properties/qualities in a physical medium.
1280 Instances of Abstract can be said to exist in the same sense as mathematical     1288 Instances of Abstract can be said to exist in the same sense as mathematical
1281 objects such as sets and relations, but they cannot exist at a particular     1289 objects such as sets and relations, but they cannot exist at a particular
1282 place and time without some physical encoding or embodiment.")     1290 place and time without some physical encoding or embodiment.")
1283     1291
1284 ;; Something is Abstract just in case it has neither a spatial nor temporal     1292 ;; Something is Abstract just in case it has neither a spatial nor temporal
1285 ;; location.     1293 ;; location.
1286     1294
1287 (<=>     1295 (<=>
1288    (instance ?ABS Abstract)     1296    (instance ?ABS Abstract)
1289    (not     1297    (not
1290       (exists (?POINT)     1298       (exists (?POINT)
1291          (or     1299          (or
1292 (located ?ABS ?POINT)     1300 (located ?ABS ?POINT)
1293             (time ?ABS ?POINT)))))     1301             (time ?ABS ?POINT)))))
1294     1302
1295 (subclass Quantity Abstract)     1303 (subclass Quantity Abstract)
1296 (documentation Quantity "Any specification of how many or how much of     1304 (documentation Quantity "Any specification of how many or how much of
1297 something there is. Accordingly, there are two subclasses of &%Quantity:     1305 something there is. Accordingly, there are two subclasses of &%Quantity:
1298 &%Number (how many) and &%PhysicalQuantity (how much).")     1306 &%Number (how many) and &%PhysicalQuantity (how much).")
1299     1307
1300 (subclass Attribute Abstract)     1308 (subclass Attribute Abstract)
1301 (partition Attribute InternalAttribute RelationalAttribute)     1309 (partition Attribute InternalAttribute RelationalAttribute)
1302 (documentation Attribute "Qualities which we cannot or choose not to     1310 (documentation Attribute "Qualities which we cannot or choose not to
1303 reify into subclasses of &%Object.")     1311 reify into subclasses of &%Object.")
1304     1312
1305 (instance property BinaryPredicate)     1313 (instance property BinaryPredicate)
1306 (domain property 1 Entity)     1314 (domain property 1 Entity)
1307 (domain property 2 Attribute)     1315 (domain property 2 Attribute)
1308 (documentation property "This &%Predicate holds between an instance of     1316 (documentation property "This &%Predicate holds between an instance of
1309 &%Entity and an instance of &%Attribute. (property ?ENTITY ?ATTR)     1317 &%Entity and an instance of &%Attribute. (property ?ENTITY ?ATTR)
1310 means that ?ENTITY has the &%Attribute ?ATTR.")     1318 means that ?ENTITY has the &%Attribute ?ATTR.")
1311     1319
1312 (instance attribute AsymmetricRelation)     1320 (instance attribute AsymmetricRelation)
1313 (instance attribute IrreflexiveRelation)     1321 (instance attribute IrreflexiveRelation)
1314 (subrelation attribute property)     1322 (subrelation attribute property)
1315 (domain attribute 1 Object)     1323 (domain attribute 1 Object)
1316 (documentation attribute "(&%attribute ?OBJECT ?PROPERTY) means that     1324 (documentation attribute "(&%attribute ?OBJECT ?PROPERTY) means that
1317 ?PROPERTY is a &%Attribute of ?OBJECT. For example,     1325 ?PROPERTY is a &%Attribute of ?OBJECT. For example,
1318 (&%attribute &%MyLittleRedWagon &%Red).")     1326 (&%attribute &%MyLittleRedWagon &%Red).")
1319     1327
1320 (instance manner AsymmetricRelation)     1328 (instance manner AsymmetricRelation)
1321 (instance manner IrreflexiveRelation)     1329 (instance manner IrreflexiveRelation)
1322 (subrelation manner property)     1330 (subrelation manner property)
1323 (domain manner 1 Process)     1331 (domain manner 1 Process)
1324 (disjointRelation manner attribute)     1332 (disjointRelation manner attribute)
1325 (documentation manner "(&%manner ?PROCESS ?MANNER) means that the     1333 (documentation manner "(&%manner ?PROCESS ?MANNER) means that the
1326 &%Process ?PROCESS is qualified by the &%Attribute ?MANNER. The &%Attributes     1334 &%Process ?PROCESS is qualified by the &%Attribute ?MANNER. The &%Attributes
1327 of &%Processes are usually denoted by adverbs and include things like the     1335 of &%Processes are usually denoted by adverbs and include things like the
1328 speed of the wind, the style of a dance, or the intensity of a sports     1336 speed of the wind, the style of a dance, or the intensity of a sports
1329 competition.")     1337 competition.")
1330     1338
1331 (instance AbstractionFn UnaryFunction)     1339 (instance AbstractionFn UnaryFunction)
1332 (instance AbstractionFn PartialValuedRelation)     1340 (instance AbstractionFn PartialValuedRelation)
1333 (domain AbstractionFn 1 Class)     1341 (domain AbstractionFn 1 Class)
1334 (range AbstractionFn Attribute)     1342 (range AbstractionFn Attribute)
1335 (documentation AbstractionFn "A &%UnaryFunction that maps a &%Class into     1343 (documentation AbstractionFn "A &%UnaryFunction that maps a &%Class into
1336 the instance of &%Attribute that specifies the condition(s) for membership     1344 the instance of &%Attribute that specifies the condition(s) for membership
1337 in the &%Class.")     1345 in the &%Class.")
1338     1346
1339 (<=>     1347 (<=>
1340    (equal (AbstractionFn ?CLASS) ?ATTR)     1348    (equal (AbstractionFn ?CLASS) ?ATTR)
1341    (forall (?INST)     1349    (forall (?INST)
1342       (<=>     1350       (<=>
1343          (instance ?INST ?CLASS)     1351          (instance ?INST ?CLASS)
1344          (property ?INST ?ATTR))))     1352          (property ?INST ?ATTR))))
1345     1353
1346 (instance ExtensionFn UnaryFunction)     1354 (instance ExtensionFn UnaryFunction)
1347 (instance ExtensionFn PartialValuedRelation)     1355 (instance ExtensionFn PartialValuedRelation)
1348 (domain ExtensionFn 1 Attribute)     1356 (domain ExtensionFn 1 Attribute)
1349 (range ExtensionFn Class)     1357 (range ExtensionFn Class)
1350 (documentation ExtensionFn "A &%UnaryFunction that maps an &%Attribute     1358 (documentation ExtensionFn "A &%UnaryFunction that maps an &%Attribute
1351 into the &%Class whose condition for membership is the &%Attribute.")     1359 into the &%Class whose condition for membership is the &%Attribute.")
1352     1360
1353 (<=>     1361 (<=>
1354    (equal (ExtensionFn ?ATTRIBUTE) ?CLASS)     1362    (equal (ExtensionFn ?ATTRIBUTE) ?CLASS)
1355    (equal (AbstractionFn ?CLASS) ?ATTRIBUTE))     1363    (equal (AbstractionFn ?CLASS) ?ATTRIBUTE))
1356     1364
1357 (subclass InternalAttribute Attribute)     1365 (subclass InternalAttribute Attribute)
1358 (documentation InternalAttribute "Any &%Attribute of an &%Entity that is an     1366 (documentation InternalAttribute "Any &%Attribute of an &%Entity that is an
1359 internal property of the &%Entity, e.g. its shape, its color, its fragility,     1367 internal property of the &%Entity, e.g. its shape, its color, its fragility,
1360 etc.")     1368 etc.")
1361     1369
1362 (subclass RelationalAttribute Attribute)     1370 (subclass RelationalAttribute Attribute)
1363 (documentation RelationalAttribute "Any &%Attribute that an &%Entity has by     1371 (documentation RelationalAttribute "Any &%Attribute that an &%Entity has by
1364 virtue of a relationship that it bears to another &%Entity or set of &%Entities,     1372 virtue of a relationship that it bears to another &%Entity or set of &%Entities,
1365 e.g. &%SocialRoles and &%PositionalAttributes.")     1373 e.g. &%SocialRoles and &%PositionalAttributes.")
1366     1374
1367 ;; The following formulas incorporate the Number hierarchy from the     1375 ;; The following formulas incorporate the Number hierarchy from the
1368 ;; ontology 'kif-numbers' on the Ontolingua server.     1376 ;; ontology 'kif-numbers' on the Ontolingua server.
1369     1377
1370 (subclass Number Quantity)     1378 (subclass Number Quantity)
1371 (partition Number RealNumber ImaginaryNumber ComplexNumber)     1379 (partition Number RealNumber ImaginaryNumber ComplexNumber)
1372 (documentation Number "A measure of how many things there are, or how     1380 (documentation Number "A measure of how many things there are, or how
1373 much there is, of a certain kind. &%Numbers are subclassed into     1381 much there is, of a certain kind. &%Numbers are subclassed into
1374 &%RealNumber, &%ComplexNumber, and &%ImaginaryNumber.")     1382 &%RealNumber, &%ComplexNumber, and &%ImaginaryNumber.")
1375     1383
1376 (instance lessThan BinaryPredicate)     1384 (instance lessThan BinaryPredicate)
1377 (instance lessThan TransitiveRelation)     1385 (instance lessThan TransitiveRelation)
1378 (instance lessThan IrreflexiveRelation)     1386 (instance lessThan IrreflexiveRelation)
1379 (instance lessThan RelationExtendedToQuantities)     1387 (instance lessThan RelationExtendedToQuantities)
1380 (trichotomizingOn lessThan RealNumber)     1388 (trichotomizingOn lessThan RealNumber)
1381 (domain lessThan 1 Quantity)     1389 (domain lessThan 1 Quantity)
1382 (domain lessThan 2 Quantity)     1390 (domain lessThan 2 Quantity)
1383 (documentation lessThan "(&%lessThan ?NUMBER1 ?NUMBER2) is true just     1391 (documentation lessThan "(&%lessThan ?NUMBER1 ?NUMBER2) is true just
1384 in case the &%Quantity ?NUMBER1 is less than the &%Quantity ?NUMBER2.")     1392 in case the &%Quantity ?NUMBER1 is less than the &%Quantity ?NUMBER2.")
1385     1393
1386 (instance greaterThan BinaryPredicate)     1394 (instance greaterThan BinaryPredicate)
1387 (instance greaterThan TransitiveRelation)     1395 (instance greaterThan TransitiveRelation)
1388 (instance greaterThan IrreflexiveRelation)     1396 (instance greaterThan IrreflexiveRelation)
1389 (instance greaterThan RelationExtendedToQuantities)     1397 (instance greaterThan RelationExtendedToQuantities)
1390 (trichotomizingOn greaterThan RealNumber)     1398 (trichotomizingOn greaterThan RealNumber)
1391 (domain greaterThan 1 Quantity)     1399 (domain greaterThan 1 Quantity)
1392 (domain greaterThan 2 Quantity)     1400 (domain greaterThan 2 Quantity)
1393 (inverse greaterThan lessThan)     1401 (inverse greaterThan lessThan)
1394 (documentation greaterThan "(&%greaterThan ?NUMBER1 ?NUMBER2) is true     1402 (documentation greaterThan "(&%greaterThan ?NUMBER1 ?NUMBER2) is true
1395 just in case the &%Quantity ?NUMBER1 is greater than the &%Quantity     1403 just in case the &%Quantity ?NUMBER1 is greater than the &%Quantity
1396 ?NUMBER2.")     1404 ?NUMBER2.")
1397     1405
1398 (instance lessThanOrEqualTo BinaryPredicate)     1406 (instance lessThanOrEqualTo BinaryPredicate)
1399 (instance lessThanOrEqualTo PartialOrderingRelation)     1407 (instance lessThanOrEqualTo PartialOrderingRelation)
1400 (instance lessThanOrEqualTo RelationExtendedToQuantities)     1408 (instance lessThanOrEqualTo RelationExtendedToQuantities)
1401 (trichotomizingOn lessThanOrEqualTo RealNumber)     1409 (trichotomizingOn lessThanOrEqualTo RealNumber)
1402 (domain lessThanOrEqualTo 1 Quantity)     1410 (domain lessThanOrEqualTo 1 Quantity)
1403 (domain lessThanOrEqualTo 2 Quantity)     1411 (domain lessThanOrEqualTo 2 Quantity)
1404 (documentation lessThanOrEqualTo "(&%lessThanOrEqualTo ?NUMBER1 ?NUMBER2)     1412 (documentation lessThanOrEqualTo "(&%lessThanOrEqualTo ?NUMBER1 ?NUMBER2)
1405 is true just in case the &%Quantity ?NUMBER1 is less than or equal to     1413 is true just in case the &%Quantity ?NUMBER1 is less than or equal to
1406 the &%Quantity ?NUMBER2.")     1414 the &%Quantity ?NUMBER2.")
1407     1415
1408 (<=>     1416 (<=>
1409 (lessThanOrEqualTo ?NUMBER1 ?NUMBER2)     1417 (lessThanOrEqualTo ?NUMBER1 ?NUMBER2)
1410 (or     1418 (or
1411 (equal ?NUMBER1 ?NUMBER2)     1419 (equal ?NUMBER1 ?NUMBER2)
1412 (lessThan ?NUMBER1 ?NUMBER2)))     1420 (lessThan ?NUMBER1 ?NUMBER2)))
1413     1421
1414 (instance greaterThanOrEqualTo BinaryPredicate)     1422 (instance greaterThanOrEqualTo BinaryPredicate)
1415 (instance greaterThanOrEqualTo PartialOrderingRelation)     1423 (instance greaterThanOrEqualTo PartialOrderingRelation)
1416 (instance greaterThanOrEqualTo RelationExtendedToQuantities)     1424 (instance greaterThanOrEqualTo RelationExtendedToQuantities)
1417 (trichotomizingOn greaterThanOrEqualTo RealNumber)     1425 (trichotomizingOn greaterThanOrEqualTo RealNumber)
1418 (domain greaterThanOrEqualTo 1 Quantity)     1426 (domain greaterThanOrEqualTo 1 Quantity)
1419 (domain greaterThanOrEqualTo 2 Quantity)     1427 (domain greaterThanOrEqualTo 2 Quantity)
1420 (inverse greaterThanOrEqualTo lessThanOrEqualTo)     1428 (inverse greaterThanOrEqualTo lessThanOrEqualTo)
1421 (documentation greaterThanOrEqualTo "(&%greaterThanOrEqualTo ?NUMBER1     1429 (documentation greaterThanOrEqualTo "(&%greaterThanOrEqualTo ?NUMBER1
1422 ?NUMBER2) is true just in case the &%Quantity ?NUMBER1 is greater     1430 ?NUMBER2) is true just in case the &%Quantity ?NUMBER1 is greater
1423 than the &%Quantity ?NUMBER2.")     1431 than the &%Quantity ?NUMBER2.")
1424     1432
1425 (<=>     1433 (<=>
1426 (greaterThanOrEqualTo ?NUMBER1 ?NUMBER2)     1434 (greaterThanOrEqualTo ?NUMBER1 ?NUMBER2)
1427 (or     1435 (or
1428 (equal ?NUMBER1 ?NUMBER2)     1436 (equal ?NUMBER1 ?NUMBER2)
1429 (greaterThan ?NUMBER1 ?NUMBER2)))     1437 (greaterThan ?NUMBER1 ?NUMBER2)))
1430     1438
1431 (subclass RealNumber Number)     1439 (subclass RealNumber Number)
1432 (partition RealNumber NegativeRealNumber NonnegativeRealNumber)     1440 (partition RealNumber NegativeRealNumber NonnegativeRealNumber)
1433 (partition RealNumber RationalNumber IrrationalNumber)     1441 (partition RealNumber RationalNumber IrrationalNumber)
1434 (documentation RealNumber "Any &%Number that can be expressed as a     1442 (documentation RealNumber "Any &%Number that can be expressed as a
1435 (possibly infinite) decimal, i.e. any &%Number that has a position     1443 (possibly infinite) decimal, i.e. any &%Number that has a position
1436 on the number line.")     1444 on the number line.")
1437     1445
1438 (subclass ImaginaryNumber Number)     1446 (subclass ImaginaryNumber Number)
1439 (documentation ImaginaryNumber "Any &%Number that is the result of     1447 (documentation ImaginaryNumber "Any &%Number that is the result of
1440 multiplying a &%RealNumber by the square root of -1.")     1448 multiplying a &%RealNumber by the square root of -1.")
1441     1449
1442 (=>     1450 (=>
1443    (instance ?NUMBER ImaginaryNumber)     1451    (instance ?NUMBER ImaginaryNumber)
1444    (exists (?REAL)     1452    (exists (?REAL)
1445       (and     1453       (and
1446          (instance ?REAL RealNumber)     1454          (instance ?REAL RealNumber)
1447          (equal ?NUMBER (MultiplicationFn ?REAL (SquareRootFn -1))))))     1455          (equal ?NUMBER (MultiplicationFn ?REAL (SquareRootFn -1))))))
1448     1456
1449 (subclass RationalNumber RealNumber)     1457 (subclass RationalNumber RealNumber)
1450 (documentation RationalNumber "Any &%RealNumber that is the product of     1458 (documentation RationalNumber "Any &%RealNumber that is the product of
1451 dividing two &%Integers.")     1459 dividing two &%Integers.")
1452     1460
1453 (subclass IrrationalNumber RealNumber)     1461 (subclass IrrationalNumber RealNumber)
1454 (documentation IrrationalNumber "Any &%RealNumber that is not also a     1462 (documentation IrrationalNumber "Any &%RealNumber that is not also a
1455 &%RationalNumber.")     1463 &%RationalNumber.")
1456     1464
1457 (subclass NonnegativeRealNumber RealNumber)     1465 (subclass NonnegativeRealNumber RealNumber)
1458 (documentation NonnegativeRealNumber "A &%RealNumber that is greater than     1466 (documentation NonnegativeRealNumber "A &%RealNumber that is greater than
1459 or equal to zero.")     1467 or equal to zero.")
1460     1468
1461 (<=>     1469 (<=>
1462    (instance ?NUMBER NonnegativeRealNumber)     1470    (instance ?NUMBER NonnegativeRealNumber)
1463    (and     1471    (and
1464       (greaterThanOrEqualTo ?NUMBER 0)     1472       (greaterThanOrEqualTo ?NUMBER 0)
1465       (instance ?NUMBER RealNumber)))     1473       (instance ?NUMBER RealNumber)))
1466     1474
1467 (subclass PositiveRealNumber NonnegativeRealNumber)     1475 (subclass PositiveRealNumber NonnegativeRealNumber)
1468 (documentation PositiveRealNumber "A &%RealNumber that is greater than     1476 (documentation PositiveRealNumber "A &%RealNumber that is greater than
1469 zero.")     1477 zero.")
1470     1478
1471 (<=>     1479 (<=>
1472    (instance ?NUMBER PositiveRealNumber)     1480    (instance ?NUMBER PositiveRealNumber)
1473    (and     1481    (and
1474       (greaterThan ?NUMBER 0)     1482       (greaterThan ?NUMBER 0)
1475       (instance ?NUMBER RealNumber)))     1483       (instance ?NUMBER RealNumber)))
1476     1484
1477 (subclass NegativeRealNumber RealNumber)     1485 (subclass NegativeRealNumber RealNumber)
1478 (documentation NegativeRealNumber "A &%RealNumber that is less than     1486 (documentation NegativeRealNumber "A &%RealNumber that is less than
1479 zero.")     1487 zero.")
1480     1488
1481 (<=>     1489 (<=>
1482    (instance ?NUMBER NegativeRealNumber)     1490    (instance ?NUMBER NegativeRealNumber)
1483    (and     1491    (and
1484       (lessThan ?NUMBER 0)     1492       (lessThan ?NUMBER 0)
1485       (instance ?NUMBER RealNumber)))     1493       (instance ?NUMBER RealNumber)))
1486     1494
1487 (subclass Integer RationalNumber)     1495 (subclass Integer RationalNumber)
1488 (partition Integer OddInteger EvenInteger)     1496 (partition Integer OddInteger EvenInteger)
1489 (partition Integer NegativeInteger NonnegativeInteger)     1497 (partition Integer NegativeInteger NonnegativeInteger)
1490 (documentation Integer "A negative or nonnegative whole number.")     1498 (documentation Integer "A negative or nonnegative whole number.")
1491     1499
1492 (subclass EvenInteger Integer)     1500 (subclass EvenInteger Integer)
1493 (documentation EvenInteger "An &%Integer that is evenly divisible     1501 (documentation EvenInteger "An &%Integer that is evenly divisible
1494 by 2.")     1502 by 2.")
1495     1503
1496 (subclass OddInteger Integer)     1504 (subclass OddInteger Integer)
1497 (documentation OddInteger "An &%Integer that is not evenly divisible     1505 (documentation OddInteger "An &%Integer that is not evenly divisible
1498 by 2.")     1506 by 2.")
1499     1507
1500 (subclass PrimeNumber Integer)     1508 (subclass PrimeNumber Integer)
1501 (documentation PrimeNumber "An &%Integer that is evenly divisible only     1509 (documentation PrimeNumber "An &%Integer that is evenly divisible only
1502 by itself and 1.")     1510 by itself and 1.")
1503     1511
1504 (subclass NonnegativeInteger Integer)     1512 (subclass NonnegativeInteger Integer)
1505 (subclass NonnegativeInteger NonnegativeRealNumber)     1513 (subclass NonnegativeInteger NonnegativeRealNumber)
1506 (documentation NonnegativeInteger "An &%Integer that is greater than     1514 (documentation NonnegativeInteger "An &%Integer that is greater than
1507 or equal to zero.")     1515 or equal to zero.")
1508     1516
1509 (subclass NegativeInteger Integer)     1517 (subclass NegativeInteger Integer)
1510 (subclass NegativeInteger NegativeRealNumber)     1518 (subclass NegativeInteger NegativeRealNumber)
1511 (documentation NegativeInteger "An &%Integer that is less than zero.")     1519 (documentation NegativeInteger "An &%Integer that is less than zero.")
1512     1520
1513 (subclass PositiveInteger NonnegativeInteger)     1521 (subclass PositiveInteger NonnegativeInteger)
1514 (subclass PositiveInteger PositiveRealNumber)     1522 (subclass PositiveInteger PositiveRealNumber)
1515 (documentation PositiveInteger "An &%Integer that is greater than zero.")     1523 (documentation PositiveInteger "An &%Integer that is greater than zero.")
1516     1524
1517 (subclass BinaryNumber RealNumber)     1525 (subclass BinaryNumber RealNumber)
1518 (documentation BinaryNumber "Elements from the number system with base 2.     1526 (documentation BinaryNumber "Elements from the number system with base 2.
1519 Every &%BinaryNumber is expressed as a sequence of the digits 1 and 0.")     1527 Every &%BinaryNumber is expressed as a sequence of the digits 1 and 0.")
1520     1528
1521 (subclass ComplexNumber Number)     1529 (subclass ComplexNumber Number)
1522 (disjoint ComplexNumber RealNumber)     1530 (disjoint ComplexNumber RealNumber)
1523 (documentation ComplexNumber "A &%Number that has the form: x + yi, where x     1531 (documentation ComplexNumber "A &%Number that has the form: x + yi, where x
1524 and y are &%RealNumbers and i is the square root of -1.")     1532 and y are &%RealNumbers and i is the square root of -1.")
1525     1533
1526 (=>     1534 (=>
1527    (instance ?NUMBER ComplexNumber)     1535    (instance ?NUMBER ComplexNumber)
1528    (exists (?REAL1 ?REAL2)     1536    (exists (?REAL1 ?REAL2)
1529       (and     1537       (and
1530          (instance ?REAL1 RealNumber)     1538          (instance ?REAL1 RealNumber)
1531          (instance ?REAL2 RealNumber)     1539          (instance ?REAL2 RealNumber)
1532          (equal ?NUMBER (AdditionFn ?REAL1 (MultiplicationFn ?REAL2 (SquareRootFn -1)))))))     1540          (equal ?NUMBER (AdditionFn ?REAL1 (MultiplicationFn ?REAL2 (SquareRootFn -1)))))))
1533     1541
1534 (subclass PhysicalQuantity Quantity)     1542 (subclass PhysicalQuantity Quantity)
1535 (partition PhysicalQuantity ConstantQuantity FunctionQuantity)     1543 (partition PhysicalQuantity ConstantQuantity FunctionQuantity)
1536 (documentation PhysicalQuantity "&%A PhysicalQuantity is a measure of     1544 (documentation PhysicalQuantity "&%A PhysicalQuantity is a measure of
1537 some quantifiable aspect of the modeled world, such as 'the earth's     1545 some quantifiable aspect of the modeled world, such as 'the earth's
1538 diameter' (a constant length) and 'the stress in a loaded deformable     1546 diameter' (a constant length) and 'the stress in a loaded deformable
1539 solid' (a measure of stress, which is a function of three spatial     1547 solid' (a measure of stress, which is a function of three spatial
1540 coordinates). All &%PhysicalQuantities are either &%ConstantQuantities     1548 coordinates). All &%PhysicalQuantities are either &%ConstantQuantities
1541 or &%FunctionQuantities. Instances of &%ConstantQuantity are dependent     1549 or &%FunctionQuantities. Instances of &%ConstantQuantity are dependent
1542 on a &%UnitOfMeasure, while instances of &%FunctionQuantity are     1550 on a &%UnitOfMeasure, while instances of &%FunctionQuantity are
1543 &%Functions that map instances of &%ConstantQuantity to other instances     1551 &%Functions that map instances of &%ConstantQuantity to other instances
1544 of &%ConstantQuantity (e.g., &%TimeDependentQuantities are     1552 of &%ConstantQuantity (e.g., &%TimeDependentQuantities are
1545 &%FunctionQuantities). Although the name and definition of     1553 &%FunctionQuantities). Although the name and definition of
1546 &%PhysicalQuantity is borrowed from physics, &%PhysicalQuantities need     1554 &%PhysicalQuantity is borrowed from physics, &%PhysicalQuantities need
1547 not be material. Aside from the dimensions of length, time, velocity,     1555 not be material. Aside from the dimensions of length, time, velocity,
1548 etc., nonphysical dimensions such as currency are also possible.     1556 etc., nonphysical dimensions such as currency are also possible.
1549 Accordingly, amounts of money would be instances of &%PhysicalQuantity.     1557 Accordingly, amounts of money would be instances of &%PhysicalQuantity.
1550 &%PhysicalQuantities are distinguished from &%Numbers by the fact that     1558 &%PhysicalQuantities are distinguished from &%Numbers by the fact that
1551 the former are associated with a dimension of measurement.")     1559 the former are associated with a dimension of measurement.")
1552     1560
1553 (subclass ConstantQuantity PhysicalQuantity)     1561 (subclass ConstantQuantity PhysicalQuantity)
1554 (documentation ConstantQuantity "A &%ConstantQuantity is a     1562 (documentation ConstantQuantity "A &%ConstantQuantity is a
1555 &%PhysicalQuantity which has a constant value, e.g. 3 meters and 5 hours.     1563 &%PhysicalQuantity which has a constant value, e.g. 3 meters and 5 hours.
1556 The magnitude (see &%MagnitudeFn) of every &%ConstantQuantity is a     1564 The magnitude (see &%MagnitudeFn) of every &%ConstantQuantity is a
1557 &%RealNumber. &%ConstantQuantities are distinguished from     1565 &%RealNumber. &%ConstantQuantities are distinguished from
1558 &%FunctionQuantities, which map &%ConstantQuantities to other     1566 &%FunctionQuantities, which map &%ConstantQuantities to other
1559 &%ConstantQuantities. All &%ConstantQuantites are expressed with the     1567 &%ConstantQuantities. All &%ConstantQuantites are expressed with the
1560 &%BinaryFunction &%MeasureFn, which takes a &%Number and a &%UnitOfMeasure     1568 &%BinaryFunction &%MeasureFn, which takes a &%Number and a &%UnitOfMeasure
1561 as arguments. For example, 3 &%Meters can be expressed as (&%MeasureFn 3     1569 as arguments. For example, 3 &%Meters can be expressed as (&%MeasureFn 3
1562 &%Meter). &%ConstantQuantities form a partial order (see     1570 &%Meter). &%ConstantQuantities form a partial order (see
1563 &%PartialOrderingRelation) with the &%lessThan relation, since &%lessThan     1571 &%PartialOrderingRelation) with the &%lessThan relation, since &%lessThan
1564 is a &%RelationExtendedToQuantities and &%lessThan is defined over the     1572 is a &%RelationExtendedToQuantities and &%lessThan is defined over the
1565 &%RealNumbers. The &%lessThan relation is not a total order (see     1573 &%RealNumbers. The &%lessThan relation is not a total order (see
1566 &%TotalOrderingRelation) over the class &%ConstantQuantity since elements     1574 &%TotalOrderingRelation) over the class &%ConstantQuantity since elements
1567 of some subclasses of &%ConstantQuantity (such as length quantities)     1575 of some subclasses of &%ConstantQuantity (such as length quantities)
1568 are incomparable to elements of other subclasses of &%ConstantQuantity     1576 are incomparable to elements of other subclasses of &%ConstantQuantity
1569 (such as mass quantities).")     1577 (such as mass quantities).")
1570     1578
1571 (subclass TimeMeasure ConstantQuantity)     1579 (subclass TimeMeasure ConstantQuantity)
1572 (documentation TimeMeasure "The class of temporal durations (instances     1580 (documentation TimeMeasure "The class of temporal durations (instances
1573 of &%TimeDuration) and positions of &%TimePoints and &%TimeIntervals along     1581 of &%TimeDuration) and positions of &%TimePoints and &%TimeIntervals along
1574 the universal timeline (instances of &%TimePosition).")     1582 the universal timeline (instances of &%TimePosition).")
1575     1583
1576 (subclass TimeDuration TimeMeasure)     1584 (subclass TimeDuration TimeMeasure)
1577 (documentation TimeDuration "Any measure of length of time,     1585 (documentation TimeDuration "Any measure of length of time,
1578 with or without respect to the universal timeline.")     1586 with or without respect to the universal timeline.")
1579     1587
1580 (subclass TimePosition TimeMeasure)     1588 (subclass TimePosition TimeMeasure)
1581 (partition TimePosition TimeInterval TimePoint)     1589 (partition TimePosition TimeInterval TimePoint)
1582 (documentation TimePosition "Any &%TimePoint or &%TimeInterval     1590 (documentation TimePosition "Any &%TimePoint or &%TimeInterval
1583 along the universal timeline from &%NegativeInfinity to     1591 along the universal timeline from &%NegativeInfinity to
1584 &%PositiveInfinity.")     1592 &%PositiveInfinity.")
1585     1593
1586 (subclass TimeInterval TimePosition)     1594 (subclass TimeInterval TimePosition)
1587 (documentation TimeInterval "An interval of time. Note that a     1595 (documentation TimeInterval "An interval of time. Note that a
1588 &%TimeInterval has both an extent and a location on the universal     1596 &%TimeInterval has both an extent and a location on the universal
1589 timeline. Note too that a &%TimeInterval has no gaps, i.e. this     1597 timeline. Note too that a &%TimeInterval has no gaps, i.e. this
1590 class contains only convex time intervals.")     1598 class contains only convex time intervals.")
1591     1599
1592 (subclass TimePoint TimePosition)     1600 (subclass TimePoint TimePosition)
1593 (documentation TimePoint "An extensionless point on the universal timeline.     1601 (documentation TimePoint "An extensionless point on the universal timeline.
1594 The &%TimePoints at which &%Processes occur can be known with various     1602 The &%TimePoints at which &%Processes occur can be known with various
1595 degrees of precision and approximation, but conceptually &%TimePoints are     1603 degrees of precision and approximation, but conceptually &%TimePoints are
1596 point-like and not interval-like. That is, it doesn't make sense to talk     1604 point-like and not interval-like. That is, it doesn't make sense to talk
1597 about how long a &%TimePoint lasts.")     1605 about how long a &%TimePoint lasts.")
1598     1606
1599 (subclass FunctionQuantity PhysicalQuantity)     1607 (subclass FunctionQuantity PhysicalQuantity)
1600 (subclass FunctionQuantity Function)     1608 (subclass FunctionQuantity Function)
1601 (documentation FunctionQuantity "A &%FunctionQuantity is a &%Function that     1609 (documentation FunctionQuantity "A &%FunctionQuantity is a &%Function that
1602 maps from one or more instances of &%ConstantQuantity to another instance     1610 maps from one or more instances of &%ConstantQuantity to another instance
1603 of &%ConstantQuantity. For example, the velocity of a particle would be     1611 of &%ConstantQuantity. For example, the velocity of a particle would be
1604 represented by a &%FunctionQuantity mapping values of time (which are     1612 represented by a &%FunctionQuantity mapping values of time (which are
1605 &%ConstantQuantities) to values of distance (also &%ConstantQuantities).     1613 &%ConstantQuantities) to values of distance (also &%ConstantQuantities).
1606 Note that all instances of &%FunctionQuantity are &%Functions with a fixed     1614 Note that all instances of &%FunctionQuantity are &%Functions with a fixed
1607 arity. Note too that all elements of the range of a &%FunctionQuantity     1615 arity. Note too that all elements of the range of a &%FunctionQuantity
1608 have the same physical dimension as the &%FunctionQuantity itself.")     1616 have the same physical dimension as the &%FunctionQuantity itself.")
1609     1617
1610 (subclass UnaryConstantFunctionQuantity FunctionQuantity)     1618 (subclass UnaryConstantFunctionQuantity FunctionQuantity)
1611 (subclass UnaryConstantFunctionQuantity UnaryFunction)     1619 (subclass UnaryConstantFunctionQuantity UnaryFunction)
1612 (documentation UnaryConstantFunctionQuantity "The class of &%UnaryFunctions     1620 (documentation UnaryConstantFunctionQuantity "The class of &%UnaryFunctions
1613 that map from the &%Class &%ConstantQuantity to the &%Class     1621 that map from the &%Class &%ConstantQuantity to the &%Class
1614 &%ConstantQuantity.")     1622 &%ConstantQuantity.")
1615     1623
1616 (=>     1624 (=>
1617    (instance ?FUNCTION UnaryConstantFunctionQuantity)     1625    (instance ?FUNCTION UnaryConstantFunctionQuantity)
1618    (and     1626    (and
1619       (domain ?FUNCTION 1 ConstantQuantity)     1627       (domain ?FUNCTION 1 ConstantQuantity)
1620       (range ?FUNCTION ConstantQuantity)))     1628       (range ?FUNCTION ConstantQuantity)))
1621     1629
1622 (subclass TimeDependentQuantity UnaryConstantFunctionQuantity)     1630 (subclass TimeDependentQuantity UnaryConstantFunctionQuantity)
1623 (subclass TimeDependentQuantity ContinuousFunction)     1631 (subclass TimeDependentQuantity ContinuousFunction)
1624 (documentation TimeDependentQuantity "A &%UnaryConstantFunction of continuous     1632 (documentation TimeDependentQuantity "A &%UnaryConstantFunction of continuous
1625 time. All instances of this &%Class map a time quantity into another     1633 time. All instances of this &%Class map a time quantity into another
1626 &%ConstantQuantity such as temperature. For example, 'the temperature at     1634 &%ConstantQuantity such as temperature. For example, 'the temperature at
1627 the top of the Empire State Building' is a &%TimeDependentQuantity since     1635 the top of the Empire State Building' is a &%TimeDependentQuantity since
1628 its value depends on the time.")     1636 its value depends on the time.")
1629     1637
1630 (=>     1638 (=>
1631    (instance ?FUNCTION TimeDependentQuantity)     1639    (instance ?FUNCTION TimeDependentQuantity)
1632    (domain ?FUNCTION 1 TimeMeasure))     1640    (domain ?FUNCTION 1 TimeMeasure))
1633     1641
1634 (subclass SetOrClass Abstract)     1642 (subclass SetOrClass Abstract)
1635 (partition SetOrClass Set Class)     1643 (partition SetOrClass Set Class)
1636 (documentation SetOrClass "The &%SetOrClass of &%Sets and &%Classes, i.e. any instance     1644 (documentation SetOrClass "The &%SetOrClass of &%Sets and &%Classes, i.e. any instance
1637 of &%Abstract that has &%elements or &%instances.")     1645 of &%Abstract that has &%elements or &%instances.")
1638     1646
1639 (subclass Class SetOrClass)     1647 (subclass Class SetOrClass)
1640 (documentation Class "&%Classes differ from &%Sets in two important respects.   3c) 1648 (documentation Class "&%Classes differ from &%Sets in three important respects.
1641 First, &%Classes are not assumed to be extensional. That is, distinct     1649 First, &%Classes are not assumed to be extensional. That is, distinct
1642 &%Classes might well have exactly the same instances. Second, &%Classes typically     1650 &%Classes might well have exactly the same instances. Second, &%Classes typically
1643 have an associated `condition' that determines the instances of the &%Class. So,     1651 have an associated `condition' that determines the instances of the &%Class. So,
1644 for example, the condition `human' determines the &%Class of &%Humans. Note that     1652 for example, the condition `human' determines the &%Class of &%Humans. Note that
1645 some &%Classes might satisfy their own condition (e.g., the &%Class of &%Abstract     1653 some &%Classes might satisfy their own condition (e.g., the &%Class of &%Abstract
1646 things is &%Abstract) and hence be instances of themselves.")     1654 things is &%Abstract) and hence be instances of themselves. Third, the instances
      3c) 1655 of a class may occur only once within the class, i.e. a class cannot contain
        1656 duplicate instances.")
1647     1657
1648 (subclass Set SetOrClass)     1658 (subclass Set SetOrClass)
1649 (documentation Set "A &%SetOrClass that satisfies extensionality as well as     1659 (documentation Set "A &%SetOrClass that satisfies extensionality as well as
1650 other constraints specified by some choice of set theory. &%Sets differ     1660 other constraints specified by some choice of set theory. &%Sets differ
1651 from &%Classes in two important respects. First, &%Sets are extensional -     1661 from &%Classes in two important respects. First, &%Sets are extensional -
1652 two &%Sets with the same &%elements are identical. Second, a &%Set can be     1662 two &%Sets with the same &%elements are identical. Second, a &%Set can be
1653 an arbitrary stock of objects. That is, there is no requirement that &%Sets     1663 an arbitrary stock of objects. That is, there is no requirement that &%Sets
1654 have an associated condition that determines their membership. Note that &%Sets     1664 have an associated condition that determines their membership. Note that &%Sets
1655 are not assumed to be unique sets, i.e. &%elements of a &%Set may occur more     1665 are not assumed to be unique sets, i.e. &%elements of a &%Set may occur more
1656 than once in the &%Set.")     1666 than once in the &%Set.")
1657     1667
1658 (subclass Relation Abstract)     1668 (subclass Relation Abstract)
1659 (disjointDecomposition Relation BinaryRelation TernaryRelation QuaternaryRelation QuintaryRelation VariableArityRelation)     1669 (disjointDecomposition Relation BinaryRelation TernaryRelation QuaternaryRelation QuintaryRelation VariableArityRelation)
1660 (partition Relation Predicate Function List)     1670 (partition Relation Predicate Function List)
1661 (partition Relation TotalValuedRelation PartialValuedRelation)     1671 (partition Relation TotalValuedRelation PartialValuedRelation)
1662 (documentation Relation "The &%Class of relations. There are three kinds     1672 (documentation Relation "The &%Class of relations. There are three kinds
1663 of &%Relation: &%Predicate, &%Function, and &%List. &%Predicates and     1673 of &%Relation: &%Predicate, &%Function, and &%List. &%Predicates and
1664 &%Functions both denote sets of ordered n-tuples. The difference between     1674 &%Functions both denote sets of ordered n-tuples. The difference between
1665 these two &%Classes is that &%Predicates cover formula-forming operators, while     1675 these two &%Classes is that &%Predicates cover formula-forming operators, while
1666 &%Functions cover term-forming operators. A &%List, on the other hand, is a     1676 &%Functions cover term-forming operators. A &%List, on the other hand, is a
1667 particular ordered n-tuple.")     1677 particular ordered n-tuple.")
1668     1678
1669 (=>     1679 (=>
1670    (instance ?REL Relation)     1680    (instance ?REL Relation)
1671    (<=>     1681    (<=>
1672         (holds ?REL @ROW)     1682         (holds ?REL @ROW)
1673         (?REL @ROW)))     1683         (?REL @ROW)))
1674     1684
1675 ;; The following part of the ontology covers the various classes under     1685 ;; The following part of the ontology covers the various classes under
1676 ;; 'Relation'. Most of the content here is taken from frame-ontology,     1686 ;; 'Relation'. Most of the content here is taken from frame-ontology,
1677 ;; abstract-algebra, kif-relations, and kif-extensions (ontologies     1687 ;; abstract-algebra, kif-relations, and kif-extensions (ontologies
1678 ;; available on the Ontolingua server).     1688 ;; available on the Ontolingua server).
1679     1689
1680 (subclass SingleValuedRelation Relation)     1690 (subclass SingleValuedRelation Relation)
1681 (instance SingleValuedRelation InheritableRelation)     1691 (instance SingleValuedRelation InheritableRelation)
1682 (documentation SingleValuedRelation "A &%Relation is a &%SingleValuedRelation     1692 (documentation SingleValuedRelation "A &%Relation is a &%SingleValuedRelation
1683 just in case an assignment of values to every argument position except the last     1693 just in case an assignment of values to every argument position except the last
1684 one determines at most one assignment for the last argument position. Note     1694 one determines at most one assignment for the last argument position. Note
1685 that not all &%SingleValuedRelations are &%TotalValuedRelations.")     1695 that not all &%SingleValuedRelations are &%TotalValuedRelations.")
1686     1696
1687 (=>     1697 (=>
1688    (instance ?REL SingleValuedRelation)     1698    (instance ?REL SingleValuedRelation)
1689    (forall (@ROW ?ITEM1 ?ITEM2)     1699    (forall (@ROW ?ITEM1 ?ITEM2)
1690       (=>     1700       (=>
1691          (and     1701          (and
1692             (holds ?REL @ROW ?ITEM1)     1702             (holds ?REL @ROW ?ITEM1)
1693             (holds ?REL @ROW ?ITEM2))     1703             (holds ?REL @ROW ?ITEM2))
1694          (equal ?ITEM1 ?ITEM2))))     1704          (equal ?ITEM1 ?ITEM2))))
1695     1705
1696 (subclass TotalValuedRelation Relation)     1706 (subclass TotalValuedRelation Relation)
1697 (documentation TotalValuedRelation "A &%Relation is a &%TotalValuedRelation     1707 (documentation TotalValuedRelation "A &%Relation is a &%TotalValuedRelation
1698 just in case there exists an assignment for the last argument position of the     1708 just in case there exists an assignment for the last argument position of the
1699 &%Relation given any assignment of values to every argument position except     1709 &%Relation given any assignment of values to every argument position except
1700 the last one. Note that declaring a &%Relation to be both a &%TotalValuedRelation     1710 the last one. Note that declaring a &%Relation to be both a &%TotalValuedRelation
1701 and a &%SingleValuedRelation means that it is a total function.")     1711 and a &%SingleValuedRelation means that it is a total function.")
1702     1712
1703 (<=>     1713 (<=>
1704    (instance ?REL TotalValuedRelation)     1714    (instance ?REL TotalValuedRelation)
1705    (exists (?VALENCE)     1715    (exists (?VALENCE)
1706       (and     1716       (and
1707          (instance ?REL Relation)     1717          (instance ?REL Relation)
1708          (valence ?REL ?VALENCE)     1718          (valence ?REL ?VALENCE)
1709          (=>     1719          (=>
1710             (forall (?NUMBER ?ELEMENT ?CLASS)     1720             (forall (?NUMBER ?ELEMENT ?CLASS)
1711                (=>     1721                (=>
1712                   (and     1722                   (and
1713                      (lessThan ?NUMBER ?VALENCE)     1723                      (lessThan ?NUMBER ?VALENCE)
1714                      (domain ?REL ?NUMBER ?CLASS)     1724                      (domain ?REL ?NUMBER ?CLASS)
1715                      (equal ?ELEMENT (ListOrderFn (ListFn @ROW) ?NUMBER)))     1725                      (equal ?ELEMENT (ListOrderFn (ListFn @ROW) ?NUMBER)))
1716                   (instance ?ELEMENT ?CLASS)))     1726                   (instance ?ELEMENT ?CLASS)))
1717             (exists (?ITEM)     1727             (exists (?ITEM)
1718                (holds ?REL @ROW ?ITEM))))))     1728                (holds ?REL @ROW ?ITEM))))))
1719     1729
1720 (subclass PartialValuedRelation Relation)     1730 (subclass PartialValuedRelation Relation)
1721 (documentation PartialValuedRelation "A &%Relation is a &%PartialValuedRelation     1731 (documentation PartialValuedRelation "A &%Relation is a &%PartialValuedRelation
1722 just in case it is not a &%TotalValuedRelation, i.e. just in case assigning values     1732 just in case it is not a &%TotalValuedRelation, i.e. just in case assigning values
1723 to every argument position except the last one does not necessarily mean that there     1733 to every argument position except the last one does not necessarily mean that there
1724 is a value assignment for the last argument position. Note that, if a &%Relation     1734 is a value assignment for the last argument position. Note that, if a &%Relation
1725 is both a &%PartialValuedRelation and a &%SingleValuedRelation, then it is a partial     1735 is both a &%PartialValuedRelation and a &%SingleValuedRelation, then it is a partial
1726 function.")     1736 function.")
1727     1737
1728 (subclass BinaryRelation Relation)     1738 (subclass BinaryRelation Relation)
1729 (instance BinaryRelation InheritableRelation)     1739 (instance BinaryRelation InheritableRelation)
1730 (documentation BinaryRelation "&%BinaryRelations are relations that are     1740 (documentation BinaryRelation "&%BinaryRelations are relations that are
1731 true only of pairs of things. &%BinaryRelations are represented as slots     1741 true only of pairs of things. &%BinaryRelations are represented as slots
1732 in frame systems.")     1742 in frame systems.")
1733     1743
1734 (=>     1744 (=>
1735    (instance ?REL BinaryRelation)     1745    (instance ?REL BinaryRelation)
1736    (not     1746    (not
1737       (exists (?ITEM1 ?ITEM2 ?ITEM3 @ROW)     1747       (exists (?ITEM1 ?ITEM2 ?ITEM3 @ROW)
1738          (holds ?REL ?ITEM1 ?ITEM2 ?ITEM3 @ROW))))     1748          (holds ?REL ?ITEM1 ?ITEM2 ?ITEM3 @ROW))))
1739     1749
1740 (subclass ReflexiveRelation BinaryRelation)     1750 (subclass ReflexiveRelation BinaryRelation)
1741 (documentation ReflexiveRelation "&%Relation ?REL is reflexive if     1751 (documentation ReflexiveRelation "&%Relation ?REL is reflexive if
1742 (?REL ?INST ?INST) for all ?INST.")     1752 (?REL ?INST ?INST) for all ?INST.")
1743     1753
1744 (=>     1754 (=>
1745    (instance ?REL ReflexiveRelation)     1755    (instance ?REL ReflexiveRelation)
1746    (=>     1756    (=>
1747       (or     1757       (or
1748          (holds ?REL ?INST1 ?INST2)     1758          (holds ?REL ?INST1 ?INST2)
1749          (holds ?REL ?INST2 ?INST1))     1759          (holds ?REL ?INST2 ?INST1))
1750       (holds ?REL ?INST1 ?INST1)))     1760       (holds ?REL ?INST1 ?INST1)))
1751     1761
1752 (subclass IrreflexiveRelation BinaryRelation)     1762 (subclass IrreflexiveRelation BinaryRelation)
1753 (documentation IrreflexiveRelation "&%Relation ?REL is irreflexive     1763 (documentation IrreflexiveRelation "&%Relation ?REL is irreflexive
1754 if (?REL ?INST ?INST) holds for no value of ?INST.")     1764 if (?REL ?INST ?INST) holds for no value of ?INST.")
1755     1765
1756 (=>     1766 (=>
1757    (instance ?REL IrreflexiveRelation)     1767    (instance ?REL IrreflexiveRelation)
1758    (forall (?INST)     1768    (forall (?INST)
1759       (not     1769       (not
1760          (holds ?REL ?INST ?INST))))     1770          (holds ?REL ?INST ?INST))))
1761     1771
1762 (subclass SymmetricRelation BinaryRelation)     1772 (subclass SymmetricRelation BinaryRelation)
1763 (documentation SymmetricRelation "A &%BinaryRelation ?REL is     1773 (documentation SymmetricRelation "A &%BinaryRelation ?REL is
1764 symmetric just in case (?REL ?INST1 ?INST2) imples (?REL     1774 symmetric just in case (?REL ?INST1 ?INST2) imples (?REL
1765 ?INST2 ?INST1), for all ?INST1 and ?INST2.")     1775 ?INST2 ?INST1), for all ?INST1 and ?INST2.")
1766     1776
1767     1777
1768 (=>     1778 (=>
1769    (instance ?REL SymmetricRelation)     1779    (instance ?REL SymmetricRelation)
1770    (forall (?INST1 ?INST2)     1780    (forall (?INST1 ?INST2)
1771       (=>     1781       (=>
1772          (holds ?REL ?INST1 ?INST2)     1782          (holds ?REL ?INST1 ?INST2)
1773          (holds ?REL ?INST2 ?INST1))))     1783          (holds ?REL ?INST2 ?INST1))))
1774     1784
1775 (subclass AsymmetricRelation IrreflexiveRelation)     1785 (subclass AsymmetricRelation IrreflexiveRelation)
1776 (subclass AsymmetricRelation AntisymmetricRelation)     1786 (subclass AsymmetricRelation AntisymmetricRelation)
1777 (documentation AsymmetricRelation "A &%BinaryRelation is asymmetric only     1787 (documentation AsymmetricRelation "A &%BinaryRelation is asymmetric only
1778 if it is both an &%AntisymmetricRelation and an &%IrreflexiveRelation.")     1788 if it is both an &%AntisymmetricRelation and an &%IrreflexiveRelation.")
1779     1789
1780 (=>     1790 (=>
1781    (and     1791    (and
1782       (instance ?REL BinaryRelation)     1792       (instance ?REL BinaryRelation)
1783       (or     1793       (or
1784          (domain ?REL 1 ?CLASS1)     1794          (domain ?REL 1 ?CLASS1)
1785          (domainSubclass ?REL 1 ?CLASS1))     1795          (domainSubclass ?REL 1 ?CLASS1))
1786       (or     1796       (or
1787          (domain ?REL 2 ?CLASS2)     1797          (domain ?REL 2 ?CLASS2)
1788          (domainSubclass ?REL 2 ?CLASS2)     1798          (domainSubclass ?REL 2 ?CLASS2)
1789          (range ?REL ?CLASS2)     1799          (range ?REL ?CLASS2)
1790          (rangeSubclass ?REL ?CLASS2))     1800          (rangeSubclass ?REL ?CLASS2))
1791       (disjoint ?CLASS1 ?CLASS2))     1801       (disjoint ?CLASS1 ?CLASS2))
1792    (instance ?REL AsymmetricRelation))     1802    (instance ?REL AsymmetricRelation))
1793     1803
1794 (subclass AntisymmetricRelation BinaryRelation)     1804 (subclass AntisymmetricRelation BinaryRelation)
1795 (documentation AntisymmetricRelation "&%BinaryRelation ?REL is an     1805 (documentation AntisymmetricRelation "&%BinaryRelation ?REL is an
1796 &%AntisymmetricRelation if for distinct ?INST1 and ?INST2, (?REL ?INST1     1806 &%AntisymmetricRelation if for distinct ?INST1 and ?INST2, (?REL ?INST1
1797 ?INST2) implies not (?REL ?INST2 ?INST1). In other words, for all ?INST1     1807 ?INST2) implies not (?REL ?INST2 ?INST1). In other words, for all ?INST1
1798 and ?INST2, (?REL ?INST1 ?INST2) and (?REL ?INST2 ?INST1) imply that ?INST1     1808 and ?INST2, (?REL ?INST1 ?INST2) and (?REL ?INST2 ?INST1) imply that ?INST1
1799 and ?INST2 are identical. Note that it is possible for an     1809 and ?INST2 are identical. Note that it is possible for an
1800 &%AntisymmetricRelation to be a &%ReflexiveRelation.")     1810 &%AntisymmetricRelation to be a &%ReflexiveRelation.")
1801     1811
1802 (=>     1812 (=>
1803    (instance ?REL AntisymmetricRelation)     1813    (instance ?REL AntisymmetricRelation)
1804    (forall (?INST1 ?INST2)     1814    (forall (?INST1 ?INST2)
1805       (=>     1815       (=>
1806          (and     1816          (and
1807             (holds ?REL ?INST1 ?INST2)     1817             (holds ?REL ?INST1 ?INST2)
1808             (holds ?REL ?INST2 ?INST1))     1818             (holds ?REL ?INST2 ?INST1))
1809          (equal ?INST1 ?INST2))))     1819          (equal ?INST1 ?INST2))))
1810     1820
1811 (subclass TrichotomizingRelation BinaryRelation)     1821 (subclass TrichotomizingRelation BinaryRelation)
1812 (documentation TrichotomizingRelation "A &%BinaryRelation ?REL is a     1822 (documentation TrichotomizingRelation "A &%BinaryRelation ?REL is a
1813 &%TrichotomizingRelation just in case all ordered pairs consisting of     1823 &%TrichotomizingRelation just in case all ordered pairs consisting of
1814 distinct individuals are elements of ?REL.")     1824 distinct individuals are elements of ?REL.")
1815     1825
1816 (=>     1826 (=>
1817    (instance ?REL TrichotomizingRelation)     1827    (instance ?REL TrichotomizingRelation)
1818    (forall (?INST1 ?INST2)     1828    (forall (?INST1 ?INST2)
1819       (or     1829       (or
1820          (holds ?REL ?INST1 ?INST2)     1830          (holds ?REL ?INST1 ?INST2)
1821          (equal ?INST1 ?INST2)     1831          (equal ?INST1 ?INST2)
1822          (holds ?REL ?INST2 ?INST1))))     1832          (holds ?REL ?INST2 ?INST1))))
1823     1833
1824 (subclass TransitiveRelation BinaryRelation)     1834 (subclass TransitiveRelation BinaryRelation)
1825 (documentation TransitiveRelation "A &%BinaryRelation ?REL is transitive     1835 (documentation TransitiveRelation "A &%BinaryRelation ?REL is transitive
1826 if (?REL ?INST1 ?INST2) and (?REL ?INST2 ?INST3) imply (?REL ?INST1 ?INST3),     1836 if (?REL ?INST1 ?INST2) and (?REL ?INST2 ?INST3) imply (?REL ?INST1 ?INST3),
1827 for all ?INST1, ?INST2, and ?INST3.")     1837 for all ?INST1, ?INST2, and ?INST3.")
1828     1838
1829 (=>     1839 (=>
1830    (instance ?REL TransitiveRelation)     1840    (instance ?REL TransitiveRelation)
1831    (forall (?INST1 ?INST2 ?INST3)     1841    (forall (?INST1 ?INST2 ?INST3)
1832       (=>     1842       (=>
1833          (and     1843          (and
1834             (holds ?REL ?INST1 ?INST2)     1844             (holds ?REL ?INST1 ?INST2)
1835             (holds ?REL ?INST2 ?INST3))     1845             (holds ?REL ?INST2 ?INST3))
1836          (holds ?REL ?INST1 ?INST3))))     1846          (holds ?REL ?INST1 ?INST3))))
1837     1847
1838 (subclass IntransitiveRelation BinaryRelation)     1848 (subclass IntransitiveRelation BinaryRelation)
1839 (documentation IntransitiveRelation "A &%BinaryRelation ?REL is     1849 (documentation IntransitiveRelation "A &%BinaryRelation ?REL is
1840 intransitive only if (?REL ?INST1 ?INST2) and (?REL ?INST2 ?INST3) imply not     1850 intransitive only if (?REL ?INST1 ?INST2) and (?REL ?INST2 ?INST3) imply not
1841 (?REL ?INST1 ?INST3), for all ?INST1, ?INST2, and ?INST3.")     1851 (?REL ?INST1 ?INST3), for all ?INST1, ?INST2, and ?INST3.")
1842     1852
1843 (=>     1853 (=>
1844    (instance ?REL IntransitiveRelation)     1854    (instance ?REL IntransitiveRelation)
1845    (forall (?INST1 ?INST2 ?INST3)     1855    (forall (?INST1 ?INST2 ?INST3)
1846       (=>     1856       (=>
1847          (and     1857          (and
1848             (holds ?REL ?INST1 ?INST2)     1858             (holds ?REL ?INST1 ?INST2)
1849             (holds ?REL ?INST2 ?INST3))     1859             (holds ?REL ?INST2 ?INST3))
1850          (not     1860          (not
1851             (holds ?REL ?INST1 ?INST3)))))     1861             (holds ?REL ?INST1 ?INST3)))))
1852     1862
1853 (subclass PartialOrderingRelation TransitiveRelation)     1863 (subclass PartialOrderingRelation TransitiveRelation)
1854 (subclass PartialOrderingRelation AntisymmetricRelation)     1864 (subclass PartialOrderingRelation AntisymmetricRelation)
1855 (subclass PartialOrderingRelation ReflexiveRelation)     1865 (subclass PartialOrderingRelation ReflexiveRelation)
1856 (documentation PartialOrderingRelation "A &%BinaryRelation is a partial     1866 (documentation PartialOrderingRelation "A &%BinaryRelation is a partial
1857 ordering if it is a &%ReflexiveRelation, an &%AntisymmetricRelation, and     1867 ordering if it is a &%ReflexiveRelation, an &%AntisymmetricRelation, and
1858 a &%TransitiveRelation.")     1868 a &%TransitiveRelation.")
1859     1869
1860 (subclass TotalOrderingRelation PartialOrderingRelation)     1870 (subclass TotalOrderingRelation PartialOrderingRelation)
1861 (subclass TotalOrderingRelation TrichotomizingRelation)     1871 (subclass TotalOrderingRelation TrichotomizingRelation)
1862 (documentation TotalOrderingRelation "A &%BinaryRelation is a     1872 (documentation TotalOrderingRelation "A &%BinaryRelation is a
1863 &%TotalOrderingRelation if it is a &%PartialOrderingRelation     1873 &%TotalOrderingRelation if it is a &%PartialOrderingRelation
1864 and a &%TrichotomizingRelation.")     1874 and a &%TrichotomizingRelation.")
1865     1875
1866 (=>     1876 (=>
1867    (instance ?REL TotalOrderingRelation)     1877    (instance ?REL TotalOrderingRelation)
1868    (forall (?INST1 ?INST2)     1878    (forall (?INST1 ?INST2)
1869       (or     1879       (or
1870          (holds ?REL ?INST1 ?INST2)     1880          (holds ?REL ?INST1 ?INST2)
1871          (holds ?REL ?INST2 ?INST1))))     1881          (holds ?REL ?INST2 ?INST1))))
1872     1882
1873 (subclass EquivalenceRelation TransitiveRelation)     1883 (subclass EquivalenceRelation TransitiveRelation)
1874 (subclass EquivalenceRelation SymmetricRelation)     1884 (subclass EquivalenceRelation SymmetricRelation)
1875 (subclass EquivalenceRelation ReflexiveRelation)     1885 (subclass EquivalenceRelation ReflexiveRelation)
1876 (documentation EquivalenceRelation "A &%BinaryRelation is an equivalence     1886 (documentation EquivalenceRelation "A &%BinaryRelation is an equivalence
1877 relation if it is a &%ReflexiveRelation, a &%SymmetricRelation, and a     1887 relation if it is a &%ReflexiveRelation, a &%SymmetricRelation, and a
1878 &%TransitiveRelation.")     1888 &%TransitiveRelation.")
1879     1889
1880 (subclass CaseRole BinaryPredicate)     1890 (subclass CaseRole BinaryPredicate)
1881 (instance CaseRole InheritableRelation)     1891 (instance CaseRole InheritableRelation)
1882 (subclass CaseRole AsymmetricRelation)     1892 (subclass CaseRole AsymmetricRelation)
1883 (documentation CaseRole "The &%Class of &%Predicates relating the     1893 (documentation CaseRole "The &%Class of &%Predicates relating the
1884 spatially distinguished parts of a &%Process. &%CaseRoles include, for     1894 spatially distinguished parts of a &%Process. &%CaseRoles include, for
1885 example, the &%agent, &%patient or &%destination of an action, the flammable     1895 example, the &%agent, &%patient or &%destination of an action, the flammable
1886 substance in a burning process, or the water that falls in rain.")     1896 substance in a burning process, or the water that falls in rain.")
1887     1897
1888 (instance agent CaseRole)     1898 (instance agent CaseRole)
1889 (domain agent 1 Process)     1899 (domain agent 1 Process)
1890 (domain agent 2 Agent)     1900 (domain agent 2 Agent)
1891 (documentation agent "(&%agent ?PROCESS ?AGENT) means that ?AGENT is     1901 (documentation agent "(&%agent ?PROCESS ?AGENT) means that ?AGENT is
1892 an active determinant, either animate or inanimate, of the &%Process     1902 an active determinant, either animate or inanimate, of the &%Process
1893 ?PROCESS, with or without voluntary intention. For example, water is     1903 ?PROCESS, with or without voluntary intention. For example, water is
1894 the &%agent of erosion in the following proposition: the water     1904 the &%agent of erosion in the following proposition: the water
1895 eroded the coastline. For another example, Eve is an &%agent in the     1905 eroded the coastline. For another example, Eve is an &%agent in the
1896 following proposition: Eve bit an apple.")     1906 following proposition: Eve bit an apple.")
1897     1907
1898 (=>     1908 (=>
1899    (instance ?PROCESS Process)     1909    (instance ?PROCESS Process)
1900    (exists (?CAUSE)     1910    (exists (?CAUSE)
1901       (agent ?PROCESS ?CAUSE)))     1911       (agent ?PROCESS ?CAUSE)))
1902     1912
1903 (instance destination CaseRole)     1913 (instance destination CaseRole)
1904 (domain destination 1 Process)     1914 (domain destination 1 Process)
1905 (domain destination 2 Entity)     1915 (domain destination 2 Entity)
1906 (documentation destination "(destination ?PROCESS ?GOAL) means that     1916 (documentation destination "(destination ?PROCESS ?GOAL) means that
1907 ?GOAL is the target or goal of the Process ?PROCESS. For example,     1917 ?GOAL is the target or goal of the Process ?PROCESS. For example,
1908 Danbury would be the destination in the following proposition: Bob went     1918 Danbury would be the destination in the following proposition: Bob went
1909 to Danbury. Note that this is a very general &%CaseRole and, in     1919 to Danbury. Note that this is a very general &%CaseRole and, in
1910 particular, that it covers the concepts of 'recipient' and 'beneficiary'.     1920 particular, that it covers the concepts of 'recipient' and 'beneficiary'.
1911 Thus, John would be the &%destination in the following proposition:     1921 Thus, John would be the &%destination in the following proposition:
1912 Tom gave a book to John.")     1922 Tom gave a book to John.")
1913     1923
1914 (instance experiencer CaseRole)     1924 (instance experiencer CaseRole)
1915 (domain experiencer 1 Process)     1925 (domain experiencer 1 Process)
1916 (domain experiencer 2 Agent)     1926 (domain experiencer 2 Agent)
1917 (documentation experiencer "(&%experiencer ?PROCESS ?AGENT) means     1927 (documentation experiencer "(&%experiencer ?PROCESS ?AGENT) means
1918 that ?AGENT experiences the &%Process ?PROCESS. For example, Yojo     1928 that ?AGENT experiences the &%Process ?PROCESS. For example, Yojo
1919 is the &%experiencer of seeing in the following proposition: Yojo     1929 is the &%experiencer of seeing in the following proposition: Yojo
1920 sees the fish. Note that &%experiencer, unlike &%agent, does     1930 sees the fish. Note that &%experiencer, unlike &%agent, does
1921 not entail a causal relation between its arguments.")     1931 not entail a causal relation between its arguments.")
1922     1932
1923 (subrelation instrument patient)     1933 (subrelation instrument patient)
1924 (domain instrument 1 Process)     1934 (domain instrument 1 Process)
1925 (domain instrument 2 Object)     1935 (domain instrument 2 Object)
1926 (documentation instrument "(instrument ?EVENT ?TOOL) means that ?TOOL     1936 (documentation instrument "(instrument ?EVENT ?TOOL) means that ?TOOL
1927 is used by an agent in bringing about ?EVENT and that ?TOOL is not     1937 is used by an agent in bringing about ?EVENT and that ?TOOL is not
1928 changed by ?EVENT. For example, the key is an &%instrument in the     1938 changed by ?EVENT. For example, the key is an &%instrument in the
1929 following proposition: The key opened the door. Note that &%instrument     1939 following proposition: The key opened the door. Note that &%instrument
1930 and &%resource cannot be satisfied by the same ordered pair.")     1940 and &%resource cannot be satisfied by the same ordered pair.")
1931     1941
1932 (instance origin CaseRole)     1942 (instance origin CaseRole)
1933 (domain origin 1 Process)     1943 (domain origin 1 Process)
1934 (domain origin 2 Object)     1944 (domain origin 2 Object)
1935 (documentation origin "(&%origin ?PROCESS ?SOURCE) means that ?SOURCE     1945 (documentation origin "(&%origin ?PROCESS ?SOURCE) means that ?SOURCE
1936 indicates where the ?Process began. Note that this relation implies     1946 indicates where the ?Process began. Note that this relation implies
1937 that ?SOURCE is present at the beginning of the process, but need not     1947 that ?SOURCE is present at the beginning of the process, but need not
1938 participate throughout the process. For example, the submarine is the     1948 participate throughout the process. For example, the submarine is the
1939 &%origin in the following proposition: the missile was launched from a     1949 &%origin in the following proposition: the missile was launched from a
1940 submarine.")     1950 submarine.")
1941     1951
1942 (instance patient CaseRole)     1952 (instance patient CaseRole)
1943 (domain patient 1 Process)     1953 (domain patient 1 Process)
1944 (domain patient 2 Entity)     1954 (domain patient 2 Entity)
1945 (documentation patient "(&%patient ?PROCESS ?ENTITY) means that ?ENTITY     1955 (documentation patient "(&%patient ?PROCESS ?ENTITY) means that ?ENTITY
1946 is a participant in ?PROCESS that may be moved, said, experienced, etc.     1956 is a participant in ?PROCESS that may be moved, said, experienced, etc.
1947 For example, the direct objects in the sentences 'The cat swallowed the     1957 For example, the direct objects in the sentences 'The cat swallowed the
1948 canary' and 'Billy likes the beer' would be examples of &%patients. Note     1958 canary' and 'Billy likes the beer' would be examples of &%patients. Note
1949 that the &%patient of a &%Process may or may not undergo structural     1959 that the &%patient of a &%Process may or may not undergo structural
1950 change as a result of the &%Process. The &%CaseRole of &%patient is used     1960 change as a result of the &%Process. The &%CaseRole of &%patient is used
1951 when one wants to specify as broadly as possible the object of a     1961 when one wants to specify as broadly as possible the object of a
1952 &%Process.")     1962 &%Process.")
1953     1963
1954 (subrelation resource patient)     1964 (subrelation resource patient)
1955 (domain resource 1 Process)     1965 (domain resource 1 Process)
1956 (domain resource 2 Object)     1966 (domain resource 2 Object)
1957 (disjointRelation resource result instrument)     1967 (disjointRelation resource result instrument)
1958 (documentation resource "(&%resource ?PROCESS ?RESOURCE) means that     1968 (documentation resource "(&%resource ?PROCESS ?RESOURCE) means that
1959 ?RESOURCE is present at the beginning of ?PROCESS, is used by ?PROCESS,     1969 ?RESOURCE is present at the beginning of ?PROCESS, is used by ?PROCESS,
1960 and as a consequence is changed by ?PROCESS. For example, soap is a     1970 and as a consequence is changed by ?PROCESS. For example, soap is a
1961 &%resource in the following proposition: the gun was carved out of soap.     1971 &%resource in the following proposition: the gun was carved out of soap.
1962 Note that &%resource differs from &%instrument, another subrelation of     1972 Note that &%resource differs from &%instrument, another subrelation of
1963 &%patient, in that its internal or physical properties are altered in     1973 &%patient, in that its internal or physical properties are altered in
1964 some way by the &%Process.")     1974 some way by the &%Process.")
1965     1975
1966 (subrelation result patient)     1976 (subrelation result patient)
1967 (domain result 1 Process)     1977 (domain result 1 Process)
1968 (domain result 2 Entity)     1978 (domain result 2 Entity)
1969 (documentation result "(result ?ACTION ?OUTPUT) means that ?OUTPUT is     1979 (documentation result "(result ?ACTION ?OUTPUT) means that ?OUTPUT is
1970 a product of ?ACTION. For example, house is a &%result in the     1980 a product of ?ACTION. For example, house is a &%result in the
1971 following proposition: Eric built a house.")     1981 following proposition: Eric built a house.")
1972     1982
1973 (instance InheritableRelation Class)     1983 (instance InheritableRelation Class)
1974 (documentation InheritableRelation "This is a &%Class of &%Classes. Each     1984 (documentation InheritableRelation "This is a &%Class of &%Classes. Each
1975 &%instance of &%InheritableRelation is a &%subclass of &%Relation whose     1985 &%instance of &%InheritableRelation is a &%subclass of &%Relation whose
1976 properties can be inherited downward in the class hierarchy via the     1986 properties can be inherited downward in the class hierarchy via the
1977 &%subrelation &%Predicate.")     1987 &%subrelation &%Predicate.")
1978     1988
1979 (subclass ProbabilityRelation Relation)     1989 (subclass ProbabilityRelation Relation)
1980 (instance ProbabilityRelation InheritableRelation)     1990 (instance ProbabilityRelation InheritableRelation)
1981 (documentation ProbabilityRelation "The &%Class of &%Relations that     1991 (documentation ProbabilityRelation "The &%Class of &%Relations that
1982 permit assessment of the probability of an event or situation.")     1992 permit assessment of the probability of an event or situation.")
1983     1993
1984 (instance ProbabilityFn ProbabilityRelation)     1994 (instance ProbabilityFn ProbabilityRelation)
1985 (instance ProbabilityFn TotalValuedRelation)     1995 (instance ProbabilityFn TotalValuedRelation)
1986 (instance ProbabilityFn UnaryFunction)     1996 (instance ProbabilityFn UnaryFunction)
1987 (domain ProbabilityFn 1 Formula)     1997 (domain ProbabilityFn 1 Formula)
1988 (range ProbabilityFn RealNumber)     1998 (range ProbabilityFn RealNumber)
1989 (instance ProbabilityFn AsymmetricRelation)     1999 (instance ProbabilityFn AsymmetricRelation)
1990 (documentation ProbabilityFn "One of the basic &%ProbabilityRelations,     2000 (documentation ProbabilityFn "One of the basic &%ProbabilityRelations,
1991 &%ProbabilityFn is used to state the a priori probability of a state of     2001 &%ProbabilityFn is used to state the a priori probability of a state of
1992 affairs. (&%ProbabilityFn ?FORMULA) denotes the a priori probability     2002 affairs. (&%ProbabilityFn ?FORMULA) denotes the a priori probability
1993 of ?FORMULA.")     2003 of ?FORMULA.")
1994     2004
1995 (instance conditionalProbability ProbabilityRelation)     2005 (instance conditionalProbability ProbabilityRelation)
1996 (instance conditionalProbability TernaryPredicate)     2006 (instance conditionalProbability TernaryPredicate)
1997 (domain conditionalProbability 1 Formula)     2007 (domain conditionalProbability 1 Formula)
1998 (domain conditionalProbability 2 Formula)     2008 (domain conditionalProbability 2 Formula)
1999 (domain conditionalProbability 3 RealNumber)     2009 (domain conditionalProbability 3 RealNumber)
2000 (documentation conditionalProbability "One of the basic &%ProbabilityRelations.     2010 (documentation conditionalProbability "One of the basic &%ProbabilityRelations.
2001 &%conditionalProbability is used to state the numeric value of a conditional     2011 &%conditionalProbability is used to state the numeric value of a conditional
2002 probability. (&%conditionalProbability ?FORMULA1 ?FORMULA2 ?NUMBER) means     2012 probability. (&%conditionalProbability ?FORMULA1 ?FORMULA2 ?NUMBER) means
2003 that the probability of ?FORMULA2 being true given that ?FORMULA1 is true is     2013 that the probability of ?FORMULA2 being true given that ?FORMULA1 is true is
2004 ?NUMBER.")     2014 ?NUMBER.")
2005     2015
2006 (instance increasesLikelihood ProbabilityRelation)     2016 (instance increasesLikelihood ProbabilityRelation)
2007 (instance increasesLikelihood BinaryPredicate)     2017 (instance increasesLikelihood BinaryPredicate)
2008 (instance increasesLikelihood IrreflexiveRelation)     2018 (instance increasesLikelihood IrreflexiveRelation)
2009 (domain increasesLikelihood 1 Formula)     2019 (domain increasesLikelihood 1 Formula)
2010 (domain increasesLikelihood 2 Formula)     2020 (domain increasesLikelihood 2 Formula)
2011 (disjointRelation increasesLikelihood decreasesLikelihood independentProbability)     2021 (disjointRelation increasesLikelihood decreasesLikelihood independentProbability)
2012 (documentation increasesLikelihood "One of the basic &%ProbabilityRelations.     2022 (documentation increasesLikelihood "One of the basic &%ProbabilityRelations.
2013 (&%increasesLikelihood ?FORMULA1 ?FORMULA2) means that ?FORMULA2 is more     2023 (&%increasesLikelihood ?FORMULA1 ?FORMULA2) means that ?FORMULA2 is more
2014 likely to be true if ?FORMULA1 is true.")     2024 likely to be true if ?FORMULA1 is true.")
2015     2025
2016 (=>     2026 (=>
2017    (and     2027    (and
2018       (increasesLikelihood ?FORMULA1 ?FORMULA2)     2028       (increasesLikelihood ?FORMULA1 ?FORMULA2)
2019       (equal (ProbabilityFn ?FORMULA2) ?NUMBER1)     2029       (equal (ProbabilityFn ?FORMULA2) ?NUMBER1)
2020       (conditionalProbability ?FORMULA1 ?FORMULA2 ?NUMBER2))     2030       (conditionalProbability ?FORMULA1 ?FORMULA2 ?NUMBER2))
2021    (greaterThan ?NUMBER2 ?NUMBER1))     2031    (greaterThan ?NUMBER2 ?NUMBER1))
2022     2032
2023 (instance decreasesLikelihood ProbabilityRelation)     2033 (instance decreasesLikelihood ProbabilityRelation)
2024 (instance decreasesLikelihood BinaryPredicate)     2034 (instance decreasesLikelihood BinaryPredicate)
2025 (instance decreasesLikelihood IrreflexiveRelation)     2035 (instance decreasesLikelihood IrreflexiveRelation)
2026 (domain decreasesLikelihood 1 Formula)     2036 (domain decreasesLikelihood 1 Formula)
2027 (domain decreasesLikelihood 2 Formula)     2037 (domain decreasesLikelihood 2 Formula)
2028 (documentation decreasesLikelihood "One of the basic &%ProbabilityRelations.     2038 (documentation decreasesLikelihood "One of the basic &%ProbabilityRelations.
2029 (&%decreasesLikelihood ?FORMULA1 ?FORMULA2) means that ?FORMULA2 is less     2039 (&%decreasesLikelihood ?FORMULA1 ?FORMULA2) means that ?FORMULA2 is less
2030 likely to be true if ?FORMULA1 is true.")     2040 likely to be true if ?FORMULA1 is true.")
2031     2041
2032 (=>     2042 (=>
2033    (and     2043    (and
2034       (decreasesLikelihood ?FORMULA1 ?FORMULA2)     2044       (decreasesLikelihood ?FORMULA1 ?FORMULA2)
2035       (equal (ProbabilityFn ?FORMULA2) ?NUMBER1)     2045       (equal (ProbabilityFn ?FORMULA2) ?NUMBER1)
2036       (conditionalProbability ?FORMULA1 ?FORMULA2 ?NUMBER2))     2046       (conditionalProbability ?FORMULA1 ?FORMULA2 ?NUMBER2))
2037    (lessThan ?NUMBER2 ?NUMBER1))     2047    (lessThan ?NUMBER2 ?NUMBER1))
2038     2048
2039 (instance independentProbability ProbabilityRelation)     2049 (instance independentProbability ProbabilityRelation)
2040 (instance independentProbability BinaryPredicate)     2050 (instance independentProbability BinaryPredicate)
2041 (instance independentProbability SymmetricRelation)     2051 (instance independentProbability SymmetricRelation)
2042 (domain independentProbability 1 Formula)     2052 (domain independentProbability 1 Formula)
2043 (domain independentProbability 2 Formula)     2053 (domain independentProbability 2 Formula)
2044 (documentation independentProbability "One of the basic &%ProbabilityRelations.     2054 (documentation independentProbability "One of the basic &%ProbabilityRelations.
2045 (&%independentProbability ?FORMULA1 ?FORMULA2) means that the probabilities of     2055 (&%independentProbability ?FORMULA1 ?FORMULA2) means that the probabilities of
2046 ?FORMULA1 and ?FORMULA2 being true are independent.")     2056 ?FORMULA1 and ?FORMULA2 being true are independent.")
2047     2057
2048 (=>     2058 (=>
2049    (and     2059    (and
2050       (independentProbability ?FORMULA1 ?FORMULA2)     2060       (independentProbability ?FORMULA1 ?FORMULA2)
2051       (equal (ProbabilityFn ?FORMULA2) ?NUMBER1)     2061       (equal (ProbabilityFn ?FORMULA2) ?NUMBER1)
2052       (conditionalProbability ?FORMULA1 ?FORMULA2 ?NUMBER2))     2062       (conditionalProbability ?FORMULA1 ?FORMULA2 ?NUMBER2))
2053    (equal ?NUMBER2 ?NUMBER1))     2063    (equal ?NUMBER2 ?NUMBER1))
2054     2064
2055 (=>     2065 (=>
2056    (and     2066    (and
2057       (instance ?FORMULA1 Formula)     2067       (instance ?FORMULA1 Formula)
2058       (instance ?FORMULA2 Formula))     2068       (instance ?FORMULA2 Formula))
2059    (or     2069    (or
2060       (increasesLikelihood ?FORMULA1 ?FORMULA2)     2070       (increasesLikelihood ?FORMULA1 ?FORMULA2)
2061       (decreasesLikelihood ?FORMULA1 ?FORMULA2)     2071       (decreasesLikelihood ?FORMULA1 ?FORMULA2)
2062       (independentProbability ?FORMULA1 ?FORMULA2)))     2072       (independentProbability ?FORMULA1 ?FORMULA2)))
2063     2073
2064 (subclass SpatialRelation Relation)     2074 (subclass SpatialRelation Relation)
2065 (instance SpatialRelation InheritableRelation)     2075 (instance SpatialRelation InheritableRelation)
2066 (documentation SpatialRelation "The &%Class of &%Relations that are     2076 (documentation SpatialRelation "The &%Class of &%Relations that are
2067 spatial in a wide sense. This &%Class includes mereological relations     2077 spatial in a wide sense. This &%Class includes mereological relations
2068 and topological relations.")     2078 and topological relations.")
2069     2079
2070 (subclass TemporalRelation Relation)     2080 (subclass TemporalRelation Relation)
2071 (instance TemporalRelation InheritableRelation)     2081 (instance TemporalRelation InheritableRelation)
2072 (documentation TemporalRelation "The &%Class of temporal &%Relations.     2082 (documentation TemporalRelation "The &%Class of temporal &%Relations.
2073 This &%Class includes notions of (temporal) topology of intervals,     2083 This &%Class includes notions of (temporal) topology of intervals,
2074 (temporal) schemata, and (temporal) extension.")     2084 (temporal) schemata, and (temporal) extension.")
2075     2085
2076 (instance IntentionalRelation InheritableRelation)     2086 (instance IntentionalRelation InheritableRelation)
2077 (documentation IntentionalRelation "The &%Class of &%Relations between     2087 (documentation IntentionalRelation "The &%Class of &%Relations between
2078 an &%Agent and one or more &%Entities, where the &%Relation requires that     2088 an &%Agent and one or more &%Entities, where the &%Relation requires that
2079 the &%Agent have awareness of the &%Entity.")     2089 the &%Agent have awareness of the &%Entity.")
2080     2090
2081 (=>     2091 (=>
2082    (and     2092    (and
2083       (instance ?REL IntentionalRelation)     2093       (instance ?REL IntentionalRelation)
2084       (holds ?REL ?AGENT @ROW)     2094       (holds ?REL ?AGENT @ROW)
2085       (inList ?OBJ (ListFn @ROW)))     2095       (inList ?OBJ (ListFn @ROW)))
2086    (inScopeOfInterest ?AGENT ?OBJ))     2096    (inScopeOfInterest ?AGENT ?OBJ))
2087     2097
2088 (instance prefers TernaryPredicate)     2098 (instance prefers TernaryPredicate)
2089 (instance prefers IntentionalRelation)     2099 (instance prefers IntentionalRelation)
2090 (domain prefers 1 CognitiveAgent)     2100 (domain prefers 1 CognitiveAgent)
2091 (domain prefers 2 Formula)     2101 (domain prefers 2 Formula)
2092 (domain prefers 3 Formula)     2102 (domain prefers 3 Formula)
2093 (documentation prefers "(&%prefers ?AGENT ?FORMULA1 ?FORMULA2) means that     2103 (documentation prefers "(&%prefers ?AGENT ?FORMULA1 ?FORMULA2) means that
2094 &%CognitiveAgent ?AGENT prefers the state of affairs expressed by ?FORMULA1     2104 &%CognitiveAgent ?AGENT prefers the state of affairs expressed by ?FORMULA1
2095 over the state of affairs expressed by ?FORMULA2 all things being equal.")     2105 over the state of affairs expressed by ?FORMULA2 all things being equal.")
2096     2106
2097 (=>     2107 (=>
2098    (prefers ?AGENT ?FORMULA1 ?FORMULA2)     2108    (prefers ?AGENT ?FORMULA1 ?FORMULA2)
2099    (not (and     2109    (not (and
2100       (true ?FORMULA1 True)     2110       (true ?FORMULA1 True)
2101       (true ?FORMULA2 True))))     2111       (true ?FORMULA2 True))))
2102     2112
2103 (subclass PropositionalAttitude IntentionalRelation)     2113 (subclass PropositionalAttitude IntentionalRelation)
2104 (subclass PropositionalAttitude AsymmetricRelation)     2114 (subclass PropositionalAttitude AsymmetricRelation)
2105 (instance PropositionalAttitude InheritableRelation)     2115 (instance PropositionalAttitude InheritableRelation)
2106 (documentation PropositionalAttitude "The &%Class of     2116 (documentation PropositionalAttitude "The &%Class of
2107 &%IntentionalRelations where the &%Agent has awareness of a     2117 &%IntentionalRelations where the &%Agent has awareness of a
2108 &%Proposition.")     2118 &%Proposition.")
2109     2119
2110 (subclass ObjectAttitude IntentionalRelation)     2120 (subclass ObjectAttitude IntentionalRelation)
2111 (instance ObjectAttitude InheritableRelation)     2121 (instance ObjectAttitude InheritableRelation)
2112 (disjoint ObjectAttitude PropositionalAttitude)     2122 (disjoint ObjectAttitude PropositionalAttitude)
2113 (documentation ObjectAttitude "The &%Class of &%IntentionalRelations     2123 (documentation ObjectAttitude "The &%Class of &%IntentionalRelations
2114 where the &%Agent has awareness of an instance of &%Physical.")     2124 where the &%Agent has awareness of an instance of &%Physical.")
2115     2125
2116 (instance inScopeOfInterest BinaryPredicate)     2126 (instance inScopeOfInterest BinaryPredicate)
2117 (instance inScopeOfInterest IntentionalRelation)     2127 (instance inScopeOfInterest IntentionalRelation)
2118 (domain inScopeOfInterest 1 CognitiveAgent)     2128 (domain inScopeOfInterest 1 CognitiveAgent)
2119 (domain inScopeOfInterest 2 Entity)     2129 (domain inScopeOfInterest 2 Entity)
2120 (documentation inScopeOfInterest "A very general &%Predicate.     2130 (documentation inScopeOfInterest "A very general &%Predicate.
2121 (&%inScopeOfInterest ?AGENT ?ENTITY) means that ?ENTITY is within the     2131 (&%inScopeOfInterest ?AGENT ?ENTITY) means that ?ENTITY is within the
2122 scope of interest of ?AGENT. Note that the interest indicated can be     2132 scope of interest of ?AGENT. Note that the interest indicated can be
2123 either positive or negative, i.e. the ?AGENT can have an interest in     2133 either positive or negative, i.e. the ?AGENT can have an interest in
2124 avoiding or promoting ?ENTITY.")     2134 avoiding or promoting ?ENTITY.")
2125     2135
2126 (instance notices ObjectAttitude)     2136 (instance notices ObjectAttitude)
2127 (subrelation notices inScopeOfInterest)     2137 (subrelation notices inScopeOfInterest)
2128 (domain notices 1 CognitiveAgent)     2138 (domain notices 1 CognitiveAgent)
2129 (domain notices 2 Object)     2139 (domain notices 2 Object)
2130 (documentation notices "(&%notices ?AGENT ?OBJECT) means that ?AGENT is     2140 (documentation notices "(&%notices ?AGENT ?OBJECT) means that ?AGENT is
2131 paying attention to ?OBJECT, that ?OBJECT is currently the object of     2141 paying attention to ?OBJECT, that ?OBJECT is currently the object of
2132 ?AGENT's conscious awareness.")     2142 ?AGENT's conscious awareness.")
2133     2143
2134 (instance needs ObjectAttitude)     2144 (instance needs ObjectAttitude)
2135 (subrelation needs inScopeOfInterest)     2145 (subrelation needs inScopeOfInterest)
2136 (domain needs 1 CognitiveAgent)     2146 (domain needs 1 CognitiveAgent)
2137 (domain needs 2 Object)     2147 (domain needs 2 Object)
2138 (documentation needs "(&%needs ?AGENT ?OBJECT) means that ?OBJECT is     2148 (documentation needs "(&%needs ?AGENT ?OBJECT) means that ?OBJECT is
2139 physically required for the continued existence of ?AGENT.")     2149 physically required for the continued existence of ?AGENT.")
2140     2150
2141 (=>     2151 (=>
2142     (needs ?AGENT ?OBJECT)     2152     (needs ?AGENT ?OBJECT)
2143     (wants ?AGENT ?OBJECT))     2153     (wants ?AGENT ?OBJECT))
2144     2154
2145 (instance wants ObjectAttitude)     2155 (instance wants ObjectAttitude)
2146 (subrelation wants inScopeOfInterest)     2156 (subrelation wants inScopeOfInterest)
2147 (relatedInternalConcept wants desires)     2157 (relatedInternalConcept wants desires)
2148 (domain wants 1 CognitiveAgent)     2158 (domain wants 1 CognitiveAgent)
2149 (domain wants 2 Object)     2159 (domain wants 2 Object)
2150 (documentation wants "(&%wants ?AGENT ?OBJECT) means that ?OBJECT is desired by ?AGENT,     2160 (documentation wants "(&%wants ?AGENT ?OBJECT) means that ?OBJECT is desired by ?AGENT,
2151 i.e. ?AGENT believes that ?OBJECT will satisfy one of its goals. Note that there is     2161 i.e. ?AGENT believes that ?OBJECT will satisfy one of its goals. Note that there is
2152 no implication that what is wanted by an agent is not already possessed by the agent.")     2162 no implication that what is wanted by an agent is not already possessed by the agent.")
2153     2163
2154 (=>     2164 (=>
2155    (wants ?AGENT ?OBJ)     2165    (wants ?AGENT ?OBJ)
2156    (exists (?PURP)     2166    (exists (?PURP)
2157       (hasPurposeForAgent ?OBJ ?PURP ?AGENT)))     2167       (hasPurposeForAgent ?OBJ ?PURP ?AGENT)))
2158     2168
2159 (=>     2169 (=>
2160    (wants ?AGENT ?OBJ)     2170    (wants ?AGENT ?OBJ)
2161    (desires ?AGENT (possesses ?AGENT ?OBJ)))     2171    (desires ?AGENT (possesses ?AGENT ?OBJ)))
2162     2172
2163 (instance desires PropositionalAttitude)     2173 (instance desires PropositionalAttitude)
2164 (subrelation desires inScopeOfInterest)     2174 (subrelation desires inScopeOfInterest)
2165 (relatedInternalConcept desires wants)     2175 (relatedInternalConcept desires wants)
2166 (domain desires 1 CognitiveAgent)     2176 (domain desires 1 CognitiveAgent)
2167 (domain desires 2 Formula)     2177 (domain desires 2 Formula)
2168 (documentation desires "(&%desires ?AGENT ?FORMULA) means that ?AGENT wants     2178 (documentation desires "(&%desires ?AGENT ?FORMULA) means that ?AGENT wants
2169 to bring about the state of affairs expressed by ?FORMULA. Note that there     2179 to bring about the state of affairs expressed by ?FORMULA. Note that there
2170 is no implication that what is desired by the agent is not already true.     2180 is no implication that what is desired by the agent is not already true.
2171 Note too that &%desires is distinguished from &%wants only in that the former     2181 Note too that &%desires is distinguished from &%wants only in that the former
2172 is a &%PropositionalAttitude, while &%wants is an &%ObjectAttitude.")     2182 is a &%PropositionalAttitude, while &%wants is an &%ObjectAttitude.")
2173     2183
2174 (instance considers PropositionalAttitude)     2184 (instance considers PropositionalAttitude)
2175 (subrelation considers inScopeOfInterest)     2185 (subrelation considers inScopeOfInterest)
2176 (domain considers 1 CognitiveAgent)     2186 (domain considers 1 CognitiveAgent)
2177 (domain considers 2 Formula)     2187 (domain considers 2 Formula)
2178 (documentation considers "(&%considers ?AGENT ?FORMULA) means that ?AGENT     2188 (documentation considers "(&%considers ?AGENT ?FORMULA) means that ?AGENT
2179 considers or wonders about the truth of the proposition expressed by     2189 considers or wonders about the truth of the proposition expressed by
2180 ?FORMULA.")     2190 ?FORMULA.")
2181     2191
2182 (instance believes PropositionalAttitude)     2192 (instance believes PropositionalAttitude)
2183 (subrelation believes inScopeOfInterest)     2193 (subrelation believes inScopeOfInterest)
2184 (domain believes 1 CognitiveAgent)     2194 (domain believes 1 CognitiveAgent)
2185 (domain believes 2 Formula)     2195 (domain believes 2 Formula)
2186 (documentation believes "The epistemic predicate of belief.     2196 (documentation believes "The epistemic predicate of belief.
2187 (&%believes ?AGENT ?FORMULA) means that ?AGENT believes the proposition     2197 (&%believes ?AGENT ?FORMULA) means that ?AGENT believes the proposition
2188 expressed by ?FORMULA.")     2198 expressed by ?FORMULA.")
2189     2199
2190 (=>     2200 (=>
2191    (believes ?AGENT ?FORMULA)     2201    (believes ?AGENT ?FORMULA)
2192    (exists (?TIME)     2202    (exists (?TIME)
2193       (holdsDuring ?TIME (considers ?AGENT ?FORMULA))))     2203       (holdsDuring ?TIME (considers ?AGENT ?FORMULA))))
2194     2204
2195 (instance knows PropositionalAttitude)     2205 (instance knows PropositionalAttitude)
2196 (subrelation knows inScopeOfInterest)     2206 (subrelation knows inScopeOfInterest)
2197 (domain knows 1 CognitiveAgent)     2207 (domain knows 1 CognitiveAgent)
2198 (domain knows 2 Formula)     2208 (domain knows 2 Formula)
2199 (documentation knows "The epistemic predicate of knowing. (&%knows     2209 (documentation knows "The epistemic predicate of knowing. (&%knows
2200 ?AGENT ?FORMULA) means that ?AGENT knows the proposition expressed by     2210 ?AGENT ?FORMULA) means that ?AGENT knows the proposition expressed by
2201 ?FORMULA. Note that &%knows entails conscious awareness, so this     2211 ?FORMULA. Note that &%knows entails conscious awareness, so this
2202 &%Predicate cannot be used to express tacit or subconscious or     2212 &%Predicate cannot be used to express tacit or subconscious or
2203 unconscious knowledge.")     2213 unconscious knowledge.")
2204     2214
2205 (=>     2215 (=>
2206     (knows ?AGENT ?FORMULA)     2216     (knows ?AGENT ?FORMULA)
2207     (believes ?AGENT ?FORMULA))     2217     (believes ?AGENT ?FORMULA))
2208     2218
2209 (=>     2219 (=>
2210    (knows ?AGENT ?FORMULA)     2220    (knows ?AGENT ?FORMULA)
2211    (true ?FORMULA True))     2221    (true ?FORMULA True))
2212     2222
2213 (subclass TernaryRelation Relation)     2223 (subclass TernaryRelation Relation)
2214 (instance TernaryRelation InheritableRelation)     2224 (instance TernaryRelation InheritableRelation)
2215 (documentation TernaryRelation "&%TernaryRelations relate three items.     2225 (documentation TernaryRelation "&%TernaryRelations relate three items.
2216 The two &%subclasses of &%TernaryRelation are &%TernaryPredicate and     2226 The two &%subclasses of &%TernaryRelation are &%TernaryPredicate and
2217 &%BinaryFunction.")     2227 &%BinaryFunction.")
2218     2228
2219 (=>     2229 (=>
2220    (instance ?REL TernaryRelation)     2230    (instance ?REL TernaryRelation)
2221    (not     2231    (not
2222       (exists (?ITEM1 ?ITEM2 ?ITEM3 ?ITEM4 @ROW)     2232       (exists (?ITEM1 ?ITEM2 ?ITEM3 ?ITEM4 @ROW)
2223          (holds ?REL ?ITEM1 ?ITEM2 ?ITEM3 ?ITEM4 @ROW))))     2233          (holds ?REL ?ITEM1 ?ITEM2 ?ITEM3 ?ITEM4 @ROW))))
2224     2234
2225 (subclass QuaternaryRelation Relation)     2235 (subclass QuaternaryRelation Relation)
2226 (instance QuaternaryRelation InheritableRelation)     2236 (instance QuaternaryRelation InheritableRelation)
2227 (documentation QuaternaryRelation "&%QuaternaryRelations relate four     2237 (documentation QuaternaryRelation "&%QuaternaryRelations relate four
2228 items. The two &%subclasses of &%QuaternaryRelation are     2238 items. The two &%subclasses of &%QuaternaryRelation are
2229 &%QuaternaryPredicate and &%TernaryFunction.")     2239 &%QuaternaryPredicate and &%TernaryFunction.")
2230     2240
2231 (=>     2241 (=>
2232    (instance ?REL QuaternaryRelation)     2242    (instance ?REL QuaternaryRelation)
2233    (not     2243    (not
2234       (exists (?ITEM1 ?ITEM2 ?ITEM3 ?ITEM4 ?ITEM5 @ROW)     2244       (exists (?ITEM1 ?ITEM2 ?ITEM3 ?ITEM4 ?ITEM5 @ROW)
2235          (holds ?REL ?ITEM1 ?ITEM2 ?ITEM3 ?ITEM4 ?ITEM5 @ROW))))     2245          (holds ?REL ?ITEM1 ?ITEM2 ?ITEM3 ?ITEM4 ?ITEM5 @ROW))))
2236     2246
2237 (subclass QuintaryRelation Relation)     2247 (subclass QuintaryRelation Relation)
2238 (instance QuintaryRelation InheritableRelation)     2248 (instance QuintaryRelation InheritableRelation)
2239 (documentation QuintaryRelation "&%QuintaryRelations relate five items.     2249 (documentation QuintaryRelation "&%QuintaryRelations relate five items.
2240 The two &%subclasses of &%QuintaryRelation are &%QuintaryPredicate and     2250 The two &%subclasses of &%QuintaryRelation are &%QuintaryPredicate and
2241 &%QuaternaryFunction.")     2251 &%QuaternaryFunction.")
2242     2252
2243 (=>     2253 (=>
2244    (instance ?REL QuintaryRelation)     2254    (instance ?REL QuintaryRelation)
2245    (not     2255    (not
2246       (exists (?ITEM1 ?ITEM2 ?ITEM3 ?ITEM4 ?ITEM5 ?ITEM6 @ROW)     2256       (exists (?ITEM1 ?ITEM2 ?ITEM3 ?ITEM4 ?ITEM5 ?ITEM6 @ROW)
2247          (holds ?REL ?ITEM1 ?ITEM2 ?ITEM3 ?ITEM4 ?ITEM5 ?ITEM6 @ROW))))     2257          (holds ?REL ?ITEM1 ?ITEM2 ?ITEM3 ?ITEM4 ?ITEM5 ?ITEM6 @ROW))))
2248     2258
2249 (subclass List Relation)     2259 (subclass List Relation)
2250 (documentation List "Every &%List is a particular ordered n-tuple of     2260 (documentation List "Every &%List is a particular ordered n-tuple of
2251 items. Generally speaking, &%Lists are created by means of the &%ListFn     2261 items. Generally speaking, &%Lists are created by means of the &%ListFn
2252 &%Function, which takes any number of items as arguments and returns a     2262 &%Function, which takes any number of items as arguments and returns a
2253 &%List with the items in the same order. Anything, including other     2263 &%List with the items in the same order. Anything, including other
2254 &%Lists, may be an item in a &%List. Note too that &%Lists are     2264 &%Lists, may be an item in a &%List. Note too that &%Lists are
2255 extensional - two lists that have the same items in the same order are     2265 extensional - two lists that have the same items in the same order are
2256 identical. Note too that a &%List may contain no items. In that case,     2266 identical. Note too that a &%List may contain no items. In that case,
2257 the &%List is the &%NullList.")     2267 the &%List is the &%NullList.")
2258     2268
2259 (=>     2269 (=>
2260    (instance ?LIST List)     2270    (instance ?LIST List)
2261    (exists (?NUMBER1)     2271    (exists (?NUMBER1)
2262       (exists (?ITEM1)     2272       (exists (?ITEM1)
2263          (and     2273          (and
2264             (not (equal (ListOrderFn ?LIST ?NUMBER1) ?ITEM1))     2274             (not (equal (ListOrderFn ?LIST ?NUMBER1) ?ITEM1))
2265             (forall (?NUMBER2)     2275             (forall (?NUMBER2)
2266                (=>     2276                (=>
2267                   (and     2277                   (and
2268                      (instance ?NUMBER2 PositiveInteger)     2278                      (instance ?NUMBER2 PositiveInteger)
2269                      (lessThan ?NUMBER2 ?NUMBER1))     2279                      (lessThan ?NUMBER2 ?NUMBER1))
2270                   (exists (?ITEM2)     2280                   (exists (?ITEM2)
2271                      (equal (ListOrderFn ?LIST ?NUMBER2) ?ITEM2))))))))     2281                      (equal (ListOrderFn ?LIST ?NUMBER2) ?ITEM2))))))))
2272     2282
2273 (subclass UniqueList List)     2283 (subclass UniqueList List)
2274 (documentation UniqueList "A &%List in which no item appears more than once,     2284 (documentation UniqueList "A &%List in which no item appears more than once,
2275 i.e. a &%List for which there are no distinct numbers ?NUMBER1 and ?NUMBER2     2285 i.e. a &%List for which there are no distinct numbers ?NUMBER1 and ?NUMBER2
2276 such that (&%ListOrderFn ?LIST ?NUMBER1) and (&%ListOrderFn ?LIST ?NUMBER2)     2286 such that (&%ListOrderFn ?LIST ?NUMBER1) and (&%ListOrderFn ?LIST ?NUMBER2)
2277 return the same value.")     2287 return the same value.")
2278     2288
2279 (<=>   3a) 2289 (=>
2280    (instance ?LIST UniqueList)     2290    (instance ?LIST UniqueList)
2281    (forall (?NUMBER1 ?NUMBER2)     2291    (forall (?NUMBER1 ?NUMBER2)
2282       (=>     2292       (=>
2283          (equal (ListOrderFn ?LIST ?NUMBER1) (ListOrderFn ?LIST ?NUMBER2))     2293          (equal (ListOrderFn ?LIST ?NUMBER1) (ListOrderFn ?LIST ?NUMBER2))
2284          (equal ?NUMBER1 ?NUMBER2))))     2294          (equal ?NUMBER1 ?NUMBER2))))
2285     2295
2286 (instance NullList List)     2296 (instance NullList List)
2287 (documentation NullList "The &%List that has no items. The uniqueness of     2297 (documentation NullList "The &%List that has no items. The uniqueness of
2288 &%NullList follows from the extensionality of &%Lists, i.e. the fact that     2298 &%NullList follows from the extensionality of &%Lists, i.e. the fact that
2289 two &%Lists with the same items in the same order are identical.")     2299 two &%Lists with the same items in the same order are identical.")
2290     2300
2291 (<=>     2301 (<=>
2292    (equal ?LIST NullList)     2302    (equal ?LIST NullList)
2293    (and     2303    (and
2294       (instance ?LIST List)     2304       (instance ?LIST List)
2295       (not     2305       (not
2296          (exists (?ITEM)     2306          (exists (?ITEM)
2297             (inList ?ITEM ?LIST)))))     2307             (inList ?ITEM ?LIST)))))
2298     2308
2299 (instance ListFn Function)     2309 (instance ListFn Function)
2300 (instance ListFn VariableArityRelation)     2310 (instance ListFn VariableArityRelation)
2301 (instance ListFn TotalValuedRelation)     2311 (instance ListFn TotalValuedRelation)
2302 (range ListFn List)     2312 (range ListFn List)
2303 (documentation ListFn "A &%Function that takes any number of arguments and     2313 (documentation ListFn "A &%Function that takes any number of arguments and
2304 returns the &%List containing those arguments in exactly the same order.")     2314 returns the &%List containing those arguments in exactly the same order.")
2305     2315
2306 (=>     2316 (=>
2307    (exhaustiveDecomposition ?CLASS @ROW)     2317    (exhaustiveDecomposition ?CLASS @ROW)
2308    (forall (?OBJ)     2318    (forall (?OBJ)
2309       (=>     2319       (=>
2310          (instance ?OBJ ?CLASS)     2320          (instance ?OBJ ?CLASS)
2311          (exists (?ITEM)     2321          (exists (?ITEM)
2312             (and     2322             (and
2313                (inList ?ITEM (ListFn @ROW))     2323                (inList ?ITEM (ListFn @ROW))
2314                (instance ?OBJ ?ITEM))))))     2324                (instance ?OBJ ?ITEM))))))
2315     2325
2316 (=>     2326 (=>
2317    (disjointDecomposition ?CLASS @ROW)     2327    (disjointDecomposition ?CLASS @ROW)
2318    (forall (?ITEM)     2328    (forall (?ITEM)
2319       (=>     2329       (=>
2320          (inList ?ITEM (ListFn @ROW))     2330          (inList ?ITEM (ListFn @ROW))
2321          (subclass ?ITEM ?CLASS))))     2331          (subclass ?ITEM ?CLASS))))
2322     2332
2323 (=>     2333 (=>
2324    (disjointDecomposition ?CLASS @ROW)     2334    (disjointDecomposition ?CLASS @ROW)
2325    (forall (?ITEM1 ?ITEM2)     2335    (forall (?ITEM1 ?ITEM2)
2326       (=>     2336       (=>
2327          (and     2337          (and
2328             (inList ?ITEM1 (ListFn @ROW))     2338             (inList ?ITEM1 (ListFn @ROW))
2329             (inList ?ITEM2 (ListFn @ROW))     2339             (inList ?ITEM2 (ListFn @ROW))
2330             (not     2340             (not
2331                (equal ?ITEM1 ?ITEM2)))     2341                (equal ?ITEM1 ?ITEM2)))
2332          (disjoint ?ITEM1 ?ITEM2))))     2342          (disjoint ?ITEM1 ?ITEM2))))
2333     2343
2334 (instance ListOrderFn BinaryFunction)     2344 (instance ListOrderFn BinaryFunction)
2335 (instance ListOrderFn PartialValuedRelation)     2345 (instance ListOrderFn PartialValuedRelation)
2336 (domain ListOrderFn 1 List)     2346 (domain ListOrderFn 1 List)
2337 (domain ListOrderFn 2 PositiveInteger)     2347 (domain ListOrderFn 2 PositiveInteger)
2338 (range ListOrderFn Entity)     2348 (range ListOrderFn Entity)
2339 (documentation ListOrderFn "(&%ListOrderFn ?LIST ?NUMBER) denotes the item     2349 (documentation ListOrderFn "(&%ListOrderFn ?LIST ?NUMBER) denotes the item
2340 that is in the ?NUMBER position in the &%List ?LIST. For example,     2350 that is in the ?NUMBER position in the &%List ?LIST. For example,
2341 (&%ListOrderFn (&%ListFn &%Monday &%Tuesday &%Wednesday) 2) would return the     2351 (&%ListOrderFn (&%ListFn &%Monday &%Tuesday &%Wednesday) 2) would return the
2342 value &%Tuesday.")     2352 value &%Tuesday.")
2343     2353
2344 (=>     2354 (=>
2345    (and     2355    (and
2346       (instance ?LIST1 List)     2356       (instance ?LIST1 List)
2347       (instance ?LIST2 List)     2357       (instance ?LIST2 List)
2348       (forall (?NUMBER)     2358       (forall (?NUMBER)
2349          (equal (ListOrderFn ?LIST1 ?NUMBER) (ListOrderFn ?LIST2 ?NUMBER))))     2359          (equal (ListOrderFn ?LIST1 ?NUMBER) (ListOrderFn ?LIST2 ?NUMBER))))
2350    (equal ?LIST1 ?LIST2))     2360    (equal ?LIST1 ?LIST2))
2351     2361
2352 (=>     2362 (=>
2353    (and     2363    (and
2354       (domain ?REL ?NUMBER ?CLASS)     2364       (domain ?REL ?NUMBER ?CLASS)
2355       (holds ?REL @ROW))     2365       (holds ?REL @ROW))
2356    (instance (ListOrderFn (ListFn @ROW) ?NUMBER) ?CLASS))     2366    (instance (ListOrderFn (ListFn @ROW) ?NUMBER) ?CLASS))
2357     2367
2358 (=>     2368 (=>
2359    (and     2369    (and
2360       (domainSubclass ?REL ?NUMBER ?CLASS)     2370       (domainSubclass ?REL ?NUMBER ?CLASS)
2361       (holds ?REL @ROW))     2371       (holds ?REL @ROW))
2362    (subclass (ListOrderFn (ListFn @ROW) ?NUMBER) ?CLASS))     2372    (subclass (ListOrderFn (ListFn @ROW) ?NUMBER) ?CLASS))
2363     2373
2364 (instance ListLengthFn UnaryFunction)     2374 (instance ListLengthFn UnaryFunction)
2365 (instance ListLengthFn TotalValuedRelation)     2375 (instance ListLengthFn TotalValuedRelation)
2366 (domain ListLengthFn 1 List)     2376 (domain ListLengthFn 1 List)
2367 (range ListLengthFn NonnegativeInteger)     2377 (range ListLengthFn NonnegativeInteger)
2368 (documentation ListLengthFn "A &%Function that takes a &%List as its sole     2378 (documentation ListLengthFn "A &%Function that takes a &%List as its sole
2369 argument and returns the number of items in the &%List. For example,     2379 argument and returns the number of items in the &%List. For example,
2370 (&%ListLengthFn (&%ListFn &%Monday &%Tuesday &%Wednesday)) would return the     2380 (&%ListLengthFn (&%ListFn &%Monday &%Tuesday &%Wednesday)) would return the
2371 value 3.")     2381 value 3.")
2372     2382
2373 (=>     2383 (=>
2374    (and     2384    (and
2375       (equal (ListLengthFn ?LIST) ?NUMBER1)     2385       (equal (ListLengthFn ?LIST) ?NUMBER1)
2376       (instance ?LIST List)     2386       (instance ?LIST List)
2377       (instance ?NUMBER1 PositiveInteger))     2387       (instance ?NUMBER1 PositiveInteger))
2378    (forall (?NUMBER2)     2388    (forall (?NUMBER2)
2379       (<=>     2389       (<=>
2380          (exists (?ITEM)     2390          (exists (?ITEM)
2381             (and     2391             (and
2382                (equal (ListOrderFn ?LIST ?NUMBER2) ?ITEM)     2392                (equal (ListOrderFn ?LIST ?NUMBER2) ?ITEM)
2383                (inList ?ITEM ?LIST)))     2393                (inList ?ITEM ?LIST)))
2384          (lessThanOrEqualTo ?NUMBER2 ?NUMBER1))))     2394          (lessThanOrEqualTo ?NUMBER2 ?NUMBER1))))
2385     2395
2386 (equal (ListLengthFn (ListFn @ROW ?ITEM)) (SuccessorFn (ListLengthFn (ListFn @ROW))))     2396 (equal (ListLengthFn (ListFn @ROW ?ITEM)) (SuccessorFn (ListLengthFn (ListFn @ROW))))
2387     2397
2388 (equal (ListOrderFn (ListFn @ROW ?ITEM) (ListLengthFn (ListFn @ROW ?ITEM))) ?ITEM)     2398 (equal (ListOrderFn (ListFn @ROW ?ITEM) (ListLengthFn (ListFn @ROW ?ITEM))) ?ITEM)
2389     2399
2390 (=>     2400 (=>
2391    (valence ?REL ?NUMBER)     2401    (valence ?REL ?NUMBER)
2392    (forall (@ROW)     2402    (forall (@ROW)
2393       (=>     2403       (=>
2394          (holds ?REL @ROW)     2404          (holds ?REL @ROW)
2395          (equal (ListLengthFn (ListFn @ROW)) ?NUMBER))))     2405          (equal (ListLengthFn (ListFn @ROW)) ?NUMBER))))
2396     2406
2397 (=>     2407 (=>
2398    (and     2408    (and
2399       (equal (ListLengthFn ?LIST1) ?NUMBER)     2409       (equal (ListLengthFn ?LIST1) ?NUMBER)
2400       (instance ?LIST List)     2410       (instance ?LIST List)
2401       (instance ?NUMBER1 PositiveInteger))     2411       (instance ?NUMBER1 PositiveInteger))
2402    (exists (?LIST2 ?ITEM)     2412    (exists (?LIST2 ?ITEM)
2403       (and     2413       (and
2404          (initialList ?LIST1 ?LIST2)     2414          (initialList ?LIST1 ?LIST2)
2405          (equal (SuccessorFn ?NUMBER) (ListLengthFn ?LIST2))     2415          (equal (SuccessorFn ?NUMBER) (ListLengthFn ?LIST2))
2406          (equal (ListOrderFn ?LIST2 (SuccessorFn ?NUMBER)) ?ITEM))))     2416          (equal (ListOrderFn ?LIST2 (SuccessorFn ?NUMBER)) ?ITEM))))
2407     2417
2408 (instance ListConcatenateFn BinaryFunction)     2418 (instance ListConcatenateFn BinaryFunction)
2409 (instance ListConcatenateFn TotalValuedRelation)     2419 (instance ListConcatenateFn TotalValuedRelation)
2410 (domain ListConcatenateFn 1 List)     2420 (domain ListConcatenateFn 1 List)
2411 (domain ListConcatenateFn 2 List)     2421 (domain ListConcatenateFn 2 List)
2412 (range ListConcatenateFn List)     2422 (range ListConcatenateFn List)
2413 (documentation ListConcatenateFn "A &%Function that returns the concatenation     2423 (documentation ListConcatenateFn "A &%Function that returns the concatenation
2414 of the two &%Lists that are given as arguments. For example, the value of     2424 of the two &%Lists that are given as arguments. For example, the value of
2415 (&%ListConcatenateFn (&%ListFn &%Monday &%Tuesday) (&%ListFn &%Wednesday     2425 (&%ListConcatenateFn (&%ListFn &%Monday &%Tuesday) (&%ListFn &%Wednesday
2416 &%Thursday)) would be (&%ListFn &%Monday &%Tuesday &%Wednesday &%Thursday).")     2426 &%Thursday)) would be (&%ListFn &%Monday &%Tuesday &%Wednesday &%Thursday).")
2417     2427
2418 (<=>     2428 (<=>
2419    (equal ?LIST3 (ListConcatenateFn ?LIST1 ?LIST2))     2429    (equal ?LIST3 (ListConcatenateFn ?LIST1 ?LIST2))
2420    (forall (?NUMBER1 ?NUMBER2)     2430    (forall (?NUMBER1 ?NUMBER2)
2421       (=>     2431       (=>
2422          (and     2432          (and
2423             (lessThanOrEqualTo ?NUMBER1 (ListLengthFn ?LIST1))     2433             (lessThanOrEqualTo ?NUMBER1 (ListLengthFn ?LIST1))
2424             (lessThanOrEqualTo ?NUMBER2 (ListLengthFn ?LIST2))     2434             (lessThanOrEqualTo ?NUMBER2 (ListLengthFn ?LIST2))
2425             (instance ?NUMBER1 PositiveInteger)     2435             (instance ?NUMBER1 PositiveInteger)
2426             (instance ?NUMBER2 PositiveInteger))     2436             (instance ?NUMBER2 PositiveInteger))
2427          (and     2437          (and
2428             (equal (ListOrderFn ?LIST3 ?NUMBER1) (ListOrderFn ?LIST1 ?NUMBER1))     2438             (equal (ListOrderFn ?LIST3 ?NUMBER1) (ListOrderFn ?LIST1 ?NUMBER1))
2429             (equal (ListOrderFn ?LIST3 (AdditionFn (ListLengthFn ?LIST1) ?NUMBER2)) (ListOrderFn ?LIST2 ?NUMBER2))))))     2439             (equal (ListOrderFn ?LIST3 (AdditionFn (ListLengthFn ?LIST1) ?NUMBER2)) (ListOrderFn ?LIST2 ?NUMBER2))))))
2430     2440
2431 (instance inList BinaryPredicate)     2441 (instance inList BinaryPredicate)
2432 (instance inList IrreflexiveRelation)     2442 (instance inList IrreflexiveRelation)
2433 (instance inList AsymmetricRelation)     2443 (instance inList AsymmetricRelation)
2434 (domain inList 1 Entity)     2444 (domain inList 1 Entity)
2435 (domain inList 2 List)     2445 (domain inList 2 List)
2436 (documentation inList "The analog of &%element and &%instance for &%Lists.     2446 (documentation inList "The analog of &%element and &%instance for &%Lists.
2437 (&%inList ?OBJ ?LIST) means that ?OBJ is in the &%List ?LIST. For example,     2447 (&%inList ?OBJ ?LIST) means that ?OBJ is in the &%List ?LIST. For example,
2438 (&%inList &%Tuesday (&%ListFn &%Monday &%Tuesday &%Wednesday)) would be true.")     2448 (&%inList &%Tuesday (&%ListFn &%Monday &%Tuesday &%Wednesday)) would be true.")
2439     2449
2440 (=>     2450 (=>
2441    (inList ?ITEM ?LIST)     2451    (inList ?ITEM ?LIST)
2442    (exists (?NUMBER)     2452    (exists (?NUMBER)
2443       (equal (ListOrderFn ?LIST ?NUMBER) ?ITEM)))     2453       (equal (ListOrderFn ?LIST ?NUMBER) ?ITEM)))
2444     2454
2445 (instance subList BinaryPredicate)     2455 (instance subList BinaryPredicate)
2446 (instance subList PartialOrderingRelation)     2456 (instance subList PartialOrderingRelation)
2447 (domain subList 1 List)     2457 (domain subList 1 List)
2448 (domain subList 2 List)     2458 (domain subList 2 List)
2449 (documentation subList "(&%subList ?LIST1 ?LIST2) means that ?LIST1 is a     2459 (documentation subList "(&%subList ?LIST1 ?LIST2) means that ?LIST1 is a
2450 sublist of ?LIST2, i.e. every element of ?LIST1 is an element of ?LIST2 and     2460 sublist of ?LIST2, i.e. every element of ?LIST1 is an element of ?LIST2 and
2451 the elements that are common to both &%Lists have the same order in both     2461 the elements that are common to both &%Lists have the same order in both
2452 &%Lists.")     2462 &%Lists.")
2453     2463
2454 (=>     2464 (=>
2455    (subList ?LIST1 ?LIST2)     2465    (subList ?LIST1 ?LIST2)
2456    (forall (?ITEM)     2466    (forall (?ITEM)
2457       (=>     2467       (=>
2458          (inList ?ITEM ?LIST1)     2468          (inList ?ITEM ?LIST1)
2459          (inList ?ITEM ?LIST2))))     2469          (inList ?ITEM ?LIST2))))
2460     2470
2461 (=>     2471 (=>
2462    (subList ?LIST1 ?LIST2)     2472    (subList ?LIST1 ?LIST2)
2463    (exists (?NUMBER3)     2473    (exists (?NUMBER3)
2464       (forall (?ITEM)     2474       (forall (?ITEM)
2465          (=>     2475          (=>
2466             (inList ?ITEM ?LIST1)     2476             (inList ?ITEM ?LIST1)
2467             (exists (?NUMBER1 ?NUMBER2)     2477             (exists (?NUMBER1 ?NUMBER2)
2468                (and     2478                (and
2469                   (equal (ListOrderFn ?LIST1 ?NUMBER1) ?ITEM)     2479                   (equal (ListOrderFn ?LIST1 ?NUMBER1) ?ITEM)
2470                   (equal (ListOrderFn ?LIST2 ?NUMBER2) ?ITEM)     2480                   (equal (ListOrderFn ?LIST2 ?NUMBER2) ?ITEM)
2471                   (equal ?NUMBER2 (AdditionFn ?NUMBER1 ?NUMBER3))))))))     2481                   (equal ?NUMBER2 (AdditionFn ?NUMBER1 ?NUMBER3))))))))
2472     2482
2473 (instance initialList BinaryPredicate)     2483 (instance initialList BinaryPredicate)
      1 2484 (instance initialList PartialOrderingRelation)
2474 (subrelation initialList subList)     2485 (subrelation initialList subList)
2475 (documentation initialList "(&%initialList ?LIST1 ?LIST2) means that ?LIST1     2486 (documentation initialList "(&%initialList ?LIST1 ?LIST2) means that ?LIST1
2476 is a &%subList of ?LIST2 and (&%ListOrderFn ?LIST1 ?NUMBER) returns the same     2487 is a &%subList of ?LIST2 and (&%ListOrderFn ?LIST1 ?NUMBER) returns the same
2477 value as (&%ListOrderFn ?LIST2 ?NUMBER) for all of the values of ?NUMBER over     2488 value as (&%ListOrderFn ?LIST2 ?NUMBER) for all of the values of ?NUMBER over
2478 which (&%ListOrderFn ?LIST1 ?NUMBER) is defined.")     2489 which (&%ListOrderFn ?LIST1 ?NUMBER) is defined.")
2479     2490
2480 (=>     2491 (=>
2481    (initialList ?LIST1 ?LIST2)     2492    (initialList ?LIST1 ?LIST2)
2482    (forall (?NUMBER1 ?NUMBER2)     2493    (forall (?NUMBER1 ?NUMBER2)
2483       (=>     2494       (=>
2484          (and     2495          (and
2485             (equal (ListLengthFn ?LIST1) ?NUMBER1)     2496             (equal (ListLengthFn ?LIST1) ?NUMBER1)
2486             (lessThanOrEqualTo ?NUMBER2 ?NUMBER1))     2497             (lessThanOrEqualTo ?NUMBER2 ?NUMBER1))
2487          (equal (ListOrderFn ?LIST1 ?NUMBER2) (ListOrderFn ?LIST2 ?NUMBER2)))))     2498          (equal (ListOrderFn ?LIST1 ?NUMBER2) (ListOrderFn ?LIST2 ?NUMBER2)))))
2488     2499
2489 (initialList (ListFn @ROW) (ListFn @ROW ?ITEM))     2500 (initialList (ListFn @ROW) (ListFn @ROW ?ITEM))
2490     2501
2491 (subclass Predicate Relation)     2502 (subclass Predicate Relation)
2492 (instance Predicate InheritableRelation)     2503 (instance Predicate InheritableRelation)
2493 (documentation Predicate "A &%Predicate is a sentence-forming &%Relation.     2504 (documentation Predicate "A &%Predicate is a sentence-forming &%Relation.
2494 Each tuple in the &%Relation is a finite, ordered sequence of objects.     2505 Each tuple in the &%Relation is a finite, ordered sequence of objects.
2495 The fact that a particular tuple is an element of a &%Predicate is denoted     2506 The fact that a particular tuple is an element of a &%Predicate is denoted
2496 by '(*predicate* arg_1 arg_2 .. arg_n)', where the arg_i are the     2507 by '(*predicate* arg_1 arg_2 .. arg_n)', where the arg_i are the
2497 objects so related. In the case of &%BinaryPredicates, the fact can     2508 objects so related. In the case of &%BinaryPredicates, the fact can
2498 be read as `arg_1 is *predicate* arg_2' or `a *predicate* of     2509 be read as `arg_1 is *predicate* arg_2' or `a *predicate* of
2499 arg_1 is arg_2'.")     2510 arg_1 is arg_2'.")
2500     2511
2501 (subclass Function SingleValuedRelation)     2512 (subclass Function SingleValuedRelation)
2502 (instance Function InheritableRelation)     2513 (instance Function InheritableRelation)
2503 (documentation Function "A &%Function is a term-forming &%Relation that     2514 (documentation Function "A &%Function is a term-forming &%Relation that
2504 maps from a n-tuple of arguments to a range and that associates this     2515 maps from a n-tuple of arguments to a range and that associates this
2505 n-tuple with at most one range element. Note that the range is a &%SetOrClass,     2516 n-tuple with at most one range element. Note that the range is a &%SetOrClass,
2506 and each element of the range is an instance of the &%SetOrClass.")     2517 and each element of the range is an instance of the &%SetOrClass.")
2507     2518
2508 (subclass UnaryFunction Function)     2519 (subclass UnaryFunction Function)
2509 (subclass UnaryFunction BinaryRelation)     2520 (subclass UnaryFunction BinaryRelation)
2510 (instance UnaryFunction InheritableRelation)     2521 (instance UnaryFunction InheritableRelation)
2511 (documentation UnaryFunction "The &%Class of &%Functions that require a     2522 (documentation UnaryFunction "The &%Class of &%Functions that require a
2512 single argument.")     2523 single argument.")
2513     2524
2514 (=>     2525 (=>
2515    (instance ?FUNCTION UnaryFunction)     2526    (instance ?FUNCTION UnaryFunction)
2516    (valence ?FUNCTION 1))     2527    (valence ?FUNCTION 1))
2517     2528
2518 (subclass OneToOneFunction UnaryFunction)     2529 (subclass OneToOneFunction UnaryFunction)
2519 (documentation OneToOneFunction "The &%Class of &%UnaryFunctions which     2530 (documentation OneToOneFunction "The &%Class of &%UnaryFunctions which
2520 are one to one. A function F is one to one just in case for all X, Y in the     2531 are one to one. A function F is one to one just in case for all X, Y in the
2521 domain of F, if X is not identical to Y, then F(X) is not identical to F(Y).")     2532 domain of F, if X is not identical to Y, then F(X) is not identical to F(Y).")
2522     2533
2523 (=>     2534 (=>
2524    (instance ?FUN OneToOneFunction)     2535    (instance ?FUN OneToOneFunction)
2525    (forall (?ARG1 ?ARG2)     2536    (forall (?ARG1 ?ARG2)
2526       (=>     2537       (=>
2527          (and     2538          (and
2528             (domain ?FUN 1 ?CLASS)     2539             (domain ?FUN 1 ?CLASS)
2529             (instance ?ARG1 ?CLASS)     2540             (instance ?ARG1 ?CLASS)
2530             (instance ?ARG2 ?CLASS)     2541             (instance ?ARG2 ?CLASS)
2531             (not (equal ?ARG1 ?ARG2)))     2542             (not (equal ?ARG1 ?ARG2)))
2532          (not (equal (AssignmentFn ?FUN ?ARG1) (AssignmentFn ?FUN ?ARG2))))))     2543          (not (equal (AssignmentFn ?FUN ?ARG1) (AssignmentFn ?FUN ?ARG2))))))
2533     2544
2534 (subclass SequenceFunction OneToOneFunction)     2545 (subclass SequenceFunction OneToOneFunction)
2535 (documentation SequenceFunction "The &%Class of &%OneToOneFunctions whose range     2546 (documentation SequenceFunction "The &%Class of &%OneToOneFunctions whose range
2536 is a subclass of the &%PositiveIntegers.")     2547 is a subclass of the &%PositiveIntegers.")
2537     2548
2538 (=>     2549 (=>
2539    (and     2550    (and
2540       (instance ?SEQ SequenceFunction)     2551       (instance ?SEQ SequenceFunction)
2541       (range ?SEQ ?CLASS))     2552       (range ?SEQ ?CLASS))
2542    (subclass ?CLASS Integer))     2553    (subclass ?CLASS Integer))
2543     2554
2544 (subclass BinaryFunction Function)     2555 (subclass BinaryFunction Function)
2545 (subclass BinaryFunction TernaryRelation)     2556 (subclass BinaryFunction TernaryRelation)
2546 (instance BinaryFunction InheritableRelation)     2557 (instance BinaryFunction InheritableRelation)
2547 (documentation BinaryFunction "The &%Class of &%Functions that require     2558 (documentation BinaryFunction "The &%Class of &%Functions that require
2548 two arguments.")     2559 two arguments.")
2549     2560
2550 (=>     2561 (=>
2551 (instance ?FUNCTION BinaryFunction)     2562 (instance ?FUNCTION BinaryFunction)
2552 (valence ?FUNCTION 2))     2563 (valence ?FUNCTION 2))
2553     2564
2554 (subclass AssociativeFunction BinaryFunction)     2565 (subclass AssociativeFunction BinaryFunction)
2555 (documentation AssociativeFunction "A &%BinaryFunction is associative if     2566 (documentation AssociativeFunction "A &%BinaryFunction is associative if
2556 bracketing has no effect on the value returned by the &%Function. More     2567 bracketing has no effect on the value returned by the &%Function. More
2557 precisely, a &%Function ?FUNCTION is associative just in case     2568 precisely, a &%Function ?FUNCTION is associative just in case
2558 (?FUNCTION ?INST1 (?FUNCTION ?INST2 ?INST3)) is equal to     2569 (?FUNCTION ?INST1 (?FUNCTION ?INST2 ?INST3)) is equal to
2559 (?FUNCTION (?FUNCTION ?INST1 ?INST2) ?INST3), for all ?INST1, ?INST2,     2570 (?FUNCTION (?FUNCTION ?INST1 ?INST2) ?INST3), for all ?INST1, ?INST2,
2560 and ?INST3.")     2571 and ?INST3.")
2561     2572
2562 (=>     2573 (=>
2563    (instance ?FUNCTION AssociativeFunction)     2574    (instance ?FUNCTION AssociativeFunction)
2564    (forall (?INST1 ?INST2 ?INST3)     2575    (forall (?INST1 ?INST2 ?INST3)
2565       (=>     2576       (=>
2566          (and     2577          (and
2567             (domain ?FUNCTION 1 ?CLASS)     2578             (domain ?FUNCTION 1 ?CLASS)
2568             (instance ?INST1 ?CLASS)     2579             (instance ?INST1 ?CLASS)
2569             (instance ?INST2 ?CLASS)     2580             (instance ?INST2 ?CLASS)
2570             (instance ?INST3 ?CLASS))     2581             (instance ?INST3 ?CLASS))
2571          (equal (AssignmentFn ?FUNCTION ?INST1 (AssignmentFn ?FUNCTION ?INST2 ?INST3))     2582          (equal (AssignmentFn ?FUNCTION ?INST1 (AssignmentFn ?FUNCTION ?INST2 ?INST3))
2572              (AssignmentFn ?FUNCTION (AssignmentFn ?FUNCTION ?INST1 ?INST2) ?INST3)))))     2583              (AssignmentFn ?FUNCTION (AssignmentFn ?FUNCTION ?INST1 ?INST2) ?INST3)))))
2573     2584
2574 (subclass CommutativeFunction BinaryFunction)     2585 (subclass CommutativeFunction BinaryFunction)
2575 (documentation CommutativeFunction "A &%BinaryFunction is commutative if     2586 (documentation CommutativeFunction "A &%BinaryFunction is commutative if
2576 the ordering of the arguments of the function has no effect on the value     2587 the ordering of the arguments of the function has no effect on the value
2577 returned by the function. More precisely, a function ?FUNCTION is     2588 returned by the function. More precisely, a function ?FUNCTION is
2578 commutative just in case (?FUNCTION ?INST1 ?INST2) is equal to (?FUNCTION     2589 commutative just in case (?FUNCTION ?INST1 ?INST2) is equal to (?FUNCTION
2579 ?INST2 ?INST1), for all ?INST1 and ?INST2.")     2590 ?INST2 ?INST1), for all ?INST1 and ?INST2.")
2580     2591
2581 (=>     2592 (=>
2582    (instance ?FUNCTION CommutativeFunction)     2593    (instance ?FUNCTION CommutativeFunction)
2583    (forall (?INST1 ?INST2)     2594    (forall (?INST1 ?INST2)
2584       (=>     2595       (=>
2585          (and     2596          (and
2586             (domain ?FUNCTION 1 ?CLASS)     2597             (domain ?FUNCTION 1 ?CLASS)
2587             (instance ?INST1 ?CLASS)     2598             (instance ?INST1 ?CLASS)
2588             (instance ?INST2 ?CLASS))     2599             (instance ?INST2 ?CLASS))
2589          (equal (AssignmentFn ?FUNCTION ?INST1 ?INST2)     2600          (equal (AssignmentFn ?FUNCTION ?INST1 ?INST2)
2590                 (AssignmentFn ?FUNCTION ?INST2 ?INST1)))))     2601                 (AssignmentFn ?FUNCTION ?INST2 ?INST1)))))
2591     2602
2592 (subclass TernaryFunction Function)     2603 (subclass TernaryFunction Function)
2593 (subclass TernaryFunction QuaternaryRelation)     2604 (subclass TernaryFunction QuaternaryRelation)
2594 (instance TernaryFunction InheritableRelation)     2605 (instance TernaryFunction InheritableRelation)
2595 (documentation TernaryFunction "The &%Class of &%Functions that require     2606 (documentation TernaryFunction "The &%Class of &%Functions that require
2596 exactly three arguments.")     2607 exactly three arguments.")
2597     2608
2598 (=>     2609 (=>
2599 (instance ?FUNCTION TernaryFunction)     2610 (instance ?FUNCTION TernaryFunction)
2600 (valence ?FUNCTION 3))     2611 (valence ?FUNCTION 3))
2601     2612
2602 (subclass QuaternaryFunction Function)     2613 (subclass QuaternaryFunction Function)
2603 (subclass QuaternaryFunction QuintaryRelation)     2614 (subclass QuaternaryFunction QuintaryRelation)
2604 (instance QuaternaryFunction InheritableRelation)     2615 (instance QuaternaryFunction InheritableRelation)
2605 (documentation QuaternaryFunction "The &%Class of &%Functions that require     2616 (documentation QuaternaryFunction "The &%Class of &%Functions that require
2606 exactly four arguments.")     2617 exactly four arguments.")
2607     2618
2608 (=>     2619 (=>
2609 (instance ?FUNCTION QuaternaryFunction)     2620 (instance ?FUNCTION QuaternaryFunction)
2610 (valence ?FUNCTION 4))     2621 (valence ?FUNCTION 4))
2611     2622
2612 (subclass ContinuousFunction Function)     2623 (subclass ContinuousFunction Function)
2613 (documentation ContinuousFunction "&%Functions which are continuous.     2624 (documentation ContinuousFunction "&%Functions which are continuous.
2614 This concept is taken as primitive until representations for limits     2625 This concept is taken as primitive until representations for limits
2615 are devised.")     2626 are devised.")
2616     2627
2617 (subclass LogicalOperator Predicate)     2628 (subclass LogicalOperator Predicate)
2618 (documentation LogicalOperator "This &%Class currently comprises all     2629 (documentation LogicalOperator "This &%Class currently comprises all
2619 of the logical operators (viz. 'and', 'or', 'not', '=>', and '<=>').")     2630 of the logical operators (viz. 'and', 'or', 'not', '=>', and '<=>').")
2620     2631
2621 (subclass BinaryPredicate Predicate)     2632 (subclass BinaryPredicate Predicate)
2622 (subclass BinaryPredicate BinaryRelation)     2633 (subclass BinaryPredicate BinaryRelation)
2623 (instance BinaryPredicate InheritableRelation)     2634 (instance BinaryPredicate InheritableRelation)
2624 (documentation BinaryPredicate "A &%Predicate relating two items - its     2635 (documentation BinaryPredicate "A &%Predicate relating two items - its
2625 valence is two.")     2636 valence is two.")
2626     2637
2627 (=>     2638 (=>
2628 (instance ?REL BinaryPredicate)     2639 (instance ?REL BinaryPredicate)
2629 (valence ?REL 2))     2640 (valence ?REL 2))
2630     2641
2631 (subclass TernaryPredicate Predicate)     2642 (subclass TernaryPredicate Predicate)
2632 (subclass TernaryPredicate TernaryRelation)     2643 (subclass TernaryPredicate TernaryRelation)
2633 (instance TernaryPredicate InheritableRelation)     2644 (instance TernaryPredicate InheritableRelation)
2634 (documentation TernaryPredicate "The &%Class of &%Predicates that require     2645 (documentation TernaryPredicate "The &%Class of &%Predicates that require
2635 exactly three arguments.")     2646 exactly three arguments.")
2636     2647
2637 (=>     2648 (=>
2638 (instance ?REL TernaryPredicate)     2649 (instance ?REL TernaryPredicate)
2639 (valence ?REL 3))     2650 (valence ?REL 3))
2640     2651
2641 (subclass QuaternaryPredicate Predicate)     2652 (subclass QuaternaryPredicate Predicate)
2642 (subclass QuaternaryPredicate QuaternaryRelation)     2653 (subclass QuaternaryPredicate QuaternaryRelation)
2643 (instance QuaternaryPredicate InheritableRelation)     2654 (instance QuaternaryPredicate InheritableRelation)
2644 (documentation QuaternaryPredicate "The &%Class of &%Predicates that     2655 (documentation QuaternaryPredicate "The &%Class of &%Predicates that
2645 require four arguments.")     2656 require four arguments.")
2646     2657
2647 (=>     2658 (=>
2648 (instance ?REL QuaternaryPredicate)     2659 (instance ?REL QuaternaryPredicate)
2649 (valence ?REL 4))     2660 (valence ?REL 4))
2650     2661
2651 (subclass QuintaryPredicate Predicate)     2662 (subclass QuintaryPredicate Predicate)
2652 (subclass QuintaryPredicate QuintaryRelation)     2663 (subclass QuintaryPredicate QuintaryRelation)
2653 (instance QuintaryPredicate InheritableRelation)     2664 (instance QuintaryPredicate InheritableRelation)
2654 (documentation QuintaryPredicate "The &%Class of &%Predicates that     2665 (documentation QuintaryPredicate "The &%Class of &%Predicates that
2655 require five arguments.")     2666 require five arguments.")
2656     2667
2657 (=>     2668 (=>
2658 (instance ?REL QuintaryPredicate)     2669 (instance ?REL QuintaryPredicate)
2659 (valence ?REL 5))     2670 (valence ?REL 5))
2660     2671
2661 (subclass VariableArityRelation Relation)     2672 (subclass VariableArityRelation Relation)
2662 (documentation VariableArityRelation "The &%Class of &%Relations that     2673 (documentation VariableArityRelation "The &%Class of &%Relations that
2663 do not have a fixed number of arguments.")     2674 do not have a fixed number of arguments.")
2664     2675
2665 (=>     2676 (=>
2666         (instance ?REL VariableArityRelation)     2677         (instance ?REL VariableArityRelation)
2667         (not     2678         (not
2668            (exists (?INT)     2679            (exists (?INT)
2669               (valence ?REL ?INT))))     2680               (valence ?REL ?INT))))
2670     2681
2671 (subclass RelationExtendedToQuantities Relation)     2682 (subclass RelationExtendedToQuantities Relation)
2672 (instance RelationExtendedToQuantities InheritableRelation)     2683 (instance RelationExtendedToQuantities InheritableRelation)
2673 (documentation RelationExtendedToQuantities "A     2684 (documentation RelationExtendedToQuantities "A
2674 &%RelationExtendedToQuantities is a &%Relation that, when it is true on     2685 &%RelationExtendedToQuantities is a &%Relation that, when it is true on
2675 a sequence of arguments that are &%RealNumbers, it is also true on a     2686 a sequence of arguments that are &%RealNumbers, it is also true on a
2676 sequence of &%ConstantQuantites with those magnitudes in some unit of     2687 sequence of &%ConstantQuantites with those magnitudes in some unit of
2677 measure. For example, the &%lessThan relation is extended to quantities.     2688 measure. For example, the &%lessThan relation is extended to quantities.
2678 This means that for all pairs of quantities ?QUANTITY1 and ?QUANTITY2,     2689 This means that for all pairs of quantities ?QUANTITY1 and ?QUANTITY2,
2679 (lessThan ?QUANTITY1 ?QUANTITY2) if and only if, for some ?NUMBER1,     2690 (lessThan ?QUANTITY1 ?QUANTITY2) if and only if, for some ?NUMBER1,
2680 ?NUMBER2, and ?UNIT, ?QUANTITY1 = (MeasureFn ?NUMBER1 ?UNIT),     2691 ?NUMBER2, and ?UNIT, ?QUANTITY1 = (MeasureFn ?NUMBER1 ?UNIT),
2681 ?QUANTITY2 = (MeasureFn ?NUMBER2 ?UNIT), and (lessThan ?NUMBER1 ?NUMBER2),     2692 ?QUANTITY2 = (MeasureFn ?NUMBER2 ?UNIT), and (lessThan ?NUMBER1 ?NUMBER2),
2682 for all units ?UNIT on which ?QUANTITY1 and ?QUANTITY2 can be measured.     2693 for all units ?UNIT on which ?QUANTITY1 and ?QUANTITY2 can be measured.
2683 Note that, when a &%RelationExtendedToQuantities is extended from     2694 Note that, when a &%RelationExtendedToQuantities is extended from
2684 &%RealNumbers to &%ConstantQuantities, the &%ConstantQuantities must be     2695 &%RealNumbers to &%ConstantQuantities, the &%ConstantQuantities must be
2685 measured along the same physical dimension.")     2696 measured along the same physical dimension.")
2686     2697
2687 (subclass Proposition Abstract)     2698 (subclass Proposition Abstract)
2688 (documentation Proposition "&%Propositions are &%Abstract entities that     2699 (documentation Proposition "&%Propositions are &%Abstract entities that
2689 express a complete thought or a set of such thoughts. As an example,     2700 express a complete thought or a set of such thoughts. As an example,
2690 the formula '(instance Yojo Cat)' expresses the &%Proposition that the     2701 the formula '(instance Yojo Cat)' expresses the &%Proposition that the
2691 entity named Yojo is an element of the &%Class of Cats. Note that     2702 entity named Yojo is an element of the &%Class of Cats. Note that
2692 propositions are not restricted to the content expressed by individual     2703 propositions are not restricted to the content expressed by individual
2693 sentences of a &%Language. They may encompass the content expressed by     2704 sentences of a &%Language. They may encompass the content expressed by
2694 theories, books, and even whole libraries. It is important to distinguish     2705 theories, books, and even whole libraries. It is important to distinguish
2695 &%Propositions from the &%ContentBearingObjects that express them. A     2706 &%Propositions from the &%ContentBearingObjects that express them. A
2696 &%Proposition is a piece of information, e.g. that the cat is on the mat,     2707 &%Proposition is a piece of information, e.g. that the cat is on the mat,
2697 but a &%ContentBearingObject is an &%Object that represents this information.     2708 but a &%ContentBearingObject is an &%Object that represents this information.
2698 A &%Proposition is an abstraction that may have multiple representations:     2709 A &%Proposition is an abstraction that may have multiple representations:
2699 strings, sounds, icons, etc. For example, the &%Proposition that the cat is     2710 strings, sounds, icons, etc. For example, the &%Proposition that the cat is
2700 on the mat is represented here as a string of graphical characters displayed     2711 on the mat is represented here as a string of graphical characters displayed
2701 on a monitor and/or printed on paper, but it can be represented by a sequence     2712 on a monitor and/or printed on paper, but it can be represented by a sequence
2702 of sounds or by some non-latin alphabet or by some cryptographic form")     2713 of sounds or by some non-latin alphabet or by some cryptographic form")
2703     2714
2704 (instance closedOn BinaryPredicate)     2715 (instance closedOn BinaryPredicate)
2705 (instance closedOn AsymmetricRelation)     2716 (instance closedOn AsymmetricRelation)
2706 (domain closedOn 1 Function)     2717 (domain closedOn 1 Function)
2707 (domain closedOn 2 SetOrClass)     2718 (domain closedOn 2 SetOrClass)
2708 (documentation closedOn "A &%BinaryFunction is closed on a &%SetOrClass     2719 (documentation closedOn "A &%BinaryFunction is closed on a &%SetOrClass
2709 if it is defined for all instances of the &%SetOrClass and its value is     2720 if it is defined for all instances of the &%SetOrClass and its value is
2710 always an instance of the &%SetOrClass.")     2721 always an instance of the &%SetOrClass.")
2711     2722
2712 (=>     2723 (=>
2713    (and     2724    (and
2714       (closedOn ?FUNCTION ?CLASS)     2725       (closedOn ?FUNCTION ?CLASS)
2715       (instance ?FUNCTION UnaryFunction))     2726       (instance ?FUNCTION UnaryFunction))
2716    (forall (?INST)     2727    (forall (?INST)
2717       (=>     2728       (=>
2718          (instance ?INST ?CLASS)     2729          (instance ?INST ?CLASS)
2719          (instance (AssignmentFn ?FUNCTION ?INST) ?CLASS))))     2730          (instance (AssignmentFn ?FUNCTION ?INST) ?CLASS))))
2720     2731
2721 (=>     2732 (=>
2722    (and     2733    (and
2723       (closedOn ?FUNCTION ?CLASS)     2734       (closedOn ?FUNCTION ?CLASS)
2724       (instance ?FUNCTION BinaryFunction))     2735       (instance ?FUNCTION BinaryFunction))
2725    (forall (?INST1 ?INST2)     2736    (forall (?INST1 ?INST2)
2726       (=>     2737       (=>
2727          (and     2738          (and
2728             (instance ?INST1 ?CLASS)     2739             (instance ?INST1 ?CLASS)
2729             (instance ?INST2 ?CLASS))     2740             (instance ?INST2 ?CLASS))
2730          (instance (AssignmentFn ?FUNCTION ?INST1 ?INST2) ?CLASS))))     2741          (instance (AssignmentFn ?FUNCTION ?INST1 ?INST2) ?CLASS))))
2731     2742
2732 (instance reflexiveOn BinaryPredicate)     2743 (instance reflexiveOn BinaryPredicate)
2733 (instance reflexiveOn AsymmetricRelation)     2744 (instance reflexiveOn AsymmetricRelation)
2734 (domain reflexiveOn 1 BinaryRelation)     2745 (domain reflexiveOn 1 BinaryRelation)
2735 (domain reflexiveOn 2 SetOrClass)     2746 (domain reflexiveOn 2 SetOrClass)
2736 (documentation reflexiveOn "A &%BinaryRelation is reflexive on a     2747 (documentation reflexiveOn "A &%BinaryRelation is reflexive on a
2737 &%SetOrClass only if every instance of the &%SetOrClass bears the relation     2748 &%SetOrClass only if every instance of the &%SetOrClass bears the relation
2738 to itself.")     2749 to itself.")
2739     2750
2740 (=>     2751 (=>
2741    (reflexiveOn ?RELATION ?CLASS)     2752    (reflexiveOn ?RELATION ?CLASS)
2742    (forall (?INST)     2753    (forall (?INST)
2743       (=>     2754       (=>
2744          (instance ?INST ?CLASS)     2755          (instance ?INST ?CLASS)
2745          (holds ?RELATION ?INST ?INST))))     2756          (holds ?RELATION ?INST ?INST))))
2746     2757
2747 (instance irreflexiveOn BinaryPredicate)     2758 (instance irreflexiveOn BinaryPredicate)
2748 (instance irreflexiveOn AsymmetricRelation)     2759 (instance irreflexiveOn AsymmetricRelation)
2749 (domain irreflexiveOn 1 BinaryRelation)     2760 (domain irreflexiveOn 1 BinaryRelation)
2750 (domain irreflexiveOn 2 SetOrClass)     2761 (domain irreflexiveOn 2 SetOrClass)
2751 (documentation irreflexiveOn "A &%BinaryRelation is irreflexive on a     2762 (documentation irreflexiveOn "A &%BinaryRelation is irreflexive on a
2752 &%SetOrClass only if no instance of the &%SetOrClass bears the relation to     2763 &%SetOrClass only if no instance of the &%SetOrClass bears the relation to
2753 itself.")     2764 itself.")
2754     2765
2755 (=>     2766 (=>
2756    (irreflexiveOn ?RELATION ?CLASS)     2767    (irreflexiveOn ?RELATION ?CLASS)
2757    (forall (?INST)     2768    (forall (?INST)
2758       (=>     2769       (=>
2759          (instance ?INST ?CLASS)     2770          (instance ?INST ?CLASS)
2760          (not     2771          (not
2761             (holds ?RELATION ?INST ?INST)))))     2772             (holds ?RELATION ?INST ?INST)))))
2762     2773
2763 (instance partialOrderingOn BinaryPredicate)     2774 (instance partialOrderingOn BinaryPredicate)
2764 (instance partialOrderingOn AsymmetricRelation)     2775 (instance partialOrderingOn AsymmetricRelation)
2765 (domain partialOrderingOn 1 BinaryRelation)     2776 (domain partialOrderingOn 1 BinaryRelation)
2766 (domain partialOrderingOn 2 SetOrClass)     2777 (domain partialOrderingOn 2 SetOrClass)
2767 (documentation partialOrderingOn "A &%BinaryRelation is a partial     2778 (documentation partialOrderingOn "A &%BinaryRelation is a partial
2768 ordering on a &%SetOrClass only if the relation is &%reflexiveOn the     2779 ordering on a &%SetOrClass only if the relation is &%reflexiveOn the
2769 &%SetOrClass, and it is both an &%AntisymmetricRelation, and a     2780 &%SetOrClass, and it is both an &%AntisymmetricRelation, and a
2770 &%TransitiveRelation.")     2781 &%TransitiveRelation.")
2771     2782
2772 (=>     2783 (=>
2773    (partialOrderingOn ?RELATION ?CLASS)     2784    (partialOrderingOn ?RELATION ?CLASS)
2774    (and     2785    (and
2775       (reflexiveOn ?RELATION ?CLASS)     2786       (reflexiveOn ?RELATION ?CLASS)
2776       (instance ?RELATION TransitiveRelation)     2787       (instance ?RELATION TransitiveRelation)
2777       (instance ?RELATION AntisymmetricRelation)))     2788       (instance ?RELATION AntisymmetricRelation)))
2778     2789
2779 (instance totalOrderingOn BinaryPredicate)     2790 (instance totalOrderingOn BinaryPredicate)
2780 (instance totalOrderingOn AsymmetricRelation)     2791 (instance totalOrderingOn AsymmetricRelation)
2781 (domain totalOrderingOn 1 BinaryRelation)     2792 (domain totalOrderingOn 1 BinaryRelation)
2782 (domain totalOrderingOn 2 SetOrClass)     2793 (domain totalOrderingOn 2 SetOrClass)
2783 (documentation totalOrderingOn "A &%BinaryRelation ?REL is a total     2794 (documentation totalOrderingOn "A &%BinaryRelation ?REL is a total
2784 ordering on a &%SetOrClass only if it is a partial ordering for which either     2795 ordering on a &%SetOrClass only if it is a partial ordering for which either
2785 (?REL ?INST1 ?INST2) or (?REL ?INST2 ?INST1) for every ?INST1 and ?INST2     2796 (?REL ?INST1 ?INST2) or (?REL ?INST2 ?INST1) for every ?INST1 and ?INST2
2786 in the &%SetOrClass.")     2797 in the &%SetOrClass.")
2787     2798
2788 (<=>     2799 (<=>
2789      (totalOrderingOn ?RELATION ?CLASS)     2800      (totalOrderingOn ?RELATION ?CLASS)
2790      (and     2801      (and
2791           (partialOrderingOn ?RELATION ?CLASS)     2802           (partialOrderingOn ?RELATION ?CLASS)
2792           (trichotomizingOn ?RELATION ?CLASS)))     2803           (trichotomizingOn ?RELATION ?CLASS)))
2793     2804
2794 (instance trichotomizingOn BinaryPredicate)     2805 (instance trichotomizingOn BinaryPredicate)
2795 (instance trichotomizingOn AsymmetricRelation)     2806 (instance trichotomizingOn AsymmetricRelation)
2796 (domain trichotomizingOn 1 BinaryRelation)     2807 (domain trichotomizingOn 1 BinaryRelation)
2797 (domain trichotomizingOn 2 SetOrClass)     2808 (domain trichotomizingOn 2 SetOrClass)
2798 (documentation trichotomizingOn "A &%BinaryRelation ?REL is     2809 (documentation trichotomizingOn "A &%BinaryRelation ?REL is
2799 trichotomizing on a &%SetOrClass only if, for all instances ?INST1 and ?INST2     2810 trichotomizing on a &%SetOrClass only if, for all instances ?INST1 and ?INST2
2800 of the &%SetOrClass, at least one of the following holds: (?REL ?INST1 ?INST2),     2811 of the &%SetOrClass, at least one of the following holds: (?REL ?INST1 ?INST2),
2801 (?REL ?INST2 ?INST1) or (equal ?INST1 ?INST2).")     2812 (?REL ?INST2 ?INST1) or (equal ?INST1 ?INST2).")
2802     2813
2803 (=>     2814 (=>
2804    (trichotomizingOn ?RELATION ?CLASS)     2815    (trichotomizingOn ?RELATION ?CLASS)
2805    (forall (?INST1 ?INST2)     2816    (forall (?INST1 ?INST2)
2806       (=>     2817       (=>
2807          (and     2818          (and
2808             (instance ?INST1 ?CLASS)     2819             (instance ?INST1 ?CLASS)
2809             (instance ?INST2 ?CLASS))     2820             (instance ?INST2 ?CLASS))
2810          (or     2821          (or
2811             (holds ?RELATION ?INST1 ?INST2)     2822             (holds ?RELATION ?INST1 ?INST2)
2812             (holds ?RELATION ?INST2 ?INST1)     2823             (holds ?RELATION ?INST2 ?INST1)
2813             (equal ?INST1 ?INST2)))))     2824             (equal ?INST1 ?INST2)))))
2814     2825
2815 (instance equivalenceRelationOn BinaryPredicate)     2826 (instance equivalenceRelationOn BinaryPredicate)
2816 (instance equivalenceRelationOn AsymmetricRelation)     2827 (instance equivalenceRelationOn AsymmetricRelation)
2817 (domain equivalenceRelationOn 1 BinaryRelation)     2828 (domain equivalenceRelationOn 1 BinaryRelation)
2818 (domain equivalenceRelationOn 2 SetOrClass)     2829 (domain equivalenceRelationOn 2 SetOrClass)
2819 (documentation equivalenceRelationOn "A &%BinaryRelation is an     2830 (documentation equivalenceRelationOn "A &%BinaryRelation is an
2820 &%equivalenceRelationOn a &%SetOrClass only if the relation is &%reflexiveOn     2831 &%equivalenceRelationOn a &%SetOrClass only if the relation is &%reflexiveOn
2821 the &%SetOrClass and it is both a &%TransitiveRelation and a     2832 the &%SetOrClass and it is both a &%TransitiveRelation and a
2822 &%SymmetricRelation.")     2833 &%SymmetricRelation.")
2823     2834
2824 (=>     2835 (=>
2825    (equivalenceRelationOn ?RELATION ?CLASS)     2836    (equivalenceRelationOn ?RELATION ?CLASS)
2826    (and     2837    (and
2827       (instance ?RELATION TransitiveRelation)     2838       (instance ?RELATION TransitiveRelation)
2828       (instance ?RELATION SymmetricRelation)     2839       (instance ?RELATION SymmetricRelation)
2829       (reflexiveOn ?RELATION ?CLASS)))     2840       (reflexiveOn ?RELATION ?CLASS)))
2830     2841
2831 (instance distributes BinaryPredicate)     2842 (instance distributes BinaryPredicate)
2832 (instance distributes BinaryRelation)     2843 (instance distributes BinaryRelation)
2833 (domain distributes 1 BinaryFunction)     2844 (domain distributes 1 BinaryFunction)
2834 (domain distributes 2 BinaryFunction)     2845 (domain distributes 2 BinaryFunction)
2835 (documentation distributes "A &%BinaryFunction ?FUNCTION1 is     2846 (documentation distributes "A &%BinaryFunction ?FUNCTION1 is
2836 distributive over another &%BinaryFunction ?FUNCTION2 just in case     2847 distributive over another &%BinaryFunction ?FUNCTION2 just in case
2837 (?FUNCTION1 ?INST1 (?FUNCTION2 ?INST2 ?INST3)) is equal to     2848 (?FUNCTION1 ?INST1 (?FUNCTION2 ?INST2 ?INST3)) is equal to
2838 (?FUNCTION2 (?FUNCTION1 ?INST1 ?INST2) (?FUNCTION1 ?INST1 ?INST3)),     2849 (?FUNCTION2 (?FUNCTION1 ?INST1 ?INST2) (?FUNCTION1 ?INST1 ?INST3)),
2839 for all ?INST1, ?INST2, and ?INST3.")     2850 for all ?INST1, ?INST2, and ?INST3.")
2840     2851
2841 (=>     2852 (=>
2842    (distributes ?FUNCTION1 ?FUNCTION2)     2853    (distributes ?FUNCTION1 ?FUNCTION2)
2843    (forall (?INST1 ?INST2 ?INST3)     2854    (forall (?INST1 ?INST2 ?INST3)
2844       (=>     2855       (=>
2845          (and     2856          (and
2846             (domain ?FUNCTION1 1 ?CLASS1)     2857             (domain ?FUNCTION1 1 ?CLASS1)
2847             (instance ?INST1 ?CLASS1)     2858             (instance ?INST1 ?CLASS1)
2848             (instance ?INST2 ?CLASS1)     2859             (instance ?INST2 ?CLASS1)
2849             (instance ?INST3 ?CLASS1)     2860             (instance ?INST3 ?CLASS1)
2850             (domain ?FUNCTION2 1 ?CLASS2)     2861             (domain ?FUNCTION2 1 ?CLASS2)
2851             (instance ?INST1 ?CLASS2)     2862             (instance ?INST1 ?CLASS2)
2852             (instance ?INST2 ?CLASS2)     2863             (instance ?INST2 ?CLASS2)
2853             (instance ?INST3 ?CLASS2))     2864             (instance ?INST3 ?CLASS2))
2854          (equal (AssignmentFn ?FUNCTION1 ?INST1     2865          (equal (AssignmentFn ?FUNCTION1 ?INST1
2855                         (AssignmentFn ?FUNCTION2 ?INST2 ?INST3))     2866                         (AssignmentFn ?FUNCTION2 ?INST2 ?INST3))
2856                 (AssignmentFn ?FUNCTION2     2867                 (AssignmentFn ?FUNCTION2
2857                         (AssignmentFn ?FUNCTION1 ?INST1 ?INST2)     2868                         (AssignmentFn ?FUNCTION1 ?INST1 ?INST2)
2858                         (AssignmentFn ?FUNCTION1 ?INST1 ?INST3))))))     2869                         (AssignmentFn ?FUNCTION1 ?INST1 ?INST3))))))
2859     2870
2860 (instance causes BinaryPredicate)     2871 (instance causes BinaryPredicate)
2861 (instance causes AsymmetricRelation)     2872 (instance causes AsymmetricRelation)
2862 (domain causes 1 Process)     2873 (domain causes 1 Process)
2863 (domain causes 2 Process)     2874 (domain causes 2 Process)
2864 (relatedInternalConcept causes causesSubclass)     2875 (relatedInternalConcept causes causesSubclass)
2865 (documentation causes "The causation relation between instances of &%Process.     2876 (documentation causes "The causation relation between instances of &%Process.
2866 (&%causes ?PROCESS1 ?PROCESS2) means that the instance of &%Process ?PROCESS1     2877 (&%causes ?PROCESS1 ?PROCESS2) means that the instance of &%Process ?PROCESS1
2867 brings about the instance of &%Process ?PROCESS2, e.g. (&%causes &%Killing &%Death).")     2878 brings about the instance of &%Process ?PROCESS2, e.g. (&%causes &%Killing &%Death).")
2868     2879
2869 (=>     2880 (=>
2870    (instance ?PROC1 Process)     2881    (instance ?PROC1 Process)
2871    (exists (?PROC2)     2882    (exists (?PROC2)
2872       (causes ?PROC2 ?PROC1)))     2883       (causes ?PROC2 ?PROC1)))
2873     2884
2874 (instance causesSubclass BinaryPredicate)     2885 (instance causesSubclass BinaryPredicate)
2875 (instance causesSubclass AsymmetricRelation)     2886 (instance causesSubclass AsymmetricRelation)
2876 (domainSubclass causesSubclass 1 Process)     2887 (domainSubclass causesSubclass 1 Process)
2877 (domainSubclass causesSubclass 2 Process)     2888 (domainSubclass causesSubclass 2 Process)
2878 (documentation causesSubclass "The causation relation between subclasses of &%Process.     2889 (documentation causesSubclass "The causation relation between subclasses of &%Process.
2879 (&%causesSubclass ?PROCESS1 ?PROCESS2) means that the subclass of &%Process ?PROCESS1     2890 (&%causesSubclass ?PROCESS1 ?PROCESS2) means that the subclass of &%Process ?PROCESS1
2880 brings about the subclass of &%Process ?PROCESS2, e.g. (&%causes &%Killing &%Death).")     2891 brings about the subclass of &%Process ?PROCESS2, e.g. (&%causes &%Killing &%Death).")
2881     2892
2882 (=>     2893 (=>
2883    (causesSubclass ?PROC1 ?PROC2)     2894    (causesSubclass ?PROC1 ?PROC2)
2884    (forall (?INST2)     2895    (forall (?INST2)
2885       (=>     2896       (=>
2886          (instance ?INST2 ?PROC2)     2897          (instance ?INST2 ?PROC2)
2887          (exists (?INST1)     2898          (exists (?INST1)
2888 (and     2899 (and
2889 (instance ?INST1 ?PROC1)     2900 (instance ?INST1 ?PROC1)
2890 (causes ?INST1 ?INST2))))))     2901 (causes ?INST1 ?INST2))))))
2891     2902
2892 (instance copy BinaryPredicate)     2903 (instance copy BinaryPredicate)
2893 (instance copy EquivalenceRelation)     2904 (instance copy EquivalenceRelation)
2894 (domain copy 1 Object)     2905 (domain copy 1 Object)
2895 (domain copy 2 Object)     2906 (domain copy 2 Object)
2896 (documentation copy "relates an &%Object to an exact copy of the     2907 (documentation copy "relates an &%Object to an exact copy of the
2897 &%Object, where an exact copy is indistinguishable from the original     2908 &%Object, where an exact copy is indistinguishable from the original
2898 with regard to every property except (possibly) spatial and/or temporal     2909 with regard to every property except (possibly) spatial and/or temporal
2899 location.")     2910 location.")
2900     2911
2901 (=>     2912 (=>
2902    (copy ?OBJ1 ?OBJ2)     2913    (copy ?OBJ1 ?OBJ2)
2903    (forall (?ATTR)     2914    (forall (?ATTR)
2904       (=>     2915       (=>
2905          (attribute ?OBJ1 ?ATTR)     2916          (attribute ?OBJ1 ?ATTR)
2906          (attribute ?OBJ2 ?ATTR))))     2917          (attribute ?OBJ2 ?ATTR))))
2907     2918
2908 (instance time BinaryPredicate)     2919 (instance time BinaryPredicate)
2909 (instance time TemporalRelation)     2920 (instance time TemporalRelation)
2910 (instance time AsymmetricRelation)     2921 (instance time AsymmetricRelation)
2911 (domain time 1 Physical)     2922 (domain time 1 Physical)
2912 (domain time 2 TimePosition)     2923 (domain time 2 TimePosition)
2913 (documentation time "This relation holds between an instance of     2924 (documentation time "This relation holds between an instance of
2914 &%Physical and an instance of &%TimePosition just in case the temporal     2925 &%Physical and an instance of &%TimePosition just in case the temporal
2915 lifespan of the former includes the latter. The constants &%located     2926 lifespan of the former includes the latter. The constants &%located
2916 and &%time are the basic spatial and temporal predicates,     2927 and &%time are the basic spatial and temporal predicates,
2917 respectively.")     2928 respectively.")
2918     2929
2919 (instance holdsDuring BinaryPredicate)     2930 (instance holdsDuring BinaryPredicate)
2920 (instance holdsDuring AsymmetricRelation)     2931 (instance holdsDuring AsymmetricRelation)
2921 (domain holdsDuring 1 TimePosition)     2932 (domain holdsDuring 1 TimePosition)
2922 (domain holdsDuring 2 Formula)     2933 (domain holdsDuring 2 Formula)
2923 (documentation holdsDuring "(&%holdsDuring ?TIME ?FORMULA) means that the     2934 (documentation holdsDuring "(&%holdsDuring ?TIME ?FORMULA) means that the
2924 proposition denoted by ?FORMULA is true in the time frame ?TIME. Note     2935 proposition denoted by ?FORMULA is true in the time frame ?TIME. Note
2925 that this implies that ?FORMULA is true at every &%TimePoint which is a     2936 that this implies that ?FORMULA is true at every &%TimePoint which is a
2926 &%temporalPart of ?TIME.")     2937 &%temporalPart of ?TIME.")
2927     2938
2928 (=>     2939 (=>
2929    (and     2940    (and
2930       (holdsDuring ?TIME ?SITUATION1)     2941       (holdsDuring ?TIME ?SITUATION1)
2931       (entails ?SITUATION1 ?SITUATION2))     2942       (entails ?SITUATION1 ?SITUATION2))
2932    (holdsDuring ?TIME ?SITUATION2))     2943    (holdsDuring ?TIME ?SITUATION2))
2933     2944
2934 (=>     2945 (=>
2935    (holdsDuring ?TIME (not ?SITUATION))     2946    (holdsDuring ?TIME (not ?SITUATION))
2936    (not (holdsDuring ?TIME ?SITUATION)))     2947    (not (holdsDuring ?TIME ?SITUATION)))
2937     2948
2938 (instance capability TernaryPredicate)     2949 (instance capability TernaryPredicate)
2939 (domainSubclass capability 1 Process)     2950 (domainSubclass capability 1 Process)
2940 (domain capability 2 CaseRole)     2951 (domain capability 2 CaseRole)
2941 (domain capability 3 Object)     2952 (domain capability 3 Object)
2942 (documentation capability "(&%capability ?PROCESS ?ROLE ?OBJ) means     2953 (documentation capability "(&%capability ?PROCESS ?ROLE ?OBJ) means
2943 that ?OBJ has the ability to play the role of ?ROLE in &%Processes of     2954 that ?OBJ has the ability to play the role of ?ROLE in &%Processes of
2944 type ?PROCESS.")     2955 type ?PROCESS.")
2945     2956
2946 (=>     2957 (=>
2947    (and     2958    (and
2948       (instance ?ROLE CaseRole)     2959       (instance ?ROLE CaseRole)
2949       (holds ?ROLE ?ARG1 ?ARG2)     2960       (holds ?ROLE ?ARG1 ?ARG2)
2950       (instance ?ARG1 ?PROC))     2961       (instance ?ARG1 ?PROC))
2951    (capability ?PROC ?ROLE ?ARG2))     2962    (capability ?PROC ?ROLE ?ARG2))
2952     2963
2953 (instance exploits BinaryPredicate)     2964 (instance exploits BinaryPredicate)
2954 (instance exploits AsymmetricRelation)     2965 (instance exploits AsymmetricRelation)
2955 (domain exploits 1 Object)     2966 (domain exploits 1 Object)
2956 (domain exploits 2 Agent)     2967 (domain exploits 2 Agent)
2957 (documentation exploits "(&%exploits ?OBJ ?AGENT) means that ?OBJ is used     2968 (documentation exploits "(&%exploits ?OBJ ?AGENT) means that ?OBJ is used
2958 by ?AGENT as a &%resource in an unspecified instance of &%Process. This     2969 by ?AGENT as a &%resource in an unspecified instance of &%Process. This
2959 &%Predicate, as its corresponding axiom indicates, is a composition of the     2970 &%Predicate, as its corresponding axiom indicates, is a composition of the
2960 relations &%agent and &%resource.")     2971 relations &%agent and &%resource.")
2961     2972
2962 (=>     2973 (=>
2963      (exploits ?OBJ ?AGENT)     2974      (exploits ?OBJ ?AGENT)
2964      (exists (?PROCESS)     2975      (exists (?PROCESS)
2965           (and     2976           (and
2966                (agent ?PROCESS ?AGENT)     2977                (agent ?PROCESS ?AGENT)
2967                (resource ?PROCESS ?OBJ))))     2978                (resource ?PROCESS ?OBJ))))
2968     2979
2969 (instance hasPurpose BinaryPredicate)     2980 (instance hasPurpose BinaryPredicate)
2970 (instance hasPurpose AsymmetricRelation)     2981 (instance hasPurpose AsymmetricRelation)
2971 (domain hasPurpose 1 Physical)     2982 (domain hasPurpose 1 Physical)
2972 (domain hasPurpose 2 Formula)     2983 (domain hasPurpose 2 Formula)
2973 (documentation hasPurpose "This &%Predicate expresses the concept of a     2984 (documentation hasPurpose "This &%Predicate expresses the concept of a
2974 conventional goal, i.e. a goal with a neutralized agent's intention.     2985 conventional goal, i.e. a goal with a neutralized agent's intention.
2975 Accordingly, (&%hasPurpose ?THING ?FORMULA) means that the instance of     2986 Accordingly, (&%hasPurpose ?THING ?FORMULA) means that the instance of
2976 &%Physical ?THING has, as its purpose, the &%Proposition expressed by     2987 &%Physical ?THING has, as its purpose, the &%Proposition expressed by
2977 ?FORMULA. Note that there is an important difference in meaning between     2988 ?FORMULA. Note that there is an important difference in meaning between
2978 the &%Predicates &%hasPurpose and &%result. Although the second argument     2989 the &%Predicates &%hasPurpose and &%result. Although the second argument
2979 of the latter can satisfy the second argument of the former,     2990 of the latter can satisfy the second argument of the former,
2980 a conventional goal is an expected and desired outcome, while a result     2991 a conventional goal is an expected and desired outcome, while a result
2981 may be neither expected nor desired. For example, a machine process may     2992 may be neither expected nor desired. For example, a machine process may
2982 have outcomes but no goals, aimless wandering may have an outcome but no     2993 have outcomes but no goals, aimless wandering may have an outcome but no
2983 goal; a learning process may have goals with no outcomes, and so on.")     2994 goal; a learning process may have goals with no outcomes, and so on.")
2984     2995
2985 (instance hasPurposeForAgent TernaryPredicate)     2996 (instance hasPurposeForAgent TernaryPredicate)
2986 (domain hasPurposeForAgent 1 Physical)     2997 (domain hasPurposeForAgent 1 Physical)
2987 (domain hasPurposeForAgent 2 Formula)     2998 (domain hasPurposeForAgent 2 Formula)
2988 (domain hasPurposeForAgent 3 CognitiveAgent)     2999 (domain hasPurposeForAgent 3 CognitiveAgent)
2989 (documentation hasPurposeForAgent "Expresses a cognitive attitude of an     3000 (documentation hasPurposeForAgent "Expresses a cognitive attitude of an
2990 agent with respect to a particular instance of Physical. More precisely,     3001 agent with respect to a particular instance of Physical. More precisely,
2991 (&%hasPurposeForAgent ?THING ?FORMULA ?AGENT) means that the purpose of     3002 (&%hasPurposeForAgent ?THING ?FORMULA ?AGENT) means that the purpose of
2992 ?THING for ?AGENT is the proposition expressed by ?FORMULA. Very complex     3003 ?THING for ?AGENT is the proposition expressed by ?FORMULA. Very complex
2993 issues are involved here. In particular, the rules of inference of the     3004 issues are involved here. In particular, the rules of inference of the
2994 first order predicate calculus are not truth-preserving for the second     3005 first order predicate calculus are not truth-preserving for the second
2995 argument position of this &%Predicate.")     3006 argument position of this &%Predicate.")
2996     3007
2997 (=>     3008 (=>
2998    (hasPurpose ?THING ?PURPOSE)     3009    (hasPurpose ?THING ?PURPOSE)
2999    (exists (?AGENT)     3010    (exists (?AGENT)
3000       (hasPurposeForAgent ?THING ?PURPOSE ?AGENT)))     3011       (hasPurposeForAgent ?THING ?PURPOSE ?AGENT)))
3001     3012
3002 (instance hasSkill BinaryPredicate)     3013 (instance hasSkill BinaryPredicate)
3003 (instance hasSkill AsymmetricRelation)     3014 (instance hasSkill AsymmetricRelation)
3004 (domainSubclass hasSkill 1 Process)     3015 (domainSubclass hasSkill 1 Process)
3005 (domain hasSkill 2 Agent)     3016 (domain hasSkill 2 Agent)
3006 (documentation hasSkill "Similar to the &%capability &%Predicate     3017 (documentation hasSkill "Similar to the &%capability &%Predicate
3007 with the additional restriction that the ability be practised/     3018 with the additional restriction that the ability be practised/
3008 demonstrated to some measurable degree.")     3019 demonstrated to some measurable degree.")
3009     3020
3010 (=>     3021 (=>
3011    (hasSkill ?PROC ?AGENT)     3022    (hasSkill ?PROC ?AGENT)
3012    (capability ?PROC agent ?AGENT))     3023    (capability ?PROC agent ?AGENT))
3013     3024
3014 (instance holdsRight BinaryPredicate)     3025 (instance holdsRight BinaryPredicate)
3015 (instance holdsRight AsymmetricRelation)     3026 (instance holdsRight AsymmetricRelation)
3016 (domain holdsRight 1 Formula)     3027 (domain holdsRight 1 Formula)
3017 (domain holdsRight 2 CognitiveAgent)     3028 (domain holdsRight 2 CognitiveAgent)
3018 (documentation holdsRight "Expresses a relationship between a &%Formula     3029 (documentation holdsRight "Expresses a relationship between a &%Formula
3019 and a &%CognitiveAgent whereby the &%CognitiveAgent has the right to     3030 and a &%CognitiveAgent whereby the &%CognitiveAgent has the right to
3020 bring it about that the &%Formula is true.")     3031 bring it about that the &%Formula is true.")
3021     3032
3022 (instance confersRight TernaryPredicate)     3033 (instance confersRight TernaryPredicate)
3023 (domain confersRight 1 Formula)     3034 (domain confersRight 1 Formula)
3024 (domain confersRight 2 Entity)     3035 (domain confersRight 2 Entity)
3025 (domain confersRight 3 CognitiveAgent)     3036 (domain confersRight 3 CognitiveAgent)
3026 (documentation confersRight "Expresses the relationship between a &%Formula,     3037 (documentation confersRight "Expresses the relationship between a &%Formula,
3027 an &%Entity, and a &%CognitiveAgent when the &%Entity authorizes the     3038 an &%Entity, and a &%CognitiveAgent when the &%Entity authorizes the
3028 &%CognitiveAgent to bring it about that the &%Formula is true.")     3039 &%CognitiveAgent to bring it about that the &%Formula is true.")
3029     3040
3030 (=>     3041 (=>
3031    (confersRight ?FORMULA ?AGENT1 ?AGENT2)     3042    (confersRight ?FORMULA ?AGENT1 ?AGENT2)
3032    (holdsRight ?FORMULA ?AGENT2))     3043    (holdsRight ?FORMULA ?AGENT2))
3033     3044
3034 (instance holdsObligation BinaryPredicate)     3045 (instance holdsObligation BinaryPredicate)
3035 (instance holdsObligation AsymmetricRelation)     3046 (instance holdsObligation AsymmetricRelation)
3036 (domain holdsObligation 1 Formula)     3047 (domain holdsObligation 1 Formula)
3037 (domain holdsObligation 2 CognitiveAgent)     3048 (domain holdsObligation 2 CognitiveAgent)
3038 (relatedInternalConcept holdsObligation holdsRight)     3049 (relatedInternalConcept holdsObligation holdsRight)
3039 (documentation holdsObligation "Expresses a relationship between a     3050 (documentation holdsObligation "Expresses a relationship between a
3040 &%Formula and a &%CognitiveAgent whereby the &%CognitiveAgent has     3051 &%Formula and a &%CognitiveAgent whereby the &%CognitiveAgent has
3041 the obligation to bring it about that the &%Formula is true.")     3052 the obligation to bring it about that the &%Formula is true.")
3042     3053
3043 (instance confersObligation TernaryPredicate)     3054 (instance confersObligation TernaryPredicate)
3044 (domain confersObligation 1 Formula)     3055 (domain confersObligation 1 Formula)
3045 (domain confersObligation 2 Entity)     3056 (domain confersObligation 2 Entity)
3046 (domain confersObligation 3 CognitiveAgent)     3057 (domain confersObligation 3 CognitiveAgent)
3047 (relatedInternalConcept confersObligation confersRight)     3058 (relatedInternalConcept confersObligation confersRight)
3048 (documentation confersObligation "Expresses the relationship between a     3059 (documentation confersObligation "Expresses the relationship between a
3049 a &%Formula, an &%Entity, and a &%CognitiveAgent when the &%Entity     3060 a &%Formula, an &%Entity, and a &%CognitiveAgent when the &%Entity
3050 obligates the &%CognitiveAgent to bring it about that the &%Formula is     3061 obligates the &%CognitiveAgent to bring it about that the &%Formula is
3051 true.")     3062 true.")
3052     3063
3053 (=>     3064 (=>
3054    (confersObligation ?FORMULA ?AGENT1 ?AGENT2)     3065    (confersObligation ?FORMULA ?AGENT1 ?AGENT2)
3055    (holdsObligation ?FORMULA ?AGENT2))     3066    (holdsObligation ?FORMULA ?AGENT2))
3056     3067
3057 (instance partlyLocated SpatialRelation)     3068 (instance partlyLocated SpatialRelation)
3058 (instance partlyLocated AntisymmetricRelation)     3069 (instance partlyLocated AntisymmetricRelation)
3059 (instance partlyLocated BinaryPredicate)     3070 (instance partlyLocated BinaryPredicate)
3060 (domain partlyLocated 1 Physical)     3071 (domain partlyLocated 1 Physical)
3061 (domain partlyLocated 2 Object)     3072 (domain partlyLocated 2 Object)
3062 (documentation partlyLocated "(&%partlyLocated ?THING ?OBJ) means that the     3073 (documentation partlyLocated "(&%partlyLocated ?THING ?OBJ) means that the
3063 instance of &%Physical ?THING is at least partially located at ?OBJ. For     3074 instance of &%Physical ?THING is at least partially located at ?OBJ. For
3064 example, Istanbul is partly located in Asia and partly located in Europe.     3075 example, Istanbul is partly located in Asia and partly located in Europe.
3065 Note that &%partlyLocated is the most basic localization relation: &%located     3076 Note that &%partlyLocated is the most basic localization relation: &%located
3066 is an immediate &%subrelation of &%partlyLocated and &%exactlyLocated is     3077 is an immediate &%subrelation of &%partlyLocated and &%exactlyLocated is
3067 an immediate &%subrelation of &%located.")     3078 an immediate &%subrelation of &%located.")
3068     3079
3069 (=>     3080 (=>
3070    (and     3081    (and
3071       (instance ?OBJ1 Object)     3082       (instance ?OBJ1 Object)
3072       (partlyLocated ?OBJ1 ?OBJ2))     3083       (partlyLocated ?OBJ1 ?OBJ2))
3073    (overlapsSpatially ?OBJ1 ?OBJ2))     3084    (overlapsSpatially ?OBJ1 ?OBJ2))
3074     3085
3075 (=>     3086 (=>
3076    (and     3087    (and
3077       (instance ?OBJ1 Object)     3088       (instance ?OBJ1 Object)
3078       (partlyLocated ?OBJ1 ?OBJ2))     3089       (partlyLocated ?OBJ1 ?OBJ2))
3079    (exists (?SUB)     3090    (exists (?SUB)
3080       (and     3091       (and
3081          (part ?SUB ?OBJ1)     3092          (part ?SUB ?OBJ1)
3082          (located ?SUB ?OBJ2))))     3093          (located ?SUB ?OBJ2))))
3083     3094
3084 (instance located AntisymmetricRelation)     3095 (instance located AntisymmetricRelation)
3085 (instance located TransitiveRelation)     3096 (instance located TransitiveRelation)
3086 (subrelation located partlyLocated)     3097 (subrelation located partlyLocated)
3087 (documentation located "(&%located ?PHYS ?OBJ) means that ?PHYS is &%partlyLocated     3098 (documentation located "(&%located ?PHYS ?OBJ) means that ?PHYS is &%partlyLocated
3088 at ?OBJ, and there is no &%part or &%subProcess of ?PHYS that is not &%located at     3099 at ?OBJ, and there is no &%part or &%subProcess of ?PHYS that is not &%located at
3089 ?OBJ.")     3100 ?OBJ.")
3090     3101
3091 (=>     3102 (=>
3092    (located ?OBJ1 ?OBJ2)     3103    (located ?OBJ1 ?OBJ2)
3093    (forall (?SUB)     3104    (forall (?SUB)
3094       (=>     3105       (=>
3095          (part ?SUB ?OBJ1)     3106          (part ?SUB ?OBJ1)
3096          (located ?SUB ?OBJ2))))     3107          (located ?SUB ?OBJ2))))
3097     3108
3098 (=>     3109 (=>
3099    (located ?PROCESS ?OBJ)     3110    (located ?PROCESS ?OBJ)
3100    (forall (?SUB)     3111    (forall (?SUB)
3101       (=>     3112       (=>
3102          (subProcess ?SUB ?PROCESS)     3113          (subProcess ?SUB ?PROCESS)
3103          (located ?SUB ?OBJ))))     3114          (located ?SUB ?OBJ))))
3104     3115
3105 (subrelation exactlyLocated located)     3116 (subrelation exactlyLocated located)
3106 (documentation exactlyLocated "The actual, minimal location of an     3117 (documentation exactlyLocated "The actual, minimal location of an
3107 Object. This is a subrelation of the more general &%Predicate     3118 Object. This is a subrelation of the more general &%Predicate
3108 &%located.")     3119 &%located.")
3109     3120
3110 (=>     3121 (=>
3111    (exactlyLocated ?OBJ ?REGION)     3122    (exactlyLocated ?OBJ ?REGION)
3112    (not     3123    (not
3113       (exists (?OTHEROBJ)     3124       (exists (?OTHEROBJ)
3114          (and     3125          (and
3115             (exactlyLocated ?OTHEROBJ ?REGION)     3126             (exactlyLocated ?OTHEROBJ ?REGION)
3116             (not     3127             (not
3117                (equal ?OTHEROBJ ?OBJ))))))     3128                (equal ?OTHEROBJ ?OBJ))))))
3118     3129
3119 (instance between SpatialRelation)     3130 (instance between SpatialRelation)
3120 (instance between TernaryPredicate)     3131 (instance between TernaryPredicate)
3121 (domain between 1 Object)     3132 (domain between 1 Object)
3122 (domain between 2 Object)     3133 (domain between 2 Object)
3123 (domain between 3 Object)     3134 (domain between 3 Object)
3124 (documentation between "(between ?OBJ1 ?OBJ2 ?OBJ3) means that ?OBJ2 is     3135 (documentation between "(between ?OBJ1 ?OBJ2 ?OBJ3) means that ?OBJ2 is
3125 spatially located between ?OBJ1 and ?OBJ3. Note that this implies that     3136 spatially located between ?OBJ1 and ?OBJ3. Note that this implies that
3126 ?OBJ2 is directly between ?OBJ1 and ?OBJ3, i.e. the projections of ?OBJ1     3137 ?OBJ2 is directly between ?OBJ1 and ?OBJ3, i.e. the projections of ?OBJ1
3127 and ?OBJ3 overlap with ?OBJ2.")     3138 and ?OBJ3 overlap with ?OBJ2.")
3128     3139
3129 (instance traverses SpatialRelation)     3140 (instance traverses SpatialRelation)
3130 (domain traverses 1 Object)     3141 (domain traverses 1 Object)
3131 (domain traverses 2 Object)     3142 (domain traverses 2 Object)
3132 (documentation traverses "(&%traverses ?OBJ1 ?OBJ2) means that ?OBJ1     3143 (documentation traverses "(&%traverses ?OBJ1 ?OBJ2) means that ?OBJ1
3133 crosses or extends across ?OBJ2. Note that &%crosses and     3144 crosses or extends across ?OBJ2. Note that &%crosses and
3134 &%penetrates are subrelations of &%traverses.")     3145 &%penetrates are subrelations of &%traverses.")
3135     3146
3136 (=>     3147 (=>
3137    (traverses ?OBJ1 ?OBJ2)     3148    (traverses ?OBJ1 ?OBJ2)
3138    (or     3149    (or
3139       (crosses ?OBJ1 ?OBJ2)     3150       (crosses ?OBJ1 ?OBJ2)
3140       (penetrates ?OBJ1 ?OBJ2)))     3151       (penetrates ?OBJ1 ?OBJ2)))
3141     3152
3142 (subrelation crosses traverses)     3153 (subrelation crosses traverses)
3143 (instance crosses AsymmetricRelation)     3154 (instance crosses AsymmetricRelation)
3144 (instance crosses TransitiveRelation)     3155 (instance crosses TransitiveRelation)
3145 (disjointRelation crosses connected)     3156 (disjointRelation crosses connected)
3146 (documentation crosses "(crosses ?OBJ1 ?OBJ2) means that     3157 (documentation crosses "(crosses ?OBJ1 ?OBJ2) means that
3147 &%Object ?OBJ1 &%traverses Object ?OBJ2, without being &%connected     3158 &%Object ?OBJ1 &%traverses Object ?OBJ2, without being &%connected
3148 to it.")     3159 to it.")
3149     3160
3150 (subrelation penetrates traverses)     3161 (subrelation penetrates traverses)
3151 (subrelation penetrates meetsSpatially)     3162 (subrelation penetrates meetsSpatially)
3152 (instance penetrates AsymmetricRelation)     3163 (instance penetrates AsymmetricRelation)
3153 (instance penetrates IntransitiveRelation)     3164 (instance penetrates IntransitiveRelation)
3154 (documentation penetrates "(penetrates ?OBJ1 ?OBJ2) means that     3165 (documentation penetrates "(penetrates ?OBJ1 ?OBJ2) means that
3155 ?OBJ1 is &%connected to ?OBJ2 along at least one whole dimension (length,     3166 ?OBJ1 is &%connected to ?OBJ2 along at least one whole dimension (length,
3156 width or depth).")     3167 width or depth).")
3157     3168
3158 (instance WhereFn BinaryFunction)     3169 (instance WhereFn BinaryFunction)
3159 (instance WhereFn SpatialRelation)     3170 (instance WhereFn SpatialRelation)
3160 (instance WhereFn TotalValuedRelation)     3171 (instance WhereFn TotalValuedRelation)
3161 (domain WhereFn 1 Physical)     3172 (domain WhereFn 1 Physical)
3162 (domain WhereFn 2 TimePoint)     3173 (domain WhereFn 2 TimePoint)
3163 (range WhereFn Region)     3174 (range WhereFn Region)
3164 (relatedInternalConcept WhereFn WhenFn)     3175 (relatedInternalConcept WhereFn WhenFn)
3165 (documentation WhereFn "Maps an &%Object and a &%TimePoint at which the     3176 (documentation WhereFn "Maps an &%Object and a &%TimePoint at which the
3166 &%Object exists to the &%Region where the &%Object existed at that     3177 &%Object exists to the &%Region where the &%Object existed at that
3167 &%TimePoint.")     3178 &%TimePoint.")
3168     3179
3169 (<=>     3180 (<=>
3170    (equal (WhereFn ?THING ?TIME) ?REGION)     3181    (equal (WhereFn ?THING ?TIME) ?REGION)
3171    (holdsDuring ?TIME (exactlyLocated ?THING ?REGION)))     3182    (holdsDuring ?TIME (exactlyLocated ?THING ?REGION)))
3172     3183
3173 (instance possesses BinaryPredicate)     3184 (instance possesses BinaryPredicate)
3174 (instance possesses AsymmetricRelation)     3185 (instance possesses AsymmetricRelation)
3175 (domain possesses 1 Agent)     3186 (domain possesses 1 Agent)
3176 (domain possesses 2 Object)     3187 (domain possesses 2 Object)
3177 (documentation possesses "&%Relation that holds between an &%Agent and     3188 (documentation possesses "&%Relation that holds between an &%Agent and
3178 an &%Object when the &%Agent has ownership of the &%Object.")     3189 an &%Object when the &%Agent has ownership of the &%Object.")
3179     3190
3180 (=>     3191 (=>
3181    (possesses ?PERSON ?OBJ)     3192    (possesses ?PERSON ?OBJ)
3182    (holdsRight (uses ?OBJ ?PERSON) ?PERSON))     3193    (holdsRight (uses ?OBJ ?PERSON) ?PERSON))
3183     3194
3184 (=>     3195 (=>
3185    (and     3196    (and
3186       (instance ?TIME TimePosition)     3197       (instance ?TIME TimePosition)
3187       (holdsDuring ?TIME (possesses ?AGENT1 ?OBJ))     3198       (holdsDuring ?TIME (possesses ?AGENT1 ?OBJ))
3188       (holdsDuring ?TIME (possesses ?AGENT2 ?OBJ)))     3199       (holdsDuring ?TIME (possesses ?AGENT2 ?OBJ)))
3189    (equal ?AGENT1 ?AGENT2))     3200    (equal ?AGENT1 ?AGENT2))
3190     3201
3191 (instance PropertyFn UnaryFunction)     3202 (instance PropertyFn UnaryFunction)
3192 (instance PropertyFn TotalValuedRelation)     3203 (instance PropertyFn TotalValuedRelation)
3193 (domain PropertyFn 1 Agent)     3204 (domain PropertyFn 1 Agent)
3194 (range PropertyFn Set)     3205 (range PropertyFn Set)
3195 (documentation PropertyFn "A &%UnaryFunction that maps an &%Agent to the &%Set of &%Property owned by the &%Agent.")     3206 (documentation PropertyFn "A &%UnaryFunction that maps an &%Agent to the &%Set of &%Property owned by the &%Agent.")
3196     3207
3197 (<=>     3208 (<=>
3198    (instance ?OBJ (PropertyFn ?PERSON))     3209    (instance ?OBJ (PropertyFn ?PERSON))
3199    (possesses ?PERSON ?OBJ))     3210    (possesses ?PERSON ?OBJ))
3200     3211
3201 (instance precondition BinaryPredicate)     3212 (instance precondition BinaryPredicate)
3202 (instance precondition AsymmetricRelation)     3213 (instance precondition AsymmetricRelation)
3203 (instance precondition TransitiveRelation)     3214 (instance precondition TransitiveRelation)
3204 (domainSubclass precondition 1 Process)     3215 (domainSubclass precondition 1 Process)
3205 (domainSubclass precondition 2 Process)     3216 (domainSubclass precondition 2 Process)
3206 (documentation precondition "A very general &%Predicate. (&%precondition     3217 (documentation precondition "A very general &%Predicate. (&%precondition
3207 ?PROC1 ?PROC2) means that ?PROC2 can exist or be true only if     3218 ?PROC1 ?PROC2) means that ?PROC2 can exist or be true only if
3208 ?PROC1 exists or is true.")     3219 ?PROC1 exists or is true.")
3209     3220
3210 (=>     3221 (=>
3211    (precondition ?PROC1 ?PROC2)     3222    (precondition ?PROC1 ?PROC2)
3212    (=>     3223    (=>
3213       (exists (?INST2) (instance ?INST2 ?PROC2))     3224       (exists (?INST2) (instance ?INST2 ?PROC2))
3214       (exists (?INST1) (instance ?INST1 ?PROC1))))     3225       (exists (?INST1) (instance ?INST1 ?PROC1))))
3215     3226
3216 (instance inhibits BinaryPredicate)     3227 (instance inhibits BinaryPredicate)
3217 (instance inhibits IrreflexiveRelation)     3228 (instance inhibits IrreflexiveRelation)
3218 (domainSubclass inhibits 1 Process)     3229 (domainSubclass inhibits 1 Process)
3219 (domainSubclass inhibits 2 Process)     3230 (domainSubclass inhibits 2 Process)
3220 (documentation inhibits "A very general &%Predicate. (&%inhibits     3231 (documentation inhibits "A very general &%Predicate. (&%inhibits
3221 ?PROC1 ?PROC2) means that the &%Process ?PROC1 inhibits or hinders     3232 ?PROC1 ?PROC2) means that the &%Process ?PROC1 inhibits or hinders
3222 the occurrence of the &%Process ?PROC2. For example, obstructing an     3233 the occurrence of the &%Process ?PROC2. For example, obstructing an
3223 object inhibits moving it. Note that this is a relation between types     3234 object inhibits moving it. Note that this is a relation between types
3224 of &%Processes, not between instances.")     3235 of &%Processes, not between instances.")
3225     3236
3226 (=>     3237 (=>
3227    (inhibits ?PROC1 ?PROC2)     3238    (inhibits ?PROC1 ?PROC2)
3228    (forall (?TIME ?PLACE)     3239    (forall (?TIME ?PLACE)
3229       (decreasesLikelihood     3240       (decreasesLikelihood
3230 (holdsDuring ?TIME (exists (?INST1) (and (instance ?INST1 ?PROC1) (located ?INST1 ?PLACE))))     3241 (holdsDuring ?TIME (exists (?INST1) (and (instance ?INST1 ?PROC1) (located ?INST1 ?PLACE))))
3231             (holdsDuring ?TIME (exists (?INST2) (and (instance ?INST2 ?PROC2) (located ?INST2 ?PLACE)))))))     3242             (holdsDuring ?TIME (exists (?INST2) (and (instance ?INST2 ?PROC2) (located ?INST2 ?PLACE)))))))
3232     3243
3233 (instance prevents BinaryPredicate)     3244 (instance prevents BinaryPredicate)
3234 (instance prevents IrreflexiveRelation)     3245 (instance prevents IrreflexiveRelation)
3235 (domainSubclass prevents 1 Process)     3246 (domainSubclass prevents 1 Process)
3236 (domainSubclass prevents 2 Process)     3247 (domainSubclass prevents 2 Process)
3237 (relatedInternalConcept prevents inhibits)     3248 (relatedInternalConcept prevents inhibits)
3238 (documentation prevents "A very general &%Predicate. (&%prevents ?PROC1     3249 (documentation prevents "A very general &%Predicate. (&%prevents ?PROC1
3239 ?PROC2) means that ?PROC1 prevents the occurrence of ?PROC2. In other     3250 ?PROC2) means that ?PROC1 prevents the occurrence of ?PROC2. In other
3240 words, if ?PROC1 is occurring in a particular time and place, ?PROC2     3251 words, if ?PROC1 is occurring in a particular time and place, ?PROC2
3241 cannot occur at the same time and place. For example, innoculating     3252 cannot occur at the same time and place. For example, innoculating
3242 prevents contracting disease. Note that this is a relation between types     3253 prevents contracting disease. Note that this is a relation between types
3243 of &%Processes, not between instances.")     3254 of &%Processes, not between instances.")
3244     3255
3245 (=>     3256 (=>
3246    (prevents ?PROC1 ?PROC2)     3257    (prevents ?PROC1 ?PROC2)
3247    (forall (?TIME ?PLACE)     3258    (forall (?TIME ?PLACE)
3248       (=>     3259       (=>
3249          (holdsDuring ?TIME (exists (?INST1) (and (instance ?INST1 ?PROC1) (located ?INST1 ?PLACE))))     3260          (holdsDuring ?TIME (exists (?INST1) (and (instance ?INST1 ?PROC1) (located ?INST1 ?PLACE))))
3250          (not (holdsDuring ?TIME (exists (?INST2) (and (instance ?INST2 ?PROC2) (located ?INST2 ?PLACE))))))))     3261          (not (holdsDuring ?TIME (exists (?INST2) (and (instance ?INST2 ?PROC2) (located ?INST2 ?PLACE))))))))
3251     3262
3252 (instance refers BinaryPredicate)     3263 (instance refers BinaryPredicate)
3253 (domain refers 1 Physical)     3264 (domain refers 1 Physical)
3254 (domain refers 2 Entity)     3265 (domain refers 2 Entity)
3255 (documentation refers "(&%refers ?OBJ1 ?OBJ2) means that ?OBJ1     3266 (documentation refers "(&%refers ?OBJ1 ?OBJ2) means that ?OBJ1
3256 mentions or includes a reference to ?OBJ2. Note that &%refers is     3267 mentions or includes a reference to ?OBJ2. Note that &%refers is
3257 more general in meaning than &%represents, because presumably something     3268 more general in meaning than &%represents, because presumably something
3258 can represent something else only if it refers to this other thing.     3269 can represent something else only if it refers to this other thing.
3259 For example, an article whose topic is a recent change in the price of     3270 For example, an article whose topic is a recent change in the price of
3260 oil may refer to many other things, e.g. the general state of the economy,     3271 oil may refer to many other things, e.g. the general state of the economy,
3261 the weather in California, the prospect of global warming, the options     3272 the weather in California, the prospect of global warming, the options
3262 for alternative energy sources, the stock prices of various oil companies,     3273 for alternative energy sources, the stock prices of various oil companies,
3263 etc.")     3274 etc.")
3264     3275
3265 (subrelation names refers)     3276 (subrelation names refers)
3266 (domain names 1 SymbolicString)     3277 (domain names 1 SymbolicString)
3267 (documentation names "(&%names ?STRING ?ENTITY) means that the thing ?ENTITY     3278 (documentation names "(&%names ?STRING ?ENTITY) means that the thing ?ENTITY
3268 has the &%SymbolicString ?STRING as its name. Note that &%names and &%represents     3279 has the &%SymbolicString ?STRING as its name. Note that &%names and &%represents
3269 are the two immediate &%subrelations of &%refers. The predicate &%names is used     3280 are the two immediate &%subrelations of &%refers. The predicate &%names is used
3270 when the referring item is merely a tag without connotative content, while the     3281 when the referring item is merely a tag without connotative content, while the
3271 predicate &%represents is used for referring items that have such content.")     3282 predicate &%represents is used for referring items that have such content.")
3272     3283
3273 (subrelation uniqueIdentifier names)     3284 (subrelation uniqueIdentifier names)
3274 (instance uniqueIdentifier SingleValuedRelation)     3285 (instance uniqueIdentifier SingleValuedRelation)
3275 (documentation uniqueIdentifier "The class of &%names that uniquely identify     3286 (documentation uniqueIdentifier "The class of &%names that uniquely identify
3276 an instance of &%Entity. Some examples of &%uniqueIdentifiers are the keys     3287 an instance of &%Entity. Some examples of &%uniqueIdentifiers are the keys
3277 of tables in database applications and the ISBN (International Standard Book     3288 of tables in database applications and the ISBN (International Standard Book
3278 Number).")     3289 Number).")
3279     3290
3280 (subrelation represents refers)     3291 (subrelation represents refers)
3281 (documentation represents "A very general semiotics &%Predicate.     3292 (documentation represents "A very general semiotics &%Predicate.
3282 (&%represents ?THING ?ENTITY) means that ?THING in some way indicates,     3293 (&%represents ?THING ?ENTITY) means that ?THING in some way indicates,
3283 expresses, connotes, pictures, describes, etc. ?ENTITY. The &%Predicates     3294 expresses, connotes, pictures, describes, etc. ?ENTITY. The &%Predicates
3284 &%containsInformation and &%realization are subrelations of &%represents.     3295 &%containsInformation and &%realization are subrelations of &%represents.
3285 Note that &%represents is a subrelation of &%refers, since something can     3296 Note that &%represents is a subrelation of &%refers, since something can
3286 represent something else only if it refers to this other thing. See the     3297 represent something else only if it refers to this other thing. See the
3287 documentation string for &%names.")     3298 documentation string for &%names.")
3288     3299
3289 (instance representsForAgent TernaryPredicate)     3300 (instance representsForAgent TernaryPredicate)
3290 (domain representsForAgent 1 Physical)     3301 (domain representsForAgent 1 Physical)
3291 (domain representsForAgent 2 Entity)     3302 (domain representsForAgent 2 Entity)
3292 (domain representsForAgent 3 Agent)     3303 (domain representsForAgent 3 Agent)
3293 (documentation representsForAgent "A very general predicate.     3304 (documentation representsForAgent "A very general predicate.
3294 (&%representsForAgent ?THING ?ENTITY ?AGENT) means that the ?AGENT     3305 (&%representsForAgent ?THING ?ENTITY ?AGENT) means that the ?AGENT
3295 chooses to use the &%instance of &%Physical ?THING to 'stand for'     3306 chooses to use the &%instance of &%Physical ?THING to 'stand for'
3296 ?ENTITY.")     3307 ?ENTITY.")
3297     3308
3298 (=>     3309 (=>
3299    (representsForAgent ?REP ?ENTITY ?AGENT)     3310    (representsForAgent ?REP ?ENTITY ?AGENT)
3300    (represents ?REP ?ENTITY))     3311    (represents ?REP ?ENTITY))
3301     3312
3302 (instance representsInLanguage TernaryPredicate)     3313 (instance representsInLanguage TernaryPredicate)
3303 (domain representsInLanguage 1 Physical)     3314 (domain representsInLanguage 1 Physical)
3304 (domain representsInLanguage 2 Entity)     3315 (domain representsInLanguage 2 Entity)
3305 (domain representsInLanguage 3 Language)     3316 (domain representsInLanguage 3 Language)
3306 (documentation representsInLanguage "A very general predicate.     3317 (documentation representsInLanguage "A very general predicate.
3307 (&%representsInLanguage ?THING ?ENTITY ?LANGUAGE) means that the     3318 (&%representsInLanguage ?THING ?ENTITY ?LANGUAGE) means that the
3308 &%instance of &%Physical ?THING stands for ?ENTITY in the language     3319 &%instance of &%Physical ?THING stands for ?ENTITY in the language
3309 ?LANGUAGE.")     3320 ?LANGUAGE.")
3310     3321
3311 (=>     3322 (=>
3312    (representsInLanguage ?REP ?ENTITY ?LANGUAGE)     3323    (representsInLanguage ?REP ?ENTITY ?LANGUAGE)
3313    (exists (?AGENT)     3324    (exists (?AGENT)
3314       (representsForAgent ?REP ?ENTITY ?AGENT)))     3325       (representsForAgent ?REP ?ENTITY ?AGENT)))
3315     3326
3316 (subrelation equivalentContentClass subsumesContentClass)     3327 (subrelation equivalentContentClass subsumesContentClass)
3317 (instance equivalentContentClass EquivalenceRelation)     3328 (instance equivalentContentClass EquivalenceRelation)
3318 (domainSubclass equivalentContentClass 1 ContentBearingObject)     3329 (domainSubclass equivalentContentClass 1 ContentBearingObject)
3319 (domainSubclass equivalentContentClass 2 ContentBearingObject)     3330 (domainSubclass equivalentContentClass 2 ContentBearingObject)
3320 (documentation equivalentContentClass "A &%BinaryPredicate that relates two     3331 (documentation equivalentContentClass "A &%BinaryPredicate that relates two
3321 subclasses of &%ContentBearingObject. (&%equivalentContentClass ?CLASS1     3332 subclasses of &%ContentBearingObject. (&%equivalentContentClass ?CLASS1
3322 ?CLASS2) means that the content expressed by each instance of ?CLASS1 is     3333 ?CLASS2) means that the content expressed by each instance of ?CLASS1 is
3323 also expressed by each instance of ?CLASS2, and vice versa. An example     3334 also expressed by each instance of ?CLASS2, and vice versa. An example
3324 would be the relationship between English and Russian editions of Agatha     3335 would be the relationship between English and Russian editions of Agatha
3325 Christie's 'Murder on the Orient Express'. Note that     3336 Christie's 'Murder on the Orient Express'. Note that
3326 (&%equivalentContentClass ?CLASS1 ?CLASS2) implies (&%subsumesContentClass     3337 (&%equivalentContentClass ?CLASS1 ?CLASS2) implies (&%subsumesContentClass
3327 ?CLASS1 ?CLASS2) and (&%subsumesContentClass ?CLASS2 ?CLASS1).")     3338 ?CLASS1 ?CLASS2) and (&%subsumesContentClass ?CLASS2 ?CLASS1).")
3328     3339
3329 (<=>     3340 (<=>
3330    (and     3341    (and
3331       (subsumesContentClass ?CLASS1 ?CLASS2)     3342       (subsumesContentClass ?CLASS1 ?CLASS2)
3332       (subsumesContentClass ?CLASS2 ?CLASS1))     3343       (subsumesContentClass ?CLASS2 ?CLASS1))
3333    (equivalentContentClass ?CLASS1 ?CLASS2))     3344    (equivalentContentClass ?CLASS1 ?CLASS2))
3334     3345
3335 (instance subsumesContentClass BinaryPredicate)     3346 (instance subsumesContentClass BinaryPredicate)
3336 (instance subsumesContentClass PartialOrderingRelation)     3347 (instance subsumesContentClass PartialOrderingRelation)
3337 (domainSubclass subsumesContentClass 1 ContentBearingObject)     3348 (domainSubclass subsumesContentClass 1 ContentBearingObject)
3338 (domainSubclass subsumesContentClass 2 ContentBearingObject)     3349 (domainSubclass subsumesContentClass 2 ContentBearingObject)
3339 (documentation subsumesContentClass "A &%BinaryPredicate that relates two     3350 (documentation subsumesContentClass "A &%BinaryPredicate that relates two
3340 subclasses of &%ContentBearingObject. (&%subsumesContentClass ?CLASS1     3351 subclasses of &%ContentBearingObject. (&%subsumesContentClass ?CLASS1
3341 ?CLASS2) means that the content expressed by each instance of ?CLASS2 is     3352 ?CLASS2) means that the content expressed by each instance of ?CLASS2 is
3342 also expressed by each instance of ?CLASS1. Examples include the     3353 also expressed by each instance of ?CLASS1. Examples include the
3343 relationship between a poem and one of its stanzas or between a book and     3354 relationship between a poem and one of its stanzas or between a book and
3344 one of its chapters. Note that this is a relation between subclasses of     3355 one of its chapters. Note that this is a relation between subclasses of
3345 &%ContentBearingObject, rather than instances. If one wants to relate     3356 &%ContentBearingObject, rather than instances. If one wants to relate
3346 instances, the &%Predicate &%subsumesContentInstance can be used. Note     3357 instances, the &%Predicate &%subsumesContentInstance can be used. Note
3347 that &%subsumesContentClass is needed in many cases. Consider, for     3358 that &%subsumesContentClass is needed in many cases. Consider, for
3348 example, the relation between the King James edition of the Bible and its     3359 example, the relation between the King James edition of the Bible and its
3349 Book of Genesis. This relation holds for every copy of this edition and     3360 Book of Genesis. This relation holds for every copy of this edition and
3350 not just for a single instance.")     3361 not just for a single instance.")
3351     3362
3352 (=>     3363 (=>
3353    (subsumesContentClass ?CLASS1 ?CLASS2)     3364    (subsumesContentClass ?CLASS1 ?CLASS2)
3354    (forall (?OBJ2 ?INFO)     3365    (forall (?OBJ2 ?INFO)
3355       (=>     3366       (=>
3356          (and     3367          (and
3357 (instance ?OBJ2 ?CLASS2)     3368 (instance ?OBJ2 ?CLASS2)
3358             (containsInformation ?OBJ2 ?INFO))     3369             (containsInformation ?OBJ2 ?INFO))
3359          (exists (?OBJ1)     3370          (exists (?OBJ1)
3360             (and     3371             (and
3361                (instance ?OBJ1 ?CLASS1)     3372                (instance ?OBJ1 ?CLASS1)
3362                (containsInformation ?OBJ1 ?INFO))))))     3373                (containsInformation ?OBJ1 ?INFO))))))
3363     3374
3364 (subrelation equivalentContentInstance subsumesContentInstance)     3375 (subrelation equivalentContentInstance subsumesContentInstance)
3365 (instance equivalentContentInstance EquivalenceRelation)     3376 (instance equivalentContentInstance EquivalenceRelation)
3366 (domain equivalentContentInstance 1 ContentBearingObject)     3377 (domain equivalentContentInstance 1 ContentBearingObject)
3367 (domain equivalentContentInstance 2 ContentBearingObject)     3378 (domain equivalentContentInstance 2 ContentBearingObject)
3368 (relatedInternalConcept equivalentContentInstance equivalentContentClass)     3379 (relatedInternalConcept equivalentContentInstance equivalentContentClass)
3369 (documentation equivalentContentInstance "A &%BinaryPredicate relating two     3380 (documentation equivalentContentInstance "A &%BinaryPredicate relating two
3370 instances of &%ContentBearingObject. (&%equivalentContentInstance     3381 instances of &%ContentBearingObject. (&%equivalentContentInstance
3371 ?OBJ1 ?OBJ2) means that the content expressed by ?OBJ1 is identical to     3382 ?OBJ1 ?OBJ2) means that the content expressed by ?OBJ1 is identical to
3372 the content expressed by ?OBJ2. An example would be the relationship     3383 the content expressed by ?OBJ2. An example would be the relationship
3373 between a handwritten draft of a letter to one's lawyer and a typed     3384 between a handwritten draft of a letter to one's lawyer and a typed
3374 copy of the same letter. Note that (&%equivalentContentInstance ?OBJ1     3385 copy of the same letter. Note that (&%equivalentContentInstance ?OBJ1
3375 ?OBJ2) implies (&%subsumesContentInstance ?OBJ1 ?OBJ2) and     3386 ?OBJ2) implies (&%subsumesContentInstance ?OBJ1 ?OBJ2) and
3376 (&%subsumesContentInstance ?OBJ2 ?OBJ2).")     3387 (&%subsumesContentInstance ?OBJ2 ?OBJ2).")
3377     3388
3378 (<=>     3389 (<=>
3379    (and     3390    (and
3380       (subsumesContentInstance ?OBJ1 ?OBJ2)     3391       (subsumesContentInstance ?OBJ1 ?OBJ2)
3381       (subsumesContentInstance ?OBJ2 ?OBJ1))     3392       (subsumesContentInstance ?OBJ2 ?OBJ1))
3382    (equivalentContentInstance ?OBJ1 ?OBJ2))     3393    (equivalentContentInstance ?OBJ1 ?OBJ2))
3383     3394
3384 (instance subsumesContentInstance BinaryPredicate)     3395 (instance subsumesContentInstance BinaryPredicate)
3385 (instance subsumesContentInstance PartialOrderingRelation)     3396 (instance subsumesContentInstance PartialOrderingRelation)
3386 (domain subsumesContentInstance 1 ContentBearingObject)     3397 (domain subsumesContentInstance 1 ContentBearingObject)
3387 (domain subsumesContentInstance 2 ContentBearingObject)     3398 (domain subsumesContentInstance 2 ContentBearingObject)
3388 (relatedInternalConcept subsumesContentInstance subsumesContentClass)     3399 (relatedInternalConcept subsumesContentInstance subsumesContentClass)
3389 (documentation subsumesContentInstance "A &%BinaryPredicate relating two     3400 (documentation subsumesContentInstance "A &%BinaryPredicate relating two
3390 instances of &%ContentBearingObject. (&%subsumesContentInstance ?OBJ1 ?OBJ2)     3401 instances of &%ContentBearingObject. (&%subsumesContentInstance ?OBJ1 ?OBJ2)
3391 means that the content expressed by ?OBJ2 is part of the content expressed     3402 means that the content expressed by ?OBJ2 is part of the content expressed
3392 by ?OBJ1. An example is the relationship between a handwritten poem and     3403 by ?OBJ1. An example is the relationship between a handwritten poem and
3393 one of its stanzas. Note that this is a relation between instances,     3404 one of its stanzas. Note that this is a relation between instances,
3394 rather than &%Classes. If one wants to assert a content relationship     3405 rather than &%Classes. If one wants to assert a content relationship
3395 between &%Classes, e.g. between the version of an intellectual work and a     3406 between &%Classes, e.g. between the version of an intellectual work and a
3396 part of that work, the relation &%subsumesContentClass should be used.")     3407 part of that work, the relation &%subsumesContentClass should be used.")
3397     3408
3398 (=>     3409 (=>
3399    (subsumesContentInstance ?OBJ1 ?OBJ2)     3410    (subsumesContentInstance ?OBJ1 ?OBJ2)
3400    (forall (?INFO)     3411    (forall (?INFO)
3401       (=>     3412       (=>
3402          (containsInformation ?OBJ2 ?INFO)     3413          (containsInformation ?OBJ2 ?INFO)
3403          (containsInformation ?OBJ1 ?INFO))))     3414          (containsInformation ?OBJ1 ?INFO))))
3404     3415
3405 (subrelation realization represents)     3416 (subrelation realization represents)
3406 (instance realization AsymmetricRelation)     3417 (instance realization AsymmetricRelation)
3407 (domain realization 1 Process)     3418 (domain realization 1 Process)
3408 (domain realization 2 Proposition)     3419 (domain realization 2 Proposition)
3409 (relatedInternalConcept realization equivalentContentInstance)     3420 (relatedInternalConcept realization equivalentContentInstance)
3410 (relatedInternalConcept realization containsInformation)     3421 (relatedInternalConcept realization containsInformation)
3411 (documentation realization "A subrelation of &%represents.     3422 (documentation realization "A subrelation of &%represents.
3412 (&%realization ?PROCESS ?PROP) means that ?PROCESS is a Process which     3423 (&%realization ?PROCESS ?PROP) means that ?PROCESS is a Process which
3413 expresses the content of ?PROP. Examples include a particular musical     3424 expresses the content of ?PROP. Examples include a particular musical
3414 performance, which realizes the content of a musical score, or the     3425 performance, which realizes the content of a musical score, or the
3415 reading of a poem.")     3426 reading of a poem.")
3416     3427
3417 (=>     3428 (=>
3418    (realization ?PROCESS ?PROP)     3429    (realization ?PROCESS ?PROP)
3419    (exists (?OBJ)     3430    (exists (?OBJ)
3420       (and     3431       (and
3421          (instance ?OBJ ContentBearingObject)     3432          (instance ?OBJ ContentBearingObject)
3422          (containsInformation ?OBJ ?PROP))))     3433          (containsInformation ?OBJ ?PROP))))
3423     3434
3424 (instance expressedInLanguage BinaryPredicate)     3435 (instance expressedInLanguage BinaryPredicate)
3425 (instance expressedInLanguage AsymmetricRelation)     3436 (instance expressedInLanguage AsymmetricRelation)
3426 (domain expressedInLanguage 1 LinguisticExpression)     3437 (domain expressedInLanguage 1 LinguisticExpression)
3427 (domain expressedInLanguage 2 Language)     3438 (domain expressedInLanguage 2 Language)
3428 (documentation expressedInLanguage "(&%expressedInLanguage ?EXPRESS ?LANG)     3439 (documentation expressedInLanguage "(&%expressedInLanguage ?EXPRESS ?LANG)
3429 means that ?EXPRESS is expressed in &%Language ?LANG.")     3440 means that ?EXPRESS is expressed in &%Language ?LANG.")
3430     3441
3431 (<=>     3442 (<=>
3432 (expressedInLanguage ?EXPRESS ?LANGUAGE)     3443 (expressedInLanguage ?EXPRESS ?LANGUAGE)
3433 (exists (?PROP)     3444 (exists (?PROP)
3434 (representsInLanguage ?EXPRESS ?PROP ?LANGUAGE)))     3445 (representsInLanguage ?EXPRESS ?PROP ?LANGUAGE)))
3435     3446
3436 (instance subProposition BinaryPredicate)     3447 (instance subProposition BinaryPredicate)
3437 (instance subProposition TransitiveRelation)     3448 (instance subProposition TransitiveRelation)
3438 (instance subProposition IrreflexiveRelation)     3449 (instance subProposition IrreflexiveRelation)
3439 (domain subProposition 1 Proposition)     3450 (domain subProposition 1 Proposition)
3440 (domain subProposition 2 Proposition)     3451 (domain subProposition 2 Proposition)
3441 (documentation subProposition "(&%subProposition ?PROP1 ?PROP2) means that     3452 (documentation subProposition "(&%subProposition ?PROP1 ?PROP2) means that
3442 ?PROP1 is a &%Proposition which is a proper part of the &%Proposition ?PROP2.     3453 ?PROP1 is a &%Proposition which is a proper part of the &%Proposition ?PROP2.
3443 In other words, &%subProposition is the analogue of &%properPart for chunks     3454 In other words, &%subProposition is the analogue of &%properPart for chunks
3444 of abstract content.")     3455 of abstract content.")
3445     3456
3446 (=>     3457 (=>
3447    (subProposition ?PROP1 ?PROP2)     3458    (subProposition ?PROP1 ?PROP2)
3448    (forall (?OBJ1 ?OBJ2)     3459    (forall (?OBJ1 ?OBJ2)
3449       (=>     3460       (=>
3450          (and     3461          (and
3451             (containsInformation ?OBJ1 ?PROP1)     3462             (containsInformation ?OBJ1 ?PROP1)
3452             (containsInformation ?OBJ2 ?PROP2))     3463             (containsInformation ?OBJ2 ?PROP2))
3453          (subsumesContentInstance ?OBJ2 ?OBJ1))))     3464          (subsumesContentInstance ?OBJ2 ?OBJ1))))
3454     3465
3455 (subrelation subPlan subProposition)     3466 (subrelation subPlan subProposition)
3456 (instance subPlan TransitiveRelation)     3467 (instance subPlan TransitiveRelation)
3457 (instance subPlan IrreflexiveRelation)     3468 (instance subPlan IrreflexiveRelation)
3458 (domain subPlan 1 Plan)     3469 (domain subPlan 1 Plan)
3459 (domain subPlan 2 Plan)     3470 (domain subPlan 2 Plan)
3460 (documentation subPlan "(&%subPlan ?PLAN1 ?PLAN2) means that ?PLAN1     3471 (documentation subPlan "(&%subPlan ?PLAN1 ?PLAN2) means that ?PLAN1
3461 is a &%Plan which is a proper part of ?PLAN2. This relation is generally     3472 is a &%Plan which is a proper part of ?PLAN2. This relation is generally
3462 used to relate a supporting &%Plan to the overall &%Plan in a particular     3473 used to relate a supporting &%Plan to the overall &%Plan in a particular
3463 context.")     3474 context.")
3464     3475
3465 (instance uses BinaryPredicate)     3476 (instance uses BinaryPredicate)
3466 (instance uses AsymmetricRelation)     3477 (instance uses AsymmetricRelation)
3467 (domain uses 1 Object)     3478 (domain uses 1 Object)
3468 (domain uses 2 Agent)     3479 (domain uses 2 Agent)
3469 (documentation uses "(&%uses ?OBJECT AGENT) means that ?OBJECT is used by     3480 (documentation uses "(&%uses ?OBJECT AGENT) means that ?OBJECT is used by
3470 ?AGENT as an instrument in an unspecified &%Process. This &%Predicate,     3481 ?AGENT as an instrument in an unspecified &%Process. This &%Predicate,
3471 as its corresponding axiom indicates, is a composition of the &%CaseRoles     3482 as its corresponding axiom indicates, is a composition of the &%CaseRoles
3472 &%agent and &%instrument.")     3483 &%agent and &%instrument.")
3473     3484
3474 (=>     3485 (=>
3475      (uses ?OBJ ?AGENT)     3486      (uses ?OBJ ?AGENT)
3476      (exists (?PROC)     3487      (exists (?PROC)
3477           (and     3488           (and
3478                (agent ?PROC ?AGENT)     3489                (agent ?PROC ?AGENT)
3479                (instrument ?PROC ?OBJ))))     3490                (instrument ?PROC ?OBJ))))
3480     3491
3481 ;; END FILE     3492 ;; END FILE
3482     3493
3483 ;; BEGIN FILE     3494 ;; BEGIN FILE
3484     3495
3485     3496
3486 ;;;;;;;;;;;;;;;;;;;;;;;;;;     3497 ;;;;;;;;;;;;;;;;;;;;;;;;;;
3487 ;; NUMERIC FUNCTIONS ;;     3498 ;; NUMERIC FUNCTIONS ;;
3488 ;;;;;;;;;;;;;;;;;;;;;;;;;;     3499 ;;;;;;;;;;;;;;;;;;;;;;;;;;
3489     3500
3490 ;; INCLUDES 'STRUCTURAL ONTOLOGY'     3501 ;; INCLUDES 'STRUCTURAL ONTOLOGY'
3491 ;; INCLUDES 'BASE ONTOLOGY'     3502 ;; INCLUDES 'BASE ONTOLOGY'
3492     3503
3493 (instance MultiplicationFn BinaryFunction)     3504 (instance MultiplicationFn BinaryFunction)
3494 (instance MultiplicationFn AssociativeFunction)     3505 (instance MultiplicationFn AssociativeFunction)
3495 (instance MultiplicationFn CommutativeFunction)     3506 (instance MultiplicationFn CommutativeFunction)
3496 (instance MultiplicationFn RelationExtendedToQuantities)     3507 (instance MultiplicationFn RelationExtendedToQuantities)
3497 (instance MultiplicationFn TotalValuedRelation)     3508 (instance MultiplicationFn TotalValuedRelation)
3498 (domain MultiplicationFn 1 Quantity)     3509 (domain MultiplicationFn 1 Quantity)
3499 (domain MultiplicationFn 2 Quantity)     3510 (domain MultiplicationFn 2 Quantity)
3500 (range MultiplicationFn Quantity)     3511 (range MultiplicationFn Quantity)
3501 (documentation MultiplicationFn "If ?NUMBER1 and ?NUMBER2 are &%Numbers,     3512 (documentation MultiplicationFn "If ?NUMBER1 and ?NUMBER2 are &%Numbers,
3502 then (&%MultiplicationFn ?NUMBER1 ?NUMBER2) is the arithmetical product     3513 then (&%MultiplicationFn ?NUMBER1 ?NUMBER2) is the arithmetical product
3503 of these numbers.")     3514 of these numbers.")
3504     3515
3505 (instance AdditionFn BinaryFunction)     3516 (instance AdditionFn BinaryFunction)
3506 (instance AdditionFn AssociativeFunction)     3517 (instance AdditionFn AssociativeFunction)
3507 (instance AdditionFn CommutativeFunction)     3518 (instance AdditionFn CommutativeFunction)
3508 (instance AdditionFn RelationExtendedToQuantities)     3519 (instance AdditionFn RelationExtendedToQuantities)
3509 (instance AdditionFn TotalValuedRelation)     3520 (instance AdditionFn TotalValuedRelation)
3510 (domain AdditionFn 1 Quantity)     3521 (domain AdditionFn 1 Quantity)
3511 (domain AdditionFn 2 Quantity)     3522 (domain AdditionFn 2 Quantity)
3512 (range AdditionFn Quantity)     3523 (range AdditionFn Quantity)
3513 (documentation AdditionFn "If ?NUMBER1 and ?NUMBER2 are &%Numbers, then     3524 (documentation AdditionFn "If ?NUMBER1 and ?NUMBER2 are &%Numbers, then
3514 (&%AdditionFn ?NUMBER1 ?NUMBER2) is the arithmetical sum of these     3525 (&%AdditionFn ?NUMBER1 ?NUMBER2) is the arithmetical sum of these
3515 numbers.")     3526 numbers.")
3516     3527
3517 (equal (SuccessorFn ?NUMBER) (AdditionFn ?NUMBER 1))     3528 (equal (SuccessorFn ?NUMBER) (AdditionFn ?NUMBER 1))
3518     3529
3519 (instance SubtractionFn BinaryFunction)     3530 (instance SubtractionFn BinaryFunction)
3520 (instance SubtractionFn AssociativeFunction)     3531 (instance SubtractionFn AssociativeFunction)
3521 (instance SubtractionFn RelationExtendedToQuantities)     3532 (instance SubtractionFn RelationExtendedToQuantities)
3522 (instance SubtractionFn TotalValuedRelation)     3533 (instance SubtractionFn TotalValuedRelation)
3523 (domain SubtractionFn 1 Quantity)     3534 (domain SubtractionFn 1 Quantity)
3524 (domain SubtractionFn 2 Quantity)     3535 (domain SubtractionFn 2 Quantity)
3525 (range SubtractionFn Quantity)     3536 (range SubtractionFn Quantity)
3526 (documentation SubtractionFn "If ?NUMBER1 and ?NUMBER2 are &%Numbers,     3537 (documentation SubtractionFn "If ?NUMBER1 and ?NUMBER2 are &%Numbers,
3527 then (&%SubtractionFn ?NUMBER1 ?NUMBER2) is the arithmetical difference     3538 then (&%SubtractionFn ?NUMBER1 ?NUMBER2) is the arithmetical difference
3528 between ?NUMBER1 and ?NUMBER2, i.e. ?NUMBER1 minus ?NUMBER2. An     3539 between ?NUMBER1 and ?NUMBER2, i.e. ?NUMBER1 minus ?NUMBER2. An
3529 exception occurs when ?NUMBER1 is equal to 0, in which case     3540 exception occurs when ?NUMBER1 is equal to 0, in which case
3530 (&%SubtractionFn ?NUMBER1 ?NUMBER2) is the negation of ?NUMBER2.")     3541 (&%SubtractionFn ?NUMBER1 ?NUMBER2) is the negation of ?NUMBER2.")
3531     3542
3532 (equal (PredecessorFn ?NUMBER) (SubtractionFn ?NUMBER 1))     3543 (equal (PredecessorFn ?NUMBER) (SubtractionFn ?NUMBER 1))
3533     3544
3534 (instance DivisionFn BinaryFunction)     3545 (instance DivisionFn BinaryFunction)
3535 (instance DivisionFn AssociativeFunction)     3546 (instance DivisionFn AssociativeFunction)
3536 (instance DivisionFn RelationExtendedToQuantities)     3547 (instance DivisionFn RelationExtendedToQuantities)
3537 (instance DivisionFn PartialValuedRelation)     3548 (instance DivisionFn PartialValuedRelation)
3538 (domain DivisionFn 1 Quantity)     3549 (domain DivisionFn 1 Quantity)
3539 (domain DivisionFn 2 Quantity)     3550 (domain DivisionFn 2 Quantity)
3540 (range DivisionFn Quantity)     3551 (range DivisionFn Quantity)
3541 (documentation DivisionFn "If ?NUMBER1 and ?NUMBER2 are &%Numbers, then     3552 (documentation DivisionFn "If ?NUMBER1 and ?NUMBER2 are &%Numbers, then
3542 (&%DivisionFn ?NUMBER1 ?NUMBER2) is the result of dividing ?NUMBER1 by     3553 (&%DivisionFn ?NUMBER1 ?NUMBER2) is the result of dividing ?NUMBER1 by
3543 ?NUMBER2. An exception occurs when ?NUMBER1 = 1, in which case     3554 ?NUMBER2. An exception occurs when ?NUMBER1 = 1, in which case
3544 (&%DivisionFn ?NUMBER1 ?NUMBER2) is the reciprocal of ?NUMBER2.")     3555 (&%DivisionFn ?NUMBER1 ?NUMBER2) is the reciprocal of ?NUMBER2.")
3545     3556
3546 (=>     3557 (=>
3547    (instance ?NUMBER RationalNumber)     3558    (instance ?NUMBER RationalNumber)
3548    (exists (?INT1 ?INT2)     3559    (exists (?INT1 ?INT2)
3549       (and     3560       (and
3550          (instance ?INT1 Integer)     3561          (instance ?INT1 Integer)
3551          (instance ?INT2 Integer)     3562          (instance ?INT2 Integer)
3552          (equal ?NUMBER (DivisionFn ?INT1 ?INT2)))))     3563          (equal ?NUMBER (DivisionFn ?INT1 ?INT2)))))
3553     3564
3554 (instance AbsoluteValueFn UnaryFunction)     3565 (instance AbsoluteValueFn UnaryFunction)
3555 (instance AbsoluteValueFn TotalValuedRelation)     3566 (instance AbsoluteValueFn TotalValuedRelation)
3556 (domain AbsoluteValueFn 1 RealNumber)     3567 (domain AbsoluteValueFn 1 RealNumber)
3557 (range AbsoluteValueFn NonnegativeRealNumber)     3568 (range AbsoluteValueFn NonnegativeRealNumber)
3558 (documentation AbsoluteValueFn "The value of (&%AbsoluteValueFn ?NUMBER)     3569 (documentation AbsoluteValueFn "The value of (&%AbsoluteValueFn ?NUMBER)
3559 is the absolute value of the &%RealNumber ?NUMBER.")     3570 is the absolute value of the &%RealNumber ?NUMBER.")
3560     3571
3561 (<=>     3572 (<=>
3562      (and     3573      (and
3563          (equal (AbsoluteValueFn ?NUMBER1) ?NUMBER2)     3574          (equal (AbsoluteValueFn ?NUMBER1) ?NUMBER2)
3564          (instance ?NUMBER1 RealNumber)     3575          (instance ?NUMBER1 RealNumber)
3565          (instance ?NUMBER2 RealNumber))     3576          (instance ?NUMBER2 RealNumber))
3566      (or     3577      (or
3567          (and     3578          (and
3568               (instance ?NUMBER1 NonnegativeRealNumber)     3579               (instance ?NUMBER1 NonnegativeRealNumber)
3569               (equal ?NUMBER1 ?NUMBER2))     3580               (equal ?NUMBER1 ?NUMBER2))
3570          (and     3581          (and
3571               (instance ?NUMBER1 NegativeRealNumber)     3582               (instance ?NUMBER1 NegativeRealNumber)
3572               (equal ?NUMBER2 (SubtractionFn 0 ?NUMBER1)))))     3583               (equal ?NUMBER2 (SubtractionFn 0 ?NUMBER1)))))
3573     3584
3574 (instance CeilingFn UnaryFunction)     3585 (instance CeilingFn UnaryFunction)
3575 (instance CeilingFn TotalValuedRelation)     3586 (instance CeilingFn TotalValuedRelation)
3576 (domain CeilingFn 1 RealNumber)     3587 (domain CeilingFn 1 RealNumber)
3577 (range CeilingFn Integer)     3588 (range CeilingFn Integer)
3578 (documentation CeilingFn "(&%CeilingFn ?NUMBER) returns the smallest     3589 (documentation CeilingFn "(&%CeilingFn ?NUMBER) returns the smallest
3579 &%Integer greater than or equal to the &%RealNumber ?NUMBER.")     3590 &%Integer greater than or equal to the &%RealNumber ?NUMBER.")
3580     3591
3581 (=>     3592 (=>
3582    (equal (CeilingFn ?NUMBER) ?INT)     3593    (equal (CeilingFn ?NUMBER) ?INT)
3583    (not     3594    (not
3584       (exists (?OTHERINT)     3595       (exists (?OTHERINT)
3585          (and     3596          (and
3586             (instance ?OTHERINT Integer)     3597             (instance ?OTHERINT Integer)
3587             (greaterThanOrEqualTo ?OTHERINT ?NUMBER)     3598             (greaterThanOrEqualTo ?OTHERINT ?NUMBER)
3588             (lessThan ?OTHERINT ?INT)))))     3599             (lessThan ?OTHERINT ?INT)))))
3589     3600
3590 (instance CosineFn UnaryFunction)     3601 (instance CosineFn UnaryFunction)
3591 (instance CosineFn TotalValuedRelation)     3602 (instance CosineFn TotalValuedRelation)
3592 (domain CosineFn 1 PlaneAngleMeasure)     3603 (domain CosineFn 1 PlaneAngleMeasure)
3593 (range CosineFn RealNumber)     3604 (range CosineFn RealNumber)
3594 (documentation CosineFn "(&%CosineFn ?DEGREE) returns the cosine of the     3605 (documentation CosineFn "(&%CosineFn ?DEGREE) returns the cosine of the
3595 &%PlaneAngleMeasure ?DEGREE. The cosine of ?DEGREE is the ratio of the     3606 &%PlaneAngleMeasure ?DEGREE. The cosine of ?DEGREE is the ratio of the
3596 side next to ?DEGREE to the hypotenuse in a right-angled triangle.")     3607 side next to ?DEGREE to the hypotenuse in a right-angled triangle.")
3597     3608
3598 (instance DenominatorFn UnaryFunction)     3609 (instance DenominatorFn UnaryFunction)
3599 (instance DenominatorFn TotalValuedRelation)     3610 (instance DenominatorFn TotalValuedRelation)
3600 (domain DenominatorFn 1 RealNumber)     3611 (domain DenominatorFn 1 RealNumber)
3601 (range DenominatorFn Integer)     3612 (range DenominatorFn Integer)
3602 (documentation DenominatorFn "(&%DenominatorFn ?NUMBER) returns the     3613 (documentation DenominatorFn "(&%DenominatorFn ?NUMBER) returns the
3603 denominator of the canonical reduced form of the &%RealNumber ?NUMBER.")     3614 denominator of the canonical reduced form of the &%RealNumber ?NUMBER.")
3604     3615
3605 (instance ExponentiationFn BinaryFunction)     3616 (instance ExponentiationFn BinaryFunction)
3606 (instance ExponentiationFn RelationExtendedToQuantities)     3617 (instance ExponentiationFn RelationExtendedToQuantities)
3607 (instance ExponentiationFn TotalValuedRelation)     3618 (instance ExponentiationFn TotalValuedRelation)
3608 (domain ExponentiationFn 1 Quantity)     3619 (domain ExponentiationFn 1 Quantity)
3609 (domain ExponentiationFn 2 Integer)     3620 (domain ExponentiationFn 2 Integer)
3610 (range ExponentiationFn Quantity)     3621 (range ExponentiationFn Quantity)
3611 (documentation ExponentiationFn "(&%ExponentiationFn ?NUMBER ?INT) returns     3622 (documentation ExponentiationFn "(&%ExponentiationFn ?NUMBER ?INT) returns
3612 the &%RealNumber ?NUMBER raised to the power of the &%Integer ?INT.")     3623 the &%RealNumber ?NUMBER raised to the power of the &%Integer ?INT.")
3613     3624
3614 (instance FloorFn UnaryFunction)     3625 (instance FloorFn UnaryFunction)
3615 (instance FloorFn TotalValuedRelation)     3626 (instance FloorFn TotalValuedRelation)
3616 (domain FloorFn 1 RealNumber)     3627 (domain FloorFn 1 RealNumber)
3617 (range FloorFn Integer)     3628 (range FloorFn Integer)
3618 (documentation FloorFn "(&%FloorFn ?NUMBER) returns the largest &%Integer     3629 (documentation FloorFn "(&%FloorFn ?NUMBER) returns the largest &%Integer
3619 less than or equal to the &%RealNumber ?NUMBER.")     3630 less than or equal to the &%RealNumber ?NUMBER.")
3620     3631
3621 (=>     3632 (=>
3622    (equal (FloorFn ?NUMBER) ?INT)     3633    (equal (FloorFn ?NUMBER) ?INT)
3623    (not     3634    (not
3624       (exists (?OTHERINT)     3635       (exists (?OTHERINT)
3625          (and     3636          (and
3626             (instance ?OTHERINT Integer)     3637             (instance ?OTHERINT Integer)
3627             (lessThanOrEqualTo ?OTHERINT ?NUMBER)     3638             (lessThanOrEqualTo ?OTHERINT ?NUMBER)
3628             (greaterThan ?OTHERINT ?INT)))))     3639             (greaterThan ?OTHERINT ?INT)))))
3629     3640
3630 (instance GreatestCommonDivisorFn Function)     3641 (instance GreatestCommonDivisorFn Function)
3631 (instance GreatestCommonDivisorFn VariableArityRelation)     3642 (instance GreatestCommonDivisorFn VariableArityRelation)
3632 (instance GreatestCommonDivisorFn PartialValuedRelation)     3643 (instance GreatestCommonDivisorFn PartialValuedRelation)
3633 (range GreatestCommonDivisorFn Integer)     3644 (range GreatestCommonDivisorFn Integer)
3634 (documentation GreatestCommonDivisorFn "(&%GreatestCommonDivisorFn     3645 (documentation GreatestCommonDivisorFn "(&%GreatestCommonDivisorFn
3635 ?NUMBER1 ?NUMBER2 ... ?NUMBER) returns the greatest common divisor of     3646 ?NUMBER1 ?NUMBER2 ... ?NUMBER) returns the greatest common divisor of
3636 ?NUMBER1 through ?NUMBER.")     3647 ?NUMBER1 through ?NUMBER.")
3637     3648
3638 (=>     3649 (=>
3639    (equal (GreatestCommonDivisorFn @ROW) ?NUMBER)     3650    (equal (GreatestCommonDivisorFn @ROW) ?NUMBER)
3640    (forall (?ELEMENT)     3651    (forall (?ELEMENT)
3641       (=>     3652       (=>
3642          (inList ?ELEMENT (ListFn @ROW))     3653          (inList ?ELEMENT (ListFn @ROW))
3643          (equal (RemainderFn ?ELEMENT ?NUMBER) 0))))     3654          (equal (RemainderFn ?ELEMENT ?NUMBER) 0))))
3644     3655
3645 (=>     3656 (=>
3646    (equal (GreatestCommonDivisorFn @ROW) ?NUMBER)     3657    (equal (GreatestCommonDivisorFn @ROW) ?NUMBER)
3647    (not (exists (?GREATER)     3658    (not (exists (?GREATER)
3648       (and     3659       (and
3649          (greaterThan ?GREATER ?NUMBER)     3660          (greaterThan ?GREATER ?NUMBER)
3650          (forall (?ELEMENT)     3661          (forall (?ELEMENT)
3651             (=>     3662             (=>
3652                (inList ?ELEMENT (ListFn @ROW))     3663                (inList ?ELEMENT (ListFn @ROW))
3653                (equal (RemainderFn ?ELEMENT ?GREATER) 0)))))))     3664                (equal (RemainderFn ?ELEMENT ?GREATER) 0)))))))
3654     3665
3655 (instance ImaginaryPartFn UnaryFunction)     3666 (instance ImaginaryPartFn UnaryFunction)
3656 (instance ImaginaryPartFn TotalValuedRelation)     3667 (instance ImaginaryPartFn TotalValuedRelation)
3657 (domain ImaginaryPartFn 1 ComplexNumber)     3668 (domain ImaginaryPartFn 1 ComplexNumber)
3658 (range ImaginaryPartFn ImaginaryNumber)     3669 (range ImaginaryPartFn ImaginaryNumber)
3659 (documentation ImaginaryPartFn "(&%ImaginaryPartFn ?NUMBER) returns     3670 (documentation ImaginaryPartFn "(&%ImaginaryPartFn ?NUMBER) returns
3660 the part of ?NUMBER that has the square root of -1 as its factor.")     3671 the part of ?NUMBER that has the square root of -1 as its factor.")
3661     3672
3662 (=>     3673 (=>
3663    (instance ?NUMBER ComplexNumber)     3674    (instance ?NUMBER ComplexNumber)
3664    (exists (?PART1 ?PART2)     3675    (exists (?PART1 ?PART2)
3665       (and     3676       (and
3666          (equal ?PART1 (RealNumberFn ?NUMBER))     3677          (equal ?PART1 (RealNumberFn ?NUMBER))
3667          (equal ?PART2 (ImaginaryPartFn ?NUMBER)))))     3678          (equal ?PART2 (ImaginaryPartFn ?NUMBER)))))
3668     3679
3669 (instance IntegerSquareRootFn UnaryFunction)     3680 (instance IntegerSquareRootFn UnaryFunction)
3670 (instance IntegerSquareRootFn PartialValuedRelation)     3681 (instance IntegerSquareRootFn PartialValuedRelation)
3671 (domain IntegerSquareRootFn 1 RealNumber)     3682 (domain IntegerSquareRootFn 1 RealNumber)
3672 (range IntegerSquareRootFn NonnegativeInteger)     3683 (range IntegerSquareRootFn NonnegativeInteger)
3673 (documentation IntegerSquareRootFn "(&%IntegerSquareRootFn ?NUMBER)     3684 (documentation IntegerSquareRootFn "(&%IntegerSquareRootFn ?NUMBER)
3674 returns the integer square root of ?NUMBER.")     3685 returns the integer square root of ?NUMBER.")
3675     3686
3676 (instance LeastCommonMultipleFn Function)     3687 (instance LeastCommonMultipleFn Function)
3677 (instance LeastCommonMultipleFn PartialValuedRelation)     3688 (instance LeastCommonMultipleFn PartialValuedRelation)
3678 (instance LeastCommonMultipleFn VariableArityRelation)     3689 (instance LeastCommonMultipleFn VariableArityRelation)
3679 (range LeastCommonMultipleFn Integer)     3690 (range LeastCommonMultipleFn Integer)
3680 (documentation LeastCommonMultipleFn "(&%LeastCommonMultipleFn     3691 (documentation LeastCommonMultipleFn "(&%LeastCommonMultipleFn
3681 ?NUMBER1 ?NUMBER2 ... ?NUMBER) returns the least common multiple of     3692 ?NUMBER1 ?NUMBER2 ... ?NUMBER) returns the least common multiple of
3682 ?NUMBER1 through ?NUMBER.")     3693 ?NUMBER1 through ?NUMBER.")
3683     3694
3684 (=>     3695 (=>
3685    (equal (LeastCommonMultipleFn @ROW) ?NUMBER)     3696    (equal (LeastCommonMultipleFn @ROW) ?NUMBER)
3686    (forall (?ELEMENT)     3697    (forall (?ELEMENT)
3687       (=>     3698       (=>
3688          (inList ?ELEMENT (ListFn @ROW))     3699          (inList ?ELEMENT (ListFn @ROW))
3689          (equal (RemainderFn ?NUMBER ?ELEMENT) 0))))     3700          (equal (RemainderFn ?NUMBER ?ELEMENT) 0))))
3690     3701
3691 (=>     3702 (=>
3692    (equal (LeastCommonMultipleFn @ROW) ?NUMBER)     3703    (equal (LeastCommonMultipleFn @ROW) ?NUMBER)
3693    (not (exists (?LESS)     3704    (not (exists (?LESS)
3694       (and     3705       (and
3695          (lessThan ?LESS ?NUMBER)     3706          (lessThan ?LESS ?NUMBER)
3696          (forall (?ELEMENT)     3707          (forall (?ELEMENT)
3697             (=>     3708             (=>
3698                (inList ?ELEMENT (ListFn @ROW))     3709                (inList ?ELEMENT (ListFn @ROW))
3699                (equal (RemainderFn ?LESS ?ELEMENT) 0)))))))     3710                (equal (RemainderFn ?LESS ?ELEMENT) 0)))))))
3700     3711
3701 (instance LogFn BinaryFunction)     3712 (instance LogFn BinaryFunction)
3702 (domain LogFn 1 RealNumber)     3713 (domain LogFn 1 RealNumber)
3703 (domain LogFn 2 PositiveInteger)     3714 (domain LogFn 2 PositiveInteger)
3704 (range LogFn RealNumber)     3715 (range LogFn RealNumber)
3705 (documentation LogFn "(LogFn ?NUMBER ?INT) returns the logarithm of the     3716 (documentation LogFn "(LogFn ?NUMBER ?INT) returns the logarithm of the
3706 &%RealNumber ?NUMBER in the base denoted by the &%Integer ?INT.")     3717 &%RealNumber ?NUMBER in the base denoted by the &%Integer ?INT.")
3707     3718
3708 (instance MaxFn BinaryFunction)     3719 (instance MaxFn BinaryFunction)
3709 (instance MaxFn AssociativeFunction)     3720 (instance MaxFn AssociativeFunction)
3710 (instance MaxFn CommutativeFunction)     3721 (instance MaxFn CommutativeFunction)
3711 (instance MaxFn RelationExtendedToQuantities)     3722 (instance MaxFn RelationExtendedToQuantities)
3712 (instance MaxFn TotalValuedRelation)     3723 (instance MaxFn TotalValuedRelation)
3713 (domain MaxFn 1 Quantity)     3724 (domain MaxFn 1 Quantity)
3714 (domain MaxFn 2 Quantity)     3725 (domain MaxFn 2 Quantity)
3715 (range MaxFn Quantity)     3726 (range MaxFn Quantity)
3716 (documentation MaxFn "(&%MaxFn ?NUMBER1 ?NUMBER2) is the largest of     3727 (documentation MaxFn "(&%MaxFn ?NUMBER1 ?NUMBER2) is the largest of
3717 ?NUMBER1 and ?NUMBER2. In cases where ?NUMBER1 is equal to ?NUMBER2,     3728 ?NUMBER1 and ?NUMBER2. In cases where ?NUMBER1 is equal to ?NUMBER2,
3718 &%MaxFn returns one of its arguments.")     3729 &%MaxFn returns one of its arguments.")
3719     3730
3720 (=>     3731 (=>
3721    (equal (MaxFn ?NUMBER1 ?NUMBER2) ?NUMBER)     3732    (equal (MaxFn ?NUMBER1 ?NUMBER2) ?NUMBER)
3722    (or     3733    (or
3723       (and     3734       (and
3724          (equal ?NUMBER ?NUMBER1)     3735          (equal ?NUMBER ?NUMBER1)
3725          (greaterThan ?NUMBER1 ?NUMBER2))     3736          (greaterThan ?NUMBER1 ?NUMBER2))
3726       (and     3737       (and
3727          (equal ?NUMBER ?NUMBER2)     3738          (equal ?NUMBER ?NUMBER2)
3728          (greaterThan ?NUMBER2 ?NUMBER1))     3739          (greaterThan ?NUMBER2 ?NUMBER1))
3729       (and     3740       (and
3730          (equal ?NUMBER ?NUMBER1)     3741          (equal ?NUMBER ?NUMBER1)
3731          (equal ?NUMBER ?NUMBER2))))     3742          (equal ?NUMBER ?NUMBER2))))
3732     3743
3733 (instance MinFn BinaryFunction)     3744 (instance MinFn BinaryFunction)
3734 (instance MinFn AssociativeFunction)     3745 (instance MinFn AssociativeFunction)
3735 (instance MinFn CommutativeFunction)     3746 (instance MinFn CommutativeFunction)
3736 (instance MinFn RelationExtendedToQuantities)     3747 (instance MinFn RelationExtendedToQuantities)
3737 (instance MinFn TotalValuedRelation)     3748 (instance MinFn TotalValuedRelation)
3738 (domain MinFn 1 Quantity)     3749 (domain MinFn 1 Quantity)
3739 (domain MinFn 2 Quantity)     3750 (domain MinFn 2 Quantity)
3740 (range MinFn Quantity)     3751 (range MinFn Quantity)
3741 (documentation MinFn "(&%MinFn ?NUMBER1 ?NUMBER2) is the smallest of     3752 (documentation MinFn "(&%MinFn ?NUMBER1 ?NUMBER2) is the smallest of
3742 ?NUMBER1 and ?NUMBER2. In cases where ?NUMBER1 is equal to ?NUMBER2,     3753 ?NUMBER1 and ?NUMBER2. In cases where ?NUMBER1 is equal to ?NUMBER2,
3743 &%MinFn returns one of its arguments.")     3754 &%MinFn returns one of its arguments.")
3744     3755
3745 (=>     3756 (=>
3746    (equal (MinFn ?NUMBER1 ?NUMBER2) ?NUMBER)     3757    (equal (MinFn ?NUMBER1 ?NUMBER2) ?NUMBER)
3747    (or     3758    (or
3748       (and     3759       (and
3749          (equal ?NUMBER ?NUMBER1)     3760          (equal ?NUMBER ?NUMBER1)
3750          (lessThan ?NUMBER1 ?NUMBER2))     3761          (lessThan ?NUMBER1 ?NUMBER2))
3751       (and     3762       (and
3752          (equal ?NUMBER ?NUMBER2)     3763          (equal ?NUMBER ?NUMBER2)
3753          (lessThan ?NUMBER2 ?NUMBER1))     3764          (lessThan ?NUMBER2 ?NUMBER1))
3754       (and     3765       (and
3755          (equal ?NUMBER ?NUMBER1)     3766          (equal ?NUMBER ?NUMBER1)
3756          (equal ?NUMBER ?NUMBER2))))     3767          (equal ?NUMBER ?NUMBER2))))
3757     3768
3758 (instance NumeratorFn UnaryFunction)     3769 (instance NumeratorFn UnaryFunction)
3759 (instance NumeratorFn TotalValuedRelation)     3770 (instance NumeratorFn TotalValuedRelation)
3760 (domain NumeratorFn 1 RealNumber)     3771 (domain NumeratorFn 1 RealNumber)
3761 (range NumeratorFn Integer)     3772 (range NumeratorFn Integer)
3762 (documentation NumeratorFn "(&%NumeratorFn ?NUMBER) returns the numerator     3773 (documentation NumeratorFn "(&%NumeratorFn ?NUMBER) returns the numerator
3763 of the canonical reduced form ?NUMBER.")     3774 of the canonical reduced form ?NUMBER.")
3764     3775
3765 (instance Pi PositiveRealNumber)     3776 (instance Pi PositiveRealNumber)
3766 (documentation Pi "&%Pi is the &%RealNumber that     3777 (documentation Pi "&%Pi is the &%RealNumber that
3767 is the ratio of the perimeter of a circle to its diameter. It is     3778 is the ratio of the perimeter of a circle to its diameter. It is
3768 approximately equal to 3.141592653589793.")     3779 approximately equal to 3.141592653589793.")
3769     3780
3770 (instance NumberE PositiveRealNumber)     3781 (instance NumberE PositiveRealNumber)
3771 (documentation NumberE "&%NumberE is the &%RealNumber that is the base for     3782 (documentation NumberE "&%NumberE is the &%RealNumber that is the base for
3772 natural logarithms. It is approximately equal to 2.718282.")     3783 natural logarithms. It is approximately equal to 2.718282.")
3773     3784
3774 (instance RationalNumberFn UnaryFunction)     3785 (instance RationalNumberFn UnaryFunction)
3775 (domain RationalNumberFn 1 Number)     3786 (domain RationalNumberFn 1 Number)
3776 (range RationalNumberFn RationalNumber)     3787 (range RationalNumberFn RationalNumber)
3777 (documentation RationalNumberFn "(&%RationalNumberFn ?NUMBER) returns     3788 (documentation RationalNumberFn "(&%RationalNumberFn ?NUMBER) returns
3778 the rational representation of ?NUMBER.")     3789 the rational representation of ?NUMBER.")
3779     3790
3780 (instance RealNumberFn UnaryFunction)     3791 (instance RealNumberFn UnaryFunction)
3781 (domain RealNumberFn 1 Number)     3792 (domain RealNumberFn 1 Number)
3782 (range RealNumberFn RealNumber)     3793 (range RealNumberFn RealNumber)
3783 (documentation RealNumberFn "(RealNumberFn ?NUMBER) returns the part of     3794 (documentation RealNumberFn "(RealNumberFn ?NUMBER) returns the part of
3784 ?NUMBER that is a &%RealNumber.")     3795 ?NUMBER that is a &%RealNumber.")
3785     3796
3786 (instance ReciprocalFn UnaryFunction)     3797 (instance ReciprocalFn UnaryFunction)
3787 (instance ReciprocalFn RelationExtendedToQuantities)     3798 (instance ReciprocalFn RelationExtendedToQuantities)
3788 (instance ReciprocalFn TotalValuedRelation)     3799 (instance ReciprocalFn TotalValuedRelation)
3789 (domain ReciprocalFn 1 Quantity)     3800 (domain ReciprocalFn 1 Quantity)
3790 (range ReciprocalFn Quantity)     3801 (range ReciprocalFn Quantity)
3791 (documentation ReciprocalFn "(ReciprocalFn ?NUMBER) is the reciprocal     3802 (documentation ReciprocalFn "(ReciprocalFn ?NUMBER) is the reciprocal
3792 element of ?NUMBER with respect to the multiplication operator     3803 element of ?NUMBER with respect to the multiplication operator
3793 (&%MultiplicationFn), i.e. 1/?NUMBER. Not all numbers have a reciprocal     3804 (&%MultiplicationFn), i.e. 1/?NUMBER. Not all numbers have a reciprocal
3794 element. For example the number 0 does not. If a number ?NUMBER has a     3805 element. For example the number 0 does not. If a number ?NUMBER has a
3795 reciprocal ?RECIP, then the product of ?NUMBER and ?RECIP will be     3806 reciprocal ?RECIP, then the product of ?NUMBER and ?RECIP will be
3796 1, e.g. 3*1/3 = 1. The reciprocal of an element is &%equal to     3807 1, e.g. 3*1/3 = 1. The reciprocal of an element is &%equal to
3797 applying the &%ExponentiationFn function to the element to the power     3808 applying the &%ExponentiationFn function to the element to the power
3798 -1.")     3809 -1.")
3799     3810
3800 (=>     3811 (=>
3801    (instance ?NUMBER Quantity)     3812    (instance ?NUMBER Quantity)
3802    (equal (ReciprocalFn ?NUMBER) (ExponentiationFn ?NUMBER -1)))     3813    (equal (ReciprocalFn ?NUMBER) (ExponentiationFn ?NUMBER -1)))
3803     3814
3804 (=>     3815 (=>
3805    (instance ?NUMBER Quantity)     3816    (instance ?NUMBER Quantity)
3806    (equal 1 (MultiplicationFn ?NUMBER (ReciprocalFn ?NUMBER))))     3817    (equal 1 (MultiplicationFn ?NUMBER (ReciprocalFn ?NUMBER))))
3807     3818
3808 (instance RemainderFn BinaryFunction)     3819 (instance RemainderFn BinaryFunction)
3809 (instance RemainderFn RelationExtendedToQuantities)     3820 (instance RemainderFn RelationExtendedToQuantities)
3810 (instance RemainderFn PartialValuedRelation)     3821 (instance RemainderFn PartialValuedRelation)
3811 (domain RemainderFn 1 Quantity)     3822 (domain RemainderFn 1 Quantity)
3812 (domain RemainderFn 2 Quantity)     3823 (domain RemainderFn 2 Quantity)
3813 (range RemainderFn Quantity)     3824 (range RemainderFn Quantity)
3814 (documentation RemainderFn "(RemainderFn ?NUMBER ?DIVISOR) is the     3825 (documentation RemainderFn "(RemainderFn ?NUMBER ?DIVISOR) is the
3815 remainder of the number ?NUMBER divided by the number ?DIVISOR.     3826 remainder of the number ?NUMBER divided by the number ?DIVISOR.
3816 The result has the same sign as ?DIVISOR.")     3827 The result has the same sign as ?DIVISOR.")
3817     3828
3818 (<=>     3829 (<=>
3819    (equal (RemainderFn ?NUMBER1 ?NUMBER2) ?NUMBER)     3830    (equal (RemainderFn ?NUMBER1 ?NUMBER2) ?NUMBER)
3820    (equal (AdditionFn (MultiplicationFn (FloorFn (DivisionFn ?NUMBER1 ?NUMBER2)) ?NUMBER2) ?NUMBER) ?NUMBER1))     3831    (equal (AdditionFn (MultiplicationFn (FloorFn (DivisionFn ?NUMBER1 ?NUMBER2)) ?NUMBER2) ?NUMBER) ?NUMBER1))
3821     3832
3822 (=>     3833 (=>
3823    (equal (RemainderFn ?NUMBER1 ?NUMBER2) ?NUMBER)     3834    (equal (RemainderFn ?NUMBER1 ?NUMBER2) ?NUMBER)
3824    (equal (SignumFn ?NUMBER2) (SignumFn ?NUMBER)))     3835    (equal (SignumFn ?NUMBER2) (SignumFn ?NUMBER)))
3825     3836
3826     3837
3827 (=>     3838 (=>
3828 (instance ?NUMBER EvenInteger)     3839 (instance ?NUMBER EvenInteger)
3829 (equal (RemainderFn ?NUMBER 2) 0))     3840 (equal (RemainderFn ?NUMBER 2) 0))
3830     3841
3831 (=>     3842 (=>
3832 (instance ?NUMBER OddInteger)     3843 (instance ?NUMBER OddInteger)
3833 (equal (RemainderFn ?NUMBER 2) 1))     3844 (equal (RemainderFn ?NUMBER 2) 1))
3834     3845
3835 (=>     3846 (=>
3836    (instance ?PRIME PrimeNumber)     3847    (instance ?PRIME PrimeNumber)
3837    (forall (?NUMBER)     3848    (forall (?NUMBER)
3838       (=>     3849       (=>
3839          (equal (RemainderFn ?PRIME ?NUMBER) 0)     3850          (equal (RemainderFn ?PRIME ?NUMBER) 0)
3840          (or     3851          (or
3841             (equal ?NUMBER 1)     3852             (equal ?NUMBER 1)
3842             (equal ?NUMBER ?PRIME)))))     3853             (equal ?NUMBER ?PRIME)))))
3843     3854
3844 (instance RoundFn UnaryFunction)     3855 (instance RoundFn UnaryFunction)
3845 (instance RoundFn RelationExtendedToQuantities)     3856 (instance RoundFn RelationExtendedToQuantities)
3846 (instance RoundFn TotalValuedRelation)     3857 (instance RoundFn TotalValuedRelation)
3847 (domain RoundFn 1 Quantity)     3858 (domain RoundFn 1 Quantity)
3848 (range RoundFn Quantity)     3859 (range RoundFn Quantity)
3849 (documentation RoundFn "(&%RoundFn ?NUMBER) is the &%Integer closest     3860 (documentation RoundFn "(&%RoundFn ?NUMBER) is the &%Integer closest
3850 to ?NUMBER on the number line. If ?NUMBER is halfway between two     3861 to ?NUMBER on the number line. If ?NUMBER is halfway between two
3851 &%Integers (for example 3.5), it denotes the larger &%Integer.")     3862 &%Integers (for example 3.5), it denotes the larger &%Integer.")
3852     3863
3853 (=>     3864 (=>
3854    (equal (RoundFn ?NUMBER1) ?NUMBER2)     3865    (equal (RoundFn ?NUMBER1) ?NUMBER2)
3855    (or     3866    (or
3856       (=>     3867       (=>
3857          (lessThan (SubtractionFn ?NUMBER1 (FloorFn ?NUMBER1)) 0.5)     3868          (lessThan (SubtractionFn ?NUMBER1 (FloorFn ?NUMBER1)) 0.5)
3858          (equal ?NUMBER2 (FloorFn ?NUMBER1)))     3869          (equal ?NUMBER2 (FloorFn ?NUMBER1)))
3859       (=>     3870       (=>
3860          (greaterThanOrEqualTo (SubtractionFn ?NUMBER1 (FloorFn ?NUMBER1)) 0.5)     3871          (greaterThanOrEqualTo (SubtractionFn ?NUMBER1 (FloorFn ?NUMBER1)) 0.5)
3861          (equal ?NUMBER2 (CeilingFn ?NUMBER1)))))     3872          (equal ?NUMBER2 (CeilingFn ?NUMBER1)))))
3862     3873
3863 (instance SignumFn UnaryFunction)     3874 (instance SignumFn UnaryFunction)
3864 (instance SignumFn TotalValuedRelation)     3875 (instance SignumFn TotalValuedRelation)
3865 (domain SignumFn 1 RealNumber)     3876 (domain SignumFn 1 RealNumber)
3866 (range SignumFn Integer)     3877 (range SignumFn Integer)
3867 (documentation SignumFn "(SignumFn ?NUMBER) denotes the sign of ?NUMBER.     3878 (documentation SignumFn "(SignumFn ?NUMBER) denotes the sign of ?NUMBER.
3868 This is one of the following values: -1, 1, or 0.")     3879 This is one of the following values: -1, 1, or 0.")
3869     3880
3870 (=>     3881 (=>
3871    (instance ?NUMBER NonnegativeRealNumber)     3882    (instance ?NUMBER NonnegativeRealNumber)
3872    (or     3883    (or
3873       (equal (SignumFn ?NUMBER) 1)     3884       (equal (SignumFn ?NUMBER) 1)
3874       (equal (SignumFn ?NUMBER) 0)))     3885       (equal (SignumFn ?NUMBER) 0)))
3875     3886
3876 (=>     3887 (=>
3877    (instance ?NUMBER PositiveRealNumber)     3888    (instance ?NUMBER PositiveRealNumber)
3878    (equal (SignumFn ?NUMBER) 1))     3889    (equal (SignumFn ?NUMBER) 1))
3879     3890
3880 (=>     3891 (=>
3881    (instance ?NUMBER NegativeRealNumber)     3892    (instance ?NUMBER NegativeRealNumber)
3882    (equal (SignumFn ?NUMBER) -1))     3893    (equal (SignumFn ?NUMBER) -1))
3883     3894
3884 (instance SineFn UnaryFunction)     3895 (instance SineFn UnaryFunction)
3885 (instance SineFn TotalValuedRelation)     3896 (instance SineFn TotalValuedRelation)
3886 (domain SineFn 1 PlaneAngleMeasure)     3897 (domain SineFn 1 PlaneAngleMeasure)
3887 (range SineFn RealNumber)     3898 (range SineFn RealNumber)
3888 (documentation SineFn "(&%SineFn ?DEGREE) is the sine of the     3899 (documentation SineFn "(&%SineFn ?DEGREE) is the sine of the
3889 &%PlaneAngleMeasure ?DEGREE. The sine of ?DEGREE is the ratio of the side     3900 &%PlaneAngleMeasure ?DEGREE. The sine of ?DEGREE is the ratio of the side
3890 opposite ?DEGREE to the hypotenuse in a right-angled triangle.")     3901 opposite ?DEGREE to the hypotenuse in a right-angled triangle.")
3891     3902
3892 (instance SquareRootFn UnaryFunction)     3903 (instance SquareRootFn UnaryFunction)
3893 (domain SquareRootFn 1 RealNumber)     3904 (domain SquareRootFn 1 RealNumber)
3894 (range SquareRootFn Number)     3905 (range SquareRootFn Number)
3895 (documentation SquareRootFn "(SquareRootFn ?NUMBER) is the principal     3906 (documentation SquareRootFn "(SquareRootFn ?NUMBER) is the principal
3896 square root of ?NUMBER.")     3907 square root of ?NUMBER.")
3897     3908
3898 (=>     3909 (=>
3899    (equal (SquareRootFn ?NUMBER1) ?NUMBER2)     3910    (equal (SquareRootFn ?NUMBER1) ?NUMBER2)
3900    (equal (MultiplicationFn ?NUMBER2 ?NUMBER2) ?NUMBER1))     3911    (equal (MultiplicationFn ?NUMBER2 ?NUMBER2) ?NUMBER1))
3901     3912
3902 (instance TangentFn UnaryFunction)     3913 (instance TangentFn UnaryFunction)
3903 (instance TangenFn TotalValuedRelation)     3914 (instance TangenFn TotalValuedRelation)
3904 (domain TangentFn 1 PlaneAngleMeasure)     3915 (domain TangentFn 1 PlaneAngleMeasure)
3905 (range TangentFn RealNumber)     3916 (range TangentFn RealNumber)
3906 (documentation TangentFn "(&%TangentFn ?DEGREE) is the tangent of the     3917 (documentation TangentFn "(&%TangentFn ?DEGREE) is the tangent of the
3907 &%PlaneAngleMeasure ?DEGREE. The tangent of ?DEGREE is the ratio of     3918 &%PlaneAngleMeasure ?DEGREE. The tangent of ?DEGREE is the ratio of
3908 the side opposite ?DEGREE to the side next to ?DEGREE in a right-angled     3919 the side opposite ?DEGREE to the side next to ?DEGREE in a right-angled
3909 triangle.")     3920 triangle.")
3910     3921
3911 (=>     3922 (=>
3912    (instance ?DEGREE PlaneAngleMeasure)     3923    (instance ?DEGREE PlaneAngleMeasure)
3913    (equal (TangentFn ?DEGREE) (DivisionFn (SineFn ?DEGREE) (CosineFn ?DEGREE))))     3924    (equal (TangentFn ?DEGREE) (DivisionFn (SineFn ?DEGREE) (CosineFn ?DEGREE))))
3914     3925
3915 (instance identityElement BinaryPredicate)     3926 (instance identityElement BinaryPredicate)
3916 (instance identityElement AsymmetricRelation)     3927 (instance identityElement AsymmetricRelation)
3917 (domain identityElement 1 BinaryFunction)     3928 (domain identityElement 1 BinaryFunction)
3918 (domain identityElement 2 Entity)     3929 (domain identityElement 2 Entity)
3919 (documentation identityElement "An object ?ID is the identity element     3930 (documentation identityElement "An object ?ID is the identity element
3920 for BinaryFunction ?FUNCTION just in case, for every instance ?INST,     3931 for BinaryFunction ?FUNCTION just in case, for every instance ?INST,
3921 applying ?FUNCTION to ?INST and ?ID results in ?INST.")     3932 applying ?FUNCTION to ?INST and ?ID results in ?INST.")
3922     3933
3923 (=>     3934 (=>
3924    (identityElement ?FUNCTION ?ID)     3935    (identityElement ?FUNCTION ?ID)
3925    (forall (?INST)     3936    (forall (?INST)
3926       (=>     3937       (=>
3927          (and     3938          (and
3928             (domain ?FUNCTION 1 ?CLASS)     3939             (domain ?FUNCTION 1 ?CLASS)
3929             (instance ?INST ?CLASS))     3940             (instance ?INST ?CLASS))
3930          (equal (AssignmentFn ?FUNCTION ?ID ?INST) ?INST))))     3941          (equal (AssignmentFn ?FUNCTION ?ID ?INST) ?INST))))
3931     3942
3932 (identityElement MultiplicationFn 1)     3943 (identityElement MultiplicationFn 1)
3933 (identityElement AdditionFn 0)     3944 (identityElement AdditionFn 0)
3934 (identityElement SubtractionFn 0)     3945 (identityElement SubtractionFn 0)
3935 (identityElement DivisionFn 1)     3946 (identityElement DivisionFn 1)
3936     3947
3937 (instance SuccessorFn UnaryFunction)     3948 (instance SuccessorFn UnaryFunction)
3938 (instance SuccessorFn TotalValuedRelation)     3949 (instance SuccessorFn TotalValuedRelation)
3939 (domain SuccessorFn 1 Integer)     3950 (domain SuccessorFn 1 Integer)
3940 (range SuccessorFn Integer)     3951 (range SuccessorFn Integer)
3941 (documentation SuccessorFn "A &%UnaryFunction that maps an &%Integer to     3952 (documentation SuccessorFn "A &%UnaryFunction that maps an &%Integer to
3942 its successor, e.g. the successor of 5 is 6.")     3953 its successor, e.g. the successor of 5 is 6.")
3943     3954
3944 (=>     3955 (=>
3945    (equal (SuccessorFn ?INT1) (SuccessorFn ?INT2))     3956    (equal (SuccessorFn ?INT1) (SuccessorFn ?INT2))
3946    (equal ?INT1 ?INT2))     3957    (equal ?INT1 ?INT2))
3947     3958
3948 (=>     3959 (=>
3949    (instance ?INT Integer)     3960    (instance ?INT Integer)
3950    (lessThan ?INT (SuccessorFn ?INT)))     3961    (lessThan ?INT (SuccessorFn ?INT)))
3951     3962
3952 (=>     3963 (=>
3953    (and     3964    (and
3954       (instance ?INT1 Integer)     3965       (instance ?INT1 Integer)
3955       (instance ?INT2 Integer))     3966       (instance ?INT2 Integer))
3956    (not     3967    (not
3957       (and     3968       (and
3958          (lessThan ?INT1 ?INT2)     3969          (lessThan ?INT1 ?INT2)
3959          (lessThan ?INT2 (SuccessorFn ?INT1)))))     3970          (lessThan ?INT2 (SuccessorFn ?INT1)))))
3960     3971
3961 (=>     3972 (=>
3962    (instance ?INT Integer)     3973    (instance ?INT Integer)
3963    (equal ?INT (SuccessorFn (PredecessorFn ?INT))))     3974    (equal ?INT (SuccessorFn (PredecessorFn ?INT))))
3964     3975
3965 (=>     3976 (=>
3966    (instance ?INT Integer)     3977    (instance ?INT Integer)
3967    (equal ?INT (PredecessorFn (SuccessorFn ?INT))))     3978    (equal ?INT (PredecessorFn (SuccessorFn ?INT))))
3968     3979
3969 (instance PredecessorFn UnaryFunction)     3980 (instance PredecessorFn UnaryFunction)
3970 (instance PredecessorFn TotalValuedRelation)     3981 (instance PredecessorFn TotalValuedRelation)
3971 (domain PredecessorFn 1 Integer)     3982 (domain PredecessorFn 1 Integer)
3972 (range PredecessorFn Integer)     3983 (range PredecessorFn Integer)
3973 (documentation PredecessorFn "A &%UnaryFunction that maps an &%Integer to     3984 (documentation PredecessorFn "A &%UnaryFunction that maps an &%Integer to
3974 its predecessor, e.g. the predecessor of 5 is 4.")     3985 its predecessor, e.g. the predecessor of 5 is 4.")
3975     3986
3976 (=>     3987 (=>
3977    (equal (PredecessorFn ?INT1) (PredecessorFn ?INT2))     3988    (equal (PredecessorFn ?INT1) (PredecessorFn ?INT2))
3978    (equal ?INT1 ?INT2))     3989    (equal ?INT1 ?INT2))
3979     3990
3980 (=>     3991 (=>
3981    (instance ?INT Integer)     3992    (instance ?INT Integer)
3982    (greaterThan ?INT (PredecessorFn ?INT)))     3993    (greaterThan ?INT (PredecessorFn ?INT)))
3983     3994
3984 (=>     3995 (=>
3985    (and     3996    (and
3986       (instance ?INT1 Integer)     3997       (instance ?INT1 Integer)
3987       (instance ?INT2 Integer))     3998       (instance ?INT2 Integer))
3988    (not     3999    (not
3989       (and     4000       (and
3990          (lessThan ?INT2 ?INT1)     4001          (lessThan ?INT2 ?INT1)
3991          (lessThan (PredecessorFn ?INT1) ?INT2))))     4002          (lessThan (PredecessorFn ?INT1) ?INT2))))
3992     4003
3993 ;; END FILE     4004 ;; END FILE
3994     4005
3995 ;; BEGIN FILE     4006 ;; BEGIN FILE
3996     4007
3997     4008
3998 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     4009 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3999 ;; SET/CLASS THEORY ;;     4010 ;; SET/CLASS THEORY ;;
4000 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     4011 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4001     4012
4002 ;; INCLUDES 'STRUCTURAL ONTOLOGY'     4013 ;; INCLUDES 'STRUCTURAL ONTOLOGY'
4003 ;; INCLUDES 'BASE ONTOLOGY'     4014 ;; INCLUDES 'BASE ONTOLOGY'
4004     4015
4005 ;; The following part of the ontology covers set-theoretic predicates     4016 ;; The following part of the ontology covers set-theoretic predicates
4006 ;; and functions. Most of the content here is taken from the kif-sets     4017 ;; and functions. Most of the content here is taken from the kif-sets
4007 ;; ontology (available on the Ontolingua server).     4018 ;; ontology (available on the Ontolingua server).
4008     4019
4009 (subrelation subset subclass)     4020 (subrelation subset subclass)
4010 (domain subset 1 Set)     4021 (domain subset 1 Set)
4011 (domain subset 2 Set)     4022 (domain subset 2 Set)
4012 (documentation subset "(subset ?SET1 ?SET2) is true just in case the     4023 (documentation subset "(subset ?SET1 ?SET2) is true just in case the
4013 &%elements of the &%Set ?SET1 are also &%elements of the &%Set ?SET2.")     4024 &%elements of the &%Set ?SET1 are also &%elements of the &%Set ?SET2.")
4014     4025
4015 (=>     4026 (=>
4016    (subset ?SUBSET ?SET)     4027    (subset ?SUBSET ?SET)
4017    (forall (?ELEMENT)     4028    (forall (?ELEMENT)
4018       (=>     4029       (=>
4019          (element ?ELEMENT ?SUBSET)     4030          (element ?ELEMENT ?SUBSET)
4020          (element ?ELEMENT ?SET))))     4031          (element ?ELEMENT ?SET))))
4021     4032
4022 (instance element BinaryPredicate)     4033 (instance element BinaryPredicate)
4023 (instance element AsymmetricRelation)     4034 (instance element AsymmetricRelation)
4024 (instance element IntransitiveRelation)     4035 (instance element IntransitiveRelation)
4025 (subrelation element instance)     4036 (subrelation element instance)
4026 (domain element 1 Entity)     4037 (domain element 1 Entity)
4027 (domain element 2 Set)     4038 (domain element 2 Set)
4028 (documentation element "(element ?ENTITY ?SET) is true just in case     4039 (documentation element "(element ?ENTITY ?SET) is true just in case
4029 ?ENTITY is contained in the &%Set ?SET. An &%Entity can be an &%element     4040 ?ENTITY is contained in the &%Set ?SET. An &%Entity can be an &%element
4030 of another &%Entity only if the latter is a &%Set.")     4041 of another &%Entity only if the latter is a &%Set.")
4031     4042
4032 (=>     4043 (=>
4033    (forall (?ELEMENT)     4044    (forall (?ELEMENT)
4034          (<=>     4045          (<=>
4035             (element ?ELEMENT ?SET1)     4046             (element ?ELEMENT ?SET1)
4036             (element ?ELEMENT ?SET2)))     4047             (element ?ELEMENT ?SET2)))
4037    (equal ?SET1 ?SET2))     4048    (equal ?SET1 ?SET2))
4038     4049
4039 (instance UnionFn BinaryFunction)     4050 (instance UnionFn BinaryFunction)
4040 (instance UnionFn TotalValuedRelation)     4051 (instance UnionFn TotalValuedRelation)
4041 (domain UnionFn 1 SetOrClass)     4052 (domain UnionFn 1 SetOrClass)
4042 (domain UnionFn 2 SetOrClass)     4053 (domain UnionFn 2 SetOrClass)
4043 (range UnionFn SetOrClass)     4054 (range UnionFn SetOrClass)
4044 (documentation UnionFn "A &%BinaryFunction that maps two &%SetOrClasses to     4055 (documentation UnionFn "A &%BinaryFunction that maps two &%SetOrClasses to
4045 the union of these &%SetOrClasses. An object is an &%element of the union     4056 the union of these &%SetOrClasses. An object is an &%element of the union
4046 of two &%SetOrClasses just in case it is an &%instance of either &%SetOrClass.")     4057 of two &%SetOrClasses just in case it is an &%instance of either &%SetOrClass.")
4047     4058
4048 (instance IntersectionFn BinaryFunction)     4059 (instance IntersectionFn BinaryFunction)
4049 (instance IntersectionFn TotalValuedRelation)     4060 (instance IntersectionFn TotalValuedRelation)
4050 (domain IntersectionFn 1 SetOrClass)     4061 (domain IntersectionFn 1 SetOrClass)
4051 (domain IntersectionFn 2 SetOrClass)     4062 (domain IntersectionFn 2 SetOrClass)
4052 (range IntersectionFn SetOrClass)     4063 (range IntersectionFn SetOrClass)
4053 (documentation IntersectionFn "A &%BinaryFunction that maps two     4064 (documentation IntersectionFn "A &%BinaryFunction that maps two
4054 %SetOrClasses to the intersection of these &%SetOrClasses. An object is     4065 %SetOrClasses to the intersection of these &%SetOrClasses. An object is
4055 an instance of the intersection of two &%SetOrClasses just in case it is     4066 an instance of the intersection of two &%SetOrClasses just in case it is
4056 an instance of both of those &%SetOrClasses.")     4067 an instance of both of those &%SetOrClasses.")
4057     4068
4058 (instance RelativeComplementFn BinaryFunction)     4069 (instance RelativeComplementFn BinaryFunction)
4059 (instance RelativeComplementFn TotalValuedRelation)     4070 (instance RelativeComplementFn TotalValuedRelation)
4060 (domain RelativeComplementFn 1 SetOrClass)     4071 (domain RelativeComplementFn 1 SetOrClass)
4061 (domain RelativeComplementFn 2 SetOrClass)     4072 (domain RelativeComplementFn 2 SetOrClass)
4062 (range RelativeComplementFn SetOrClass)     4073 (range RelativeComplementFn SetOrClass)
4063 (documentation RelativeComplementFn "A &%BinaryFunction that maps two     4074 (documentation RelativeComplementFn "A &%BinaryFunction that maps two
4064 &%SetOrClasses to the difference between these &%SetOrClasses. More     4075 &%SetOrClasses to the difference between these &%SetOrClasses. More
4065 precisely, the relative complement of one class C1 relative to another     4076 precisely, the relative complement of one class C1 relative to another
4066 C2 consists of the instances of C1 that are instances of the     4077 C2 consists of the instances of C1 that are instances of the
4067 &%ComplementFn of C2.")     4078 &%ComplementFn of C2.")
4068     4079
4069 (instance ComplementFn UnaryFunction)     4080 (instance ComplementFn UnaryFunction)
4070 (instance ComplementFn TotalValuedRelation)     4081 (instance ComplementFn TotalValuedRelation)
4071 (domain ComplementFn 1 SetOrClass)     4082 (domain ComplementFn 1 SetOrClass)
4072 (range ComplementFn SetOrClass)     4083 (range ComplementFn SetOrClass)
4073 (documentation ComplementFn "The complement of a given &%SetOrClass C is the     4084 (documentation ComplementFn "The complement of a given &%SetOrClass C is the
4074 &%SetOrClass of all things that are not instances of C. In other words, an     4085 &%SetOrClass of all things that are not instances of C. In other words, an
4075 object is an instance of the complement of a &%SetOrClass C just in case it     4086 object is an instance of the complement of a &%SetOrClass C just in case it
4076 is not an instance of C.")     4087 is not an instance of C.")
4077     4088
4078 (instance GeneralizedUnionFn UnaryFunction)     4089 (instance GeneralizedUnionFn UnaryFunction)
4079 (instance GeneralizedUnionFn TotalValuedRelation)     4090 (instance GeneralizedUnionFn TotalValuedRelation)
4080 (domainSubclass GeneralizedUnionFn 1 SetOrClass)     4091 (domainSubclass GeneralizedUnionFn 1 SetOrClass)
4081 (range GeneralizedUnionFn SetOrClass)     4092 (range GeneralizedUnionFn SetOrClass)
4082 (documentation GeneralizedUnionFn "A &%UnaryFunction that takes a &%SetOrClass     4093 (documentation GeneralizedUnionFn "A &%UnaryFunction that takes a &%SetOrClass
4083 of &%Classes as its single argument and returns a &%SetOrClass which is the     4094 of &%Classes as its single argument and returns a &%SetOrClass which is the
4084 merge of all of the &%Classes in the original &%SetOrClass, i.e. the &%SetOrClass     4095 merge of all of the &%Classes in the original &%SetOrClass, i.e. the &%SetOrClass
4085 containing just those instances which are instances of an instance of the     4096 containing just those instances which are instances of an instance of the
4086 original &%SetOrClass.")     4097 original &%SetOrClass.")
4087     4098
4088 (instance GeneralizedIntersectionFn UnaryFunction)     4099 (instance GeneralizedIntersectionFn UnaryFunction)
4089 (instance GeneralizedIntersectionFn TotalValuedRelation)     4100 (instance GeneralizedIntersectionFn TotalValuedRelation)
4090 (domainSubclass GeneralizedIntersectionFn 1 SetOrClass)     4101 (domainSubclass GeneralizedIntersectionFn 1 SetOrClass)
4091 (range GeneralizedIntersectionFn SetOrClass)     4102 (range GeneralizedIntersectionFn SetOrClass)
4092 (documentation GeneralizedIntersectionFn "A &%UnaryFunction that takes a     4103 (documentation GeneralizedIntersectionFn "A &%UnaryFunction that takes a
4093 &%SetOrClass of &%Classes as its single argument and returns a &%SetOrClass which     4104 &%SetOrClass of &%Classes as its single argument and returns a &%SetOrClass which
4094 is the intersection of all of the &%Classes in the original &%SetOrClass, i.e.     4105 is the intersection of all of the &%Classes in the original &%SetOrClass, i.e.
4095 the &%SetOrClass containing just those instances which are instances of all     4106 the &%SetOrClass containing just those instances which are instances of all
4096 instances of the original &%SetOrClass.")     4107 instances of the original &%SetOrClass.")
4097     4108
4098 (instance CardinalityFn UnaryFunction)     4109 (instance CardinalityFn UnaryFunction)
4099 (instance CardinalityFn TotalValuedRelation)     4110 (instance CardinalityFn TotalValuedRelation)
4100 (instance CardinalityFn AsymmetricRelation)     4111 (instance CardinalityFn AsymmetricRelation)
4101 (domain CardinalityFn 1 SetOrClass)   1 4112 (domain CardinalityFn 1 (UnionFn SetOrClass Collection))
4102 (range CardinalityFn Number)     4113 (range CardinalityFn Number)
4103 (documentation CardinalityFn "(CardinalityFn ?CLASS) returns the     4114 (documentation CardinalityFn "(CardinalityFn ?CLASS) returns the
4104 number of instances in the &%SetOrClass or &%Collection ?CLASS.")     4115 number of instances in the &%SetOrClass or &%Collection ?CLASS.")
4105     4116
4106 (instance NullSet Set)   3a) 4117 (subclass NullSet SetOrClass)
4107 (documentation NullSet "The &%Set that contains no instances.")     4118 (documentation NullSet "Any &%SetOrClass that contains no instances.")
        4119
      3b) 4120 (=>
        4121    (instance ?SET NullSet)
        4122    (not (exists (?INST) (instance ?INST ?SET))))
        4123
      1 4124 (subclass NonNullSet SetOrClass)
        4125 (documentation NonNullSet "Any &%SetOrClass that contains at least one
        4126 instance.")
4108     4127
4109 (not (exists (?ELEMENT) (element ?ELEMENT NullSet)))   3b) 4128 (=>
        4129    (instance ?SET NonNullSet)
        4130    (exists (?INST) (instance ?INST ?SET)))
4110     4131
4111 (subclass FiniteSet Set)     4132 (subclass FiniteSet Set)
4112 (documentation FiniteSet "A &%Set containing a finite number of elements.")     4133 (documentation FiniteSet "A &%Set containing a finite number of elements.")
4113     4134
4114 (=>     4135 (=>
4115    (instance ?SET FiniteSet)     4136    (instance ?SET FiniteSet)
4116    (exists (?NUMBER)     4137    (exists (?NUMBER)
4117       (and     4138       (and
4118          (instance ?NUMBER NonnegativeInteger)     4139          (instance ?NUMBER NonnegativeInteger)
4119          (equal ?NUMBER (CardinalityFn ?SET)))))     4140          (equal ?NUMBER (CardinalityFn ?SET)))))
4120     4141
4121 (subclass PairwiseDisjointClass SetOrClass)     4142 (subclass PairwiseDisjointClass SetOrClass)
4122 (documentation PairwiseDisjointClass "A &%SetOrClass is a &%PairwiseDisjointClass     4143 (documentation PairwiseDisjointClass "A &%SetOrClass is a &%PairwiseDisjointClass
4123 just in case every instance of the &%SetOrClass is either &%equal to or &%disjoint     4144 just in case every instance of the &%SetOrClass is either &%equal to or &%disjoint
4124 from every other instance of the &%SetOrClass.")     4145 from every other instance of the &%SetOrClass.")
4125     4146
4126 (=>     4147 (=>
4127    (instance ?SUPERCLASS PairwiseDisjointClass)     4148    (instance ?SUPERCLASS PairwiseDisjointClass)
4128    (forall (?CLASS1 ?CLASS2)     4149    (forall (?CLASS1 ?CLASS2)
4129       (=>     4150       (=>
4130          (and     4151          (and
4131             (instance ?CLASS1 ?SUPERCLASS)     4152             (instance ?CLASS1 ?SUPERCLASS)
4132             (instance ?CLASS2 ?SUPERCLASS))     4153             (instance ?CLASS2 ?SUPERCLASS))
4133          (or     4154          (or
4134             (equal ?CLASS1 ?CLASS2)     4155             (equal ?CLASS1 ?CLASS2)
4135             (disjoint ?CLASS1 ?CLASS2)))))     4156             (disjoint ?CLASS1 ?CLASS2)))))
4136     4157
4137 (subclass MutuallyDisjointClass SetOrClass)     4158 (subclass MutuallyDisjointClass SetOrClass)
4138 (documentation MutuallyDisjointClass "A &%SetOrClass is a &%MutuallyDisjointClass     4159 (documentation MutuallyDisjointClass "A &%SetOrClass is a &%MutuallyDisjointClass
4139 just in case there exists nothing which is an instance of all of the instances of     4160 just in case there exists nothing which is an instance of all of the instances of
4140 the original &%SetOrClass.")     4161 the original &%SetOrClass.")
4141     4162
4142 (=>     4163 (=>
4143    (instance ?CLASS MutuallyDisjointClass)     4164    (instance ?CLASS MutuallyDisjointClass)
4144    (forall (?INST1 ?INST2)     4165    (forall (?INST1 ?INST2)
4145       (=>     4166       (=>
4146          (and     4167          (and
4147             (instance ?INST1 ?CLASS)     4168             (instance ?INST1 ?CLASS)
4148             (instance ?INST2 ?INST1))     4169             (instance ?INST2 ?INST1))
4149          (exists (?INST3)     4170          (exists (?INST3)
4150             (and     4171             (and
4151                (instance ?INST3 ?CLASS)     4172                (instance ?INST3 ?CLASS)
4152                (not (instance ?INST2 ?INST3)))))))     4173                (not (instance ?INST2 ?INST3)))))))
4153     4174
4154 (instance KappaFn BinaryFunction)     4175 (instance KappaFn BinaryFunction)
4155 (domain KappaFn 1 SymbolicString)     4176 (domain KappaFn 1 SymbolicString)
4156 (domain KappaFn 2 Formula)     4177 (domain KappaFn 2 Formula)
4157 (range KappaFn SetOrClass)   1 4178 (range KappaFn Class)
4158 (documentation KappaFn "A class-forming operator that takes two     4179 (documentation KappaFn "A class-forming operator that takes two
4159 arguments: a variable and a formula containing at least one unbound     4180 arguments: a variable and a formula containing at least one unbound
4160 occurrence of the variable. The result of applying &%KappaFn to a     4181 occurrence of the variable. The result of applying &%KappaFn to a
4161 variable and a formula is the &%SetOrClass of things that satisfy the formula.     4182 variable and a formula is the &%SetOrClass of things that satisfy the formula.
4162 For example, we can denote the &%SetOrClass of prime numbers that are less     4183 For example, we can denote the &%SetOrClass of prime numbers that are less
4163 than 100 with the following expression: (KappaFn ?NUMBER     4184 than 100 with the following expression: (KappaFn ?NUMBER
4164 (and (instance ?NUMBER PrimeNumber) (lessThan ?NUMBER 100))). Note that     4185 (and (instance ?NUMBER PrimeNumber) (lessThan ?NUMBER 100))). Note that
4165 the use of this function is discouraged, since there is currently no     4186 the use of this function is discouraged, since there is currently no
4166 axiomatic support for it.")     4187 axiomatic support for it.")
4167     4188
4168 ;; At some point we may be able to make use of 'KappaFn' by implementing a macro     4189 ;; At some point we may be able to make use of 'KappaFn' by implementing a macro
4169 ;; that decomposes every occurrence of 'KappaFn' into a complex formula. For     4190 ;; that decomposes every occurrence of 'KappaFn' into a complex formula. For
4170 ;; example the macro might replace every instance of Schema 1 with an instance     4191 ;; example the macro might replace every instance of Schema 1 with an instance
4171 ;; of Schema 2.     4192 ;; of Schema 2.
4172 ;;     4193 ;;
4173 ;; Schema 1: (KappaFn <variable> <formula>)     4194 ;; Schema 1: (KappaFn <variable> <formula>)
4174 ;;     4195 ;;
4175 ;; Schema 2: (exists (?LIST)     4196 ;; Schema 2: (exists (?LIST)
4176 ;; (and     4197 ;; (and
4177 ;; (instance ?LIST UniqueList)     4198 ;; (instance ?LIST UniqueList)
4178 ;; (forall (<variable>)     4199 ;; (forall (<variable>)
4179 ;; (<=>     4200 ;; (<=>
4180 ;; (inList <variable> ?LIST)     4201 ;; (inList <variable> ?LIST)
4181 ;; <formula>))))     4202 ;; <formula>))))
4182 ;;     4203 ;;
4183     4204
4184     4205
4185 ;; END FILE     4206 ;; END FILE
4186     4207
4187 ;; BEGIN FILE     4208 ;; BEGIN FILE
4188     4209
4189     4210
4190 ;;;;;;;;;;;;;;;;;;;;;     4211 ;;;;;;;;;;;;;;;;;;;;;
4191 ;; GRAPH THEORY ;;     4212 ;; GRAPH THEORY ;;
4192 ;;;;;;;;;;;;;;;;;;;;;     4213 ;;;;;;;;;;;;;;;;;;;;;
4193     4214
4194 (subclass Graph Abstract)     4215 (subclass Graph Abstract)
4195 (documentation Graph "The &%Class of graphs, where a graph is understood     4216 (documentation Graph "The &%Class of graphs, where a graph is understood
4196 to be a set of &%GraphNodes connected by &%GraphArcs. Note that this     4217 to be a set of &%GraphNodes connected by &%GraphArcs. Note that this
4197 &%Class includes only connected graphs, i.e. graphs in which there is a     4218 &%Class includes only connected graphs, i.e. graphs in which there is a
4198 &%GraphPath between any two &%GraphNodes. Note too that every &%Graph     4219 &%GraphPath between any two &%GraphNodes. Note too that every &%Graph
4199 is assumed to contain at least two &%GraphArcs and three &%GraphNodes.")     4220 is assumed to contain at least two &%GraphArcs and three &%GraphNodes.")
4200     4221
4201 (=>     4222 (=>
4202    (and     4223    (and
4203       (instance ?GRAPH Graph)     4224       (instance ?GRAPH Graph)
4204       (instance ?NODE1 GraphNode)     4225       (instance ?NODE1 GraphNode)
4205       (instance ?NODE2 GraphNode)     4226       (instance ?NODE2 GraphNode)
4206       (graphPart ?NODE1 ?GRAPH)     4227       (graphPart ?NODE1 ?GRAPH)
4207       (graphPart ?NODE2 ?GRAPH)     4228       (graphPart ?NODE2 ?GRAPH)
4208       (not (equal ?NODE1 ?NODE2)))     4229       (not (equal ?NODE1 ?NODE2)))
4209    (exists (?ARC ?PATH)     4230    (exists (?ARC ?PATH)
4210       (or     4231       (or
4211          (links ?NODE1 ?NODE2 ?ARC)     4232          (links ?NODE1 ?NODE2 ?ARC)
4212          (and     4233          (and
4213             (subGraph ?PATH ?GRAPH)     4234             (subGraph ?PATH ?GRAPH)
4214             (instance ?PATH GraphPath)     4235             (instance ?PATH GraphPath)
4215             (or     4236             (or
4216                (and     4237                (and
4217                   (equal (BeginNodeFn ?PATH) ?NODE1)     4238                   (equal (BeginNodeFn ?PATH) ?NODE1)
4218                   (equal (EndNodeFn ?PATH) ?NODE2))     4239                   (equal (EndNodeFn ?PATH) ?NODE2))
4219                (and     4240                (and
4220                   (equal (BeginNodeFn ?PATH) ?NODE2)     4241                   (equal (BeginNodeFn ?PATH) ?NODE2)
4221                   (equal (EndNodeFn ?PATH) ?NODE1)))))))     4242                   (equal (EndNodeFn ?PATH) ?NODE1)))))))
4222     4243
4223 (=>     4244 (=>
4224    (instance ?GRAPH Graph)     4245    (instance ?GRAPH Graph)
4225    (exists (?NODE1 ?NODE2 ?NODE3 ?ARC1 ?ARC2)     4246    (exists (?NODE1 ?NODE2 ?NODE3 ?ARC1 ?ARC2)
4226       (and     4247       (and
4227          (graphPart ?NODE1 ?GRAPH)     4248          (graphPart ?NODE1 ?GRAPH)
4228          (graphPart ?NODE2 ?GRAPH)     4249          (graphPart ?NODE2 ?GRAPH)
4229          (graphPart ?NODE3 ?GRAPH)     4250          (graphPart ?NODE3 ?GRAPH)
4230          (graphPart ?ARC1 ?GRAPH)     4251          (graphPart ?ARC1 ?GRAPH)
4231          (graphPart ?ARC2 ?GRAPH)     4252          (graphPart ?ARC2 ?GRAPH)
4232          (links ?ARC1 ?NODE1 ?NODE2)     4253          (links ?ARC1 ?NODE1 ?NODE2)
4233          (links ?ARC2 ?NODE2 ?NODE3)     4254          (links ?ARC2 ?NODE2 ?NODE3)
4234          (not (equal ?NODE1 ?NODE2))     4255          (not (equal ?NODE1 ?NODE2))
4235          (not (equal ?NODE2 ?NODE3))     4256          (not (equal ?NODE2 ?NODE3))
4236 (not (equal ?NODE1 ?NODE3))     4257 (not (equal ?NODE1 ?NODE3))
4237          (not (equal ?ARC1 ?ARC2)))))     4258          (not (equal ?ARC1 ?ARC2)))))
4238     4259
4239 (subclass DirectedGraph Graph)     4260 (subclass DirectedGraph Graph)
4240 (documentation DirectedGraph "The &%Class of directed graphs. A     4261 (documentation DirectedGraph "The &%Class of directed graphs. A
4241 directed graph is a &%Graph in which all &%GraphArcs     4262 directed graph is a &%Graph in which all &%GraphArcs
4242 have direction, i.e. every &%GraphArc has an initial node (see     4263 have direction, i.e. every &%GraphArc has an initial node (see
4243 &%InitialNodeFn) and a terminal node (see &%TerminalNodeFn).")     4264 &%InitialNodeFn) and a terminal node (see &%TerminalNodeFn).")
4244     4265
4245 (=>     4266 (=>
4246    (and     4267    (and
4247       (instance ?GRAPH DirectedGraph)     4268       (instance ?GRAPH DirectedGraph)
4248       (instance ?ARC GraphArc)     4269       (instance ?ARC GraphArc)
4249       (graphPart ?ARC ?GRAPH))     4270       (graphPart ?ARC ?GRAPH))
4250    (exists (?NODE1 ?NODE2)     4271    (exists (?NODE1 ?NODE2)
4251       (and     4272       (and
4252          (equal (InitialNodeFn ?ARC) ?NODE1)     4273          (equal (InitialNodeFn ?ARC) ?NODE1)
4253          (equal (TerminalNodeFn ?ARC) ?NODE2))))     4274          (equal (TerminalNodeFn ?ARC) ?NODE2))))
4254     4275
4255 (subclass Tree Graph)     4276 (subclass Tree Graph)
4256 (documentation Tree "A Tree is a &%DirectedGraph that has no     4277 (documentation Tree "A Tree is a &%DirectedGraph that has no
4257 &%GraphLoops.")     4278 &%GraphLoops.")
4258     4279
4259 (=>     4280 (=>
4260    (instance ?GRAPH Tree)     4281    (instance ?GRAPH Tree)
4261    (not (exists (?LOOP)     4282    (not (exists (?LOOP)
4262       (and     4283       (and
4263          (instance ?LOOP GraphLoop)     4284          (instance ?LOOP GraphLoop)
4264          (graphPart ?LOOP ?GRAPH)))))     4285          (graphPart ?LOOP ?GRAPH)))))
4265     4286
4266 (subclass GraphPath DirectedGraph)     4287 (subclass GraphPath DirectedGraph)
4267 (documentation GraphPath "Informally, a single, directed route between     4288 (documentation GraphPath "Informally, a single, directed route between
4268 two &%GraphNodes in a &%Graph. Formally, a &%DirectedGraph that is a     4289 two &%GraphNodes in a &%Graph. Formally, a &%DirectedGraph that is a
4269 &%subGraph of the original &%Graph and such that no two &%GraphArcs in     4290 &%subGraph of the original &%Graph and such that no two &%GraphArcs in
4270 the &%DirectedGraph have the same intial node (see &%InitialNodeFn) or     4291 the &%DirectedGraph have the same intial node (see &%InitialNodeFn) or
4271 the same terminal node (see &%TerminalNodeFn).")     4292 the same terminal node (see &%TerminalNodeFn).")
4272     4293
4273 (=>     4294 (=>
4274    (and     4295    (and
4275       (instance ?GRAPH GraphPath)     4296       (instance ?GRAPH GraphPath)
4276       (instance ?ARC GraphArc)     4297       (instance ?ARC GraphArc)
4277       (graphPart ?ARC ?GRAPH))     4298       (graphPart ?ARC ?GRAPH))
4278    (=>     4299    (=>
4279       (equal (InitialNodeFn ?ARC) ?NODE)     4300       (equal (InitialNodeFn ?ARC) ?NODE)
4280       (not (exists (?OTHER)     4301       (not (exists (?OTHER)
4281          (and     4302          (and
4282             (equal (InitialNodeFn ?OTHER) ?NODE)     4303             (equal (InitialNodeFn ?OTHER) ?NODE)
4283             (not (equal ?OTHER ?ARC)))))))     4304             (not (equal ?OTHER ?ARC)))))))
4284     4305
4285 (=>     4306 (=>
4286    (and     4307    (and
4287       (instance ?GRAPH GraphPath)     4308       (instance ?GRAPH GraphPath)
4288       (instance ?ARC GraphArc)     4309       (instance ?ARC GraphArc)
4289       (graphPart ?ARC ?GRAPH))     4310       (graphPart ?ARC ?GRAPH))
4290    (=>     4311    (=>
4291       (equal (TerminalNodeFn ?ARC) ?NODE)     4312       (equal (TerminalNodeFn ?ARC) ?NODE)
4292       (not (exists (?OTHER)     4313       (not (exists (?OTHER)
4293          (and     4314          (and
4294             (equal (TerminalNodeFn ?OTHER) ?NODE)     4315             (equal (TerminalNodeFn ?OTHER) ?NODE)
4295             (not (equal ?OTHER ?ARC)))))))     4316             (not (equal ?OTHER ?ARC)))))))
4296     4317
4297 (subclass GraphCircuit GraphPath)     4318 (subclass GraphCircuit GraphPath)
4298 (documentation GraphCircuit "A &%GraphPath that begins (see     4319 (documentation GraphCircuit "A &%GraphPath that begins (see
4299 &%BeginNodeFn) and ends (see &%EndNodeFn) at the same     4320 &%BeginNodeFn) and ends (see &%EndNodeFn) at the same
4300 &%GraphNode.")     4321 &%GraphNode.")
4301     4322
4302 (<=>     4323 (<=>
4303    (instance ?GRAPH GraphCircuit)     4324    (instance ?GRAPH GraphCircuit)
4304    (exists (?NODE)     4325    (exists (?NODE)
4305       (and     4326       (and
4306          (equal (BeginNodeFn ?GRAPH) ?NODE)     4327          (equal (BeginNodeFn ?GRAPH) ?NODE)
4307          (equal (EndNodeFn ?GRAPH) ?NODE))))     4328          (equal (EndNodeFn ?GRAPH) ?NODE))))
4308     4329
4309 (subclass MultiGraph Graph)     4330 (subclass MultiGraph Graph)
4310 (documentation MultiGraph "The &%Class of multigraphs. A multigraph     4331 (documentation MultiGraph "The &%Class of multigraphs. A multigraph
4311 is a &%Graph containing at least one pair of &%GraphNodes that are     4332 is a &%Graph containing at least one pair of &%GraphNodes that are
4312 connected by more than one &%GraphArc.")     4333 connected by more than one &%GraphArc.")
4313     4334
4314 (<=>     4335 (<=>
4315    (instance ?GRAPH MultiGraph)     4336    (instance ?GRAPH MultiGraph)
4316    (exists (?ARC1 ?ARC2 ?NODE1 ?NODE2)     4337    (exists (?ARC1 ?ARC2 ?NODE1 ?NODE2)
4317       (and     4338       (and
4318          (graphPart ?ARC1 ?GRAPH)     4339          (graphPart ?ARC1 ?GRAPH)
4319          (graphPart ?ARC2 ?GRAPH)     4340          (graphPart ?ARC2 ?GRAPH)
4320          (graphPart ?NODE1 ?GRAPH)     4341          (graphPart ?NODE1 ?GRAPH)
4321          (graphPart ?NODE2 ?GRAPH)     4342          (graphPart ?NODE2 ?GRAPH)
4322          (links ?NODE1 ?NODE2 ?ARC1)     4343          (links ?NODE1 ?NODE2 ?ARC1)
4323          (links ?NODE1 ?NODE2 ?ARC2)     4344          (links ?NODE1 ?NODE2 ?ARC2)
4324          (not (equal ?ARC1 ?ARC2)))))     4345          (not (equal ?ARC1 ?ARC2)))))
4325     4346
4326 (subclass PseudoGraph Graph)     4347 (subclass PseudoGraph Graph)
4327 (documentation PseudoGraph "The &%Class of pseudographs. A pseudograph     4348 (documentation PseudoGraph "The &%Class of pseudographs. A pseudograph
4328 is a &%Graph containing at least one &%GraphLoop.")     4349 is a &%Graph containing at least one &%GraphLoop.")
4329     4350
4330 (<=>     4351 (<=>
4331    (instance ?GRAPH PseudoGraph)     4352    (instance ?GRAPH PseudoGraph)
4332    (exists (?LOOP)     4353    (exists (?LOOP)
4333       (and     4354       (and
4334          (instance ?LOOP GraphLoop)     4355          (instance ?LOOP GraphLoop)
4335          (graphPart ?LOOP ?GRAPH))))     4356          (graphPart ?LOOP ?GRAPH))))
4336     4357
4337 (subclass GraphElement Abstract)     4358 (subclass GraphElement Abstract)
4338 (partition GraphElement GraphNode GraphArc)     4359 (partition GraphElement GraphNode GraphArc)
4339 (documentation GraphElement "Noncompositional parts of &%Graphs.     4360 (documentation GraphElement "Noncompositional parts of &%Graphs.
4340 These parts are restricted to &%GraphNodes and &%GraphArcs.")     4361 These parts are restricted to &%GraphNodes and &%GraphArcs.")
4341     4362
4342 (=>     4363 (=>
4343    (instance ?PART GraphElement)     4364    (instance ?PART GraphElement)
4344    (exists (?GRAPH)     4365    (exists (?GRAPH)
4345       (and     4366       (and
4346          (instance ?GRAPH Graph)     4367          (instance ?GRAPH Graph)
4347          (graphPart ?PART ?GRAPH))))     4368          (graphPart ?PART ?GRAPH))))
4348     4369
4349 (subclass GraphNode GraphElement)     4370 (subclass GraphNode GraphElement)
4350 (documentation GraphNode "&%Graphs are comprised of &%GraphNodes     4371 (documentation GraphNode "&%Graphs are comprised of &%GraphNodes
4351 and &%GraphArcs. Every &%GraphNode is linked by a &%GraphArc.")     4372 and &%GraphArcs. Every &%GraphNode is linked by a &%GraphArc.")
4352     4373
4353 (=>     4374 (=>
4354    (instance ?NODE GraphNode)     4375    (instance ?NODE GraphNode)
4355    (exists (?OTHER ?ARC)     4376    (exists (?OTHER ?ARC)
4356       (links ?NODE ?OTHER ?ARC)))     4377       (links ?NODE ?OTHER ?ARC)))
4357     4378
4358 (subclass GraphArc GraphElement)     4379 (subclass GraphArc GraphElement)
4359 (documentation GraphArc "&%Graphs are comprised of &%GraphNodes     4380 (documentation GraphArc "&%Graphs are comprised of &%GraphNodes
4360 and &%GraphArcs. Every &%GraphArc links two &%GraphNodes.")     4381 and &%GraphArcs. Every &%GraphArc links two &%GraphNodes.")
4361     4382
4362 (=>     4383 (=>
4363    (instance ?ARC GraphArc)     4384    (instance ?ARC GraphArc)
4364    (exists (?NODE1 ?NODE2)     4385    (exists (?NODE1 ?NODE2)
4365       (links ?NODE1 ?NODE2 ?ARC)))     4386       (links ?NODE1 ?NODE2 ?ARC)))
4366     4387
4367 (subclass GraphLoop GraphArc)     4388 (subclass GraphLoop GraphArc)
4368 (documentation GraphLoop "A &%GraphArc in which a &%GraphNode is     4389 (documentation GraphLoop "A &%GraphArc in which a &%GraphNode is
4369 linked to itself.")     4390 linked to itself.")
4370     4391
4371 (<=>     4392 (<=>
4372    (instance ?LOOP GraphLoop)     4393    (instance ?LOOP GraphLoop)
4373    (exists (?NODE)     4394    (exists (?NODE)
4374       (links ?NODE ?NODE ?LOOP)))     4395       (links ?NODE ?NODE ?LOOP)))
4375     4396
4376 (=>     4397 (=>
4377    (and     4398    (and
4378       (equal (InitialNodeFn ?ARC) ?NODE)     4399       (equal (InitialNodeFn ?ARC) ?NODE)
4379       (equal (TerminalNodeFn ?ARC) ?NODE))     4400       (equal (TerminalNodeFn ?ARC) ?NODE))
4380    (instance ?ARC GraphLoop))     4401    (instance ?ARC GraphLoop))
4381     4402
4382 (instance links TernaryPredicate)     4403 (instance links TernaryPredicate)
4383 (domain links 1 GraphNode)     4404 (domain links 1 GraphNode)
4384 (domain links 2 GraphNode)     4405 (domain links 2 GraphNode)
4385 (domain links 3 GraphArc)     4406 (domain links 3 GraphArc)
4386 (documentation links "a &%TernaryPredicate that specifies the     4407 (documentation links "a &%TernaryPredicate that specifies the
4387 &%GraphArc connecting two &%GraphNodes.")     4408 &%GraphArc connecting two &%GraphNodes.")
4388     4409
4389 (=>     4410 (=>
4390    (links ?NODE1 ?NODE2 ?ARC)     4411    (links ?NODE1 ?NODE2 ?ARC)
4391    (links ?NODE2 ?NODE1 ?ARC))     4412    (links ?NODE2 ?NODE1 ?ARC))
4392     4413
4393 (instance graphPart BinaryPredicate)     4414 (instance graphPart BinaryPredicate)
4394 (instance graphPart AsymmetricRelation)     4415 (instance graphPart AsymmetricRelation)
4395 (instance graphPart IrreflexiveRelation)     4416 (instance graphPart IrreflexiveRelation)
4396 (domain graphPart 1 GraphElement)     4417 (domain graphPart 1 GraphElement)
4397 (domain graphPart 2 Graph)     4418 (domain graphPart 2 Graph)
4398 (documentation graphPart "A basic relation for &%Graphs and their     4419 (documentation graphPart "A basic relation for &%Graphs and their
4399 parts. (&%graphPart ?PART ?GRAPH) means that ?PART is a &%GraphArc     4420 parts. (&%graphPart ?PART ?GRAPH) means that ?PART is a &%GraphArc
4400 or &%GraphNode of the &%Graph ?GRAPH.")     4421 or &%GraphNode of the &%Graph ?GRAPH.")
4401     4422
4402 (instance subGraph BinaryPredicate)     4423 (instance subGraph BinaryPredicate)
4403 (instance subGraph ReflexiveRelation)     4424 (instance subGraph ReflexiveRelation)
4404 (instance subGraph TransitiveRelation)     4425 (instance subGraph TransitiveRelation)
4405 (domain subGraph 1 Graph)     4426 (domain subGraph 1 Graph)
4406 (domain subGraph 2 Graph)     4427 (domain subGraph 2 Graph)
4407 (documentation subGraph "The relation between two &%Graphs when one     4428 (documentation subGraph "The relation between two &%Graphs when one
4408 &%Graph is a part of the other. (&%subGraph ?GRAPH1 ?GRAPH2) means     4429 &%Graph is a part of the other. (&%subGraph ?GRAPH1 ?GRAPH2) means
4409 that ?GRAPH1 is a part of ?GRAPH2.")     4430 that ?GRAPH1 is a part of ?GRAPH2.")
4410     4431
4411 (=>     4432 (=>
4412    (and     4433    (and
4413       (subGraph ?GRAPH1 ?GRAPH2)     4434       (subGraph ?GRAPH1 ?GRAPH2)
4414       (graphPart ?ELEMENT ?GRAPH1))     4435       (graphPart ?ELEMENT ?GRAPH1))
4415    (graphPart ?ELEMENT ?GRAPH2))     4436    (graphPart ?ELEMENT ?GRAPH2))
4416     4437
4417 (instance pathLength BinaryPredicate)     4438 (instance pathLength BinaryPredicate)
4418 (instance pathLength AsymmetricRelation)     4439 (instance pathLength AsymmetricRelation)
4419 (instance pathLength IrreflexiveRelation)     4440 (instance pathLength IrreflexiveRelation)
4420 (domain pathLength 1 GraphPath)     4441 (domain pathLength 1 GraphPath)
4421 (domain pathLength 2 PositiveInteger)     4442 (domain pathLength 2 PositiveInteger)
4422 (documentation pathLength "A &%BinaryPredicate that specifies the     4443 (documentation pathLength "A &%BinaryPredicate that specifies the
4423 length (in number of &%GraphNodes) of a &%GraphPath.     4444 length (in number of &%GraphNodes) of a &%GraphPath.
4424 (&%pathLength ?PATH ?NUMBER) means that there are ?NUMBER nodes in     4445 (&%pathLength ?PATH ?NUMBER) means that there are ?NUMBER nodes in
4425 the &%GraphPath ?PATH.")     4446 the &%GraphPath ?PATH.")
4426     4447
4427 (instance InitialNodeFn UnaryFunction)     4448 (instance InitialNodeFn UnaryFunction)
4428 (instance InitialNodeFn PartialValuedRelation)     4449 (instance InitialNodeFn PartialValuedRelation)
4429 (domain InitialNodeFn 1 GraphArc)     4450 (domain InitialNodeFn 1 GraphArc)
4430 (range InitialNodeFn GraphNode)     4451 (range InitialNodeFn GraphNode)
4431 (documentation InitialNodeFn "A &%UnaryFunction that maps a     4452 (documentation InitialNodeFn "A &%UnaryFunction that maps a
4432 &%GraphArc to the initial node of the &%GraphArc. Note     4453 &%GraphArc to the initial node of the &%GraphArc. Note
4433 that this is a partial function. In particular, the function is     4454 that this is a partial function. In particular, the function is
4434 undefined for &%GraphArcs that are not part of a &%DirectedGraph.")     4455 undefined for &%GraphArcs that are not part of a &%DirectedGraph.")
4435     4456
4436 (instance TerminalNodeFn UnaryFunction)     4457 (instance TerminalNodeFn UnaryFunction)
4437 (instance TerminalNodeFn PartialValuedRelation)     4458 (instance TerminalNodeFn PartialValuedRelation)
4438 (domain TerminalNodeFn 1 GraphArc)     4459 (domain TerminalNodeFn 1 GraphArc)
4439 (range TerminalNodeFn GraphNode)     4460 (range TerminalNodeFn GraphNode)
4440 (documentation TerminalNodeFn "A &%UnaryFunction that maps a     4461 (documentation TerminalNodeFn "A &%UnaryFunction that maps a
4441 &%GraphArc to the terminal node of the &%GraphArc. Note that this     4462 &%GraphArc to the terminal node of the &%GraphArc. Note that this
4442 is a partial function. In particular, the function is undefined     4463 is a partial function. In particular, the function is undefined
4443 for &%GraphArcs that are not part of a &%DirectedGraph.")     4464 for &%GraphArcs that are not part of a &%DirectedGraph.")
4444     4465
4445 (instance BeginNodeFn UnaryFunction)     4466 (instance BeginNodeFn UnaryFunction)
4446 (instance BeginNodeFn TotalValuedRelation)     4467 (instance BeginNodeFn TotalValuedRelation)
4447 (domain BeginNodeFn 1 GraphPath)     4468 (domain BeginNodeFn 1 GraphPath)
4448 (range BeginNodeFn GraphNode)     4469 (range BeginNodeFn GraphNode)
4449 (relatedInternalConcept BeginNodeFn InitialNodeFn)     4470 (relatedInternalConcept BeginNodeFn InitialNodeFn)
4450 (documentation BeginNodeFn "A &%UnaryFunction that maps a &%GraphPath     4471 (documentation BeginNodeFn "A &%UnaryFunction that maps a &%GraphPath
4451 to the &%GraphNode that is the beginning of the &%GraphPath. Note that,     4472 to the &%GraphNode that is the beginning of the &%GraphPath. Note that,
4452 unlike &%InitialNodeFn (which relates a &%GraphArc to a &%GraphNode),     4473 unlike &%InitialNodeFn (which relates a &%GraphArc to a &%GraphNode),
4453 &%BeginNodeFn is a total function - every &%GraphPath has a beginning.")     4474 &%BeginNodeFn is a total function - every &%GraphPath has a beginning.")
4454     4475
4455 (instance EndNodeFn UnaryFunction)     4476 (instance EndNodeFn UnaryFunction)
4456 (instance EndNodeFn TotalValuedRelation)     4477 (instance EndNodeFn TotalValuedRelation)
4457 (domain EndNodeFn 1 GraphPath)     4478 (domain EndNodeFn 1 GraphPath)
4458 (range EndNodeFn GraphNode)     4479 (range EndNodeFn GraphNode)
4459 (relatedInternalConcept EndNodeFn TerminalNodeFn)     4480 (relatedInternalConcept EndNodeFn TerminalNodeFn)
4460 (documentation EndNodeFn "A &%UnaryFunction that maps a &%GraphPath     4481 (documentation EndNodeFn "A &%UnaryFunction that maps a &%GraphPath
4461 to the &%GraphNode that is the end of the &%GraphPath. Note that, unlike     4482 to the &%GraphNode that is the end of the &%GraphPath. Note that, unlike
4462 &%TerminalNodeFn (which relates a &%GraphArc to a &%GraphNode),     4483 &%TerminalNodeFn (which relates a &%GraphArc to a &%GraphNode),
4463 &%EndNodeFn is a total function - every &%GraphPath has a end.")     4484 &%EndNodeFn is a total function - every &%GraphPath has a end.")
4464     4485
4465 (instance arcWeight BinaryPredicate)     4486 (instance arcWeight BinaryPredicate)
4466 (instance arcWeight SingleValuedRelation)     4487 (instance arcWeight SingleValuedRelation)
4467 (domain arcWeight 1 GraphArc)     4488 (domain arcWeight 1 GraphArc)
4468 (domain arcWeight 2 RealNumber)     4489 (domain arcWeight 2 RealNumber)
4469 (documentation arcWeight "This predicate indicates the value of a     4490 (documentation arcWeight "This predicate indicates the value of a
4470 &%GraphArc in a &%Graph. This could map to the length of a road in     4491 &%GraphArc in a &%Graph. This could map to the length of a road in
4471 a road network or the flow rate of a pipe in a plumbing system.")     4492 a road network or the flow rate of a pipe in a plumbing system.")
4472     4493
4473 (instance PathWeightFn UnaryFunction)     4494 (instance PathWeightFn UnaryFunction)
4474 (domain PathWeightFn 1 GraphPath)     4495 (domain PathWeightFn 1 GraphPath)
4475 (range PathWeightFn RealNumber)     4496 (range PathWeightFn RealNumber)
4476 (documentation PathWeightFn "A &%UnaryFunction that maps a     4497 (documentation PathWeightFn "A &%UnaryFunction that maps a
4477 &%GraphPath to the sum of the &%arcWeights on the &%GraphArcs in     4498 &%GraphPath to the sum of the &%arcWeights on the &%GraphArcs in
4478 the &%GraphPath.")     4499 the &%GraphPath.")
4479     4500
4480 (=>     4501 (=>
4481    (and     4502    (and
4482       (equal (PathWeightFn ?PATH) ?SUM)     4503       (equal (PathWeightFn ?PATH) ?SUM)
4483       (subGraph ?SUBPATH ?PATH)     4504       (subGraph ?SUBPATH ?PATH)
4484       (graphPart ?ARC1 ?PATH)     4505       (graphPart ?ARC1 ?PATH)
4485       (arcWeight ?ARC1 ?NUMBER1)     4506       (arcWeight ?ARC1 ?NUMBER1)
4486       (forall (?ARC2)     4507       (forall (?ARC2)
4487          (=>     4508          (=>
4488             (graphPart ?ARC2 ?PATH)     4509             (graphPart ?ARC2 ?PATH)
4489             (or     4510             (or
4490                (graphPart ?ARC2 ?SUBPATH)     4511                (graphPart ?ARC2 ?SUBPATH)
4491                (equal ?ARC2 ?ARC1)))))     4512                (equal ?ARC2 ?ARC1)))))
4492    (equal ?SUM (AdditionFn (PathWeightFn ?SUBPATH) ?NUMBER1)))     4513    (equal ?SUM (AdditionFn (PathWeightFn ?SUBPATH) ?NUMBER1)))
4493     4514
4494 (=>     4515 (=>
4495    (and     4516    (and
4496       (equal (PathWeightFn ?PATH) ?SUM)     4517       (equal (PathWeightFn ?PATH) ?SUM)
4497       (graphPart ?ARC1 ?PATH)     4518       (graphPart ?ARC1 ?PATH)
4498       (graphPart ?ARC2 ?PATH)     4519       (graphPart ?ARC2 ?PATH)
4499       (arcWeight ?ARC1 ?NUMBER1)     4520       (arcWeight ?ARC1 ?NUMBER1)
4500       (arcWeight ?ARC2 ?NUMBER2)     4521       (arcWeight ?ARC2 ?NUMBER2)
4501       (forall (?ARC3)     4522       (forall (?ARC3)
4502          (=>     4523          (=>
4503             (graphPart ?ARC3 ?PATH)     4524             (graphPart ?ARC3 ?PATH)
4504             (or     4525             (or
4505                (equal ?ARC3 ?ARC1)     4526                (equal ?ARC3 ?ARC1)
4506                (equal ?ARC3 ?ARC2)))))     4527                (equal ?ARC3 ?ARC2)))))
4507    (equal (PathWeightFn ?PATH) (AdditionFn ?NUMBER1 ?NUMBER2)))     4528    (equal (PathWeightFn ?PATH) (AdditionFn ?NUMBER1 ?NUMBER2)))
4508     4529
4509 (instance MinimalWeightedPathFn BinaryFunction)     4530 (instance MinimalWeightedPathFn BinaryFunction)
4510 (domain MinimalWeightedPathFn 1 GraphNode)     4531 (domain MinimalWeightedPathFn 1 GraphNode)
4511 (domain MinimalWeightedPathFn 2 GraphNode)     4532 (domain MinimalWeightedPathFn 2 GraphNode)
4512 (range MinimalWeightedPathFn GraphPath)     4533 (range MinimalWeightedPathFn GraphPath)
4513 (documentation MinimalWeightedPathFn "This &%BinaryFunction assigns two     4534 (documentation MinimalWeightedPathFn "This &%BinaryFunction assigns two
4514 &%GraphNodes to the &%GraphPath with the smallest sum of weighted arcs     4535 &%GraphNodes to the &%GraphPath with the smallest sum of weighted arcs
4515 between the two &%GraphNodes.")     4536 between the two &%GraphNodes.")
4516     4537
4517 (=>     4538 (=>
4518    (equal (MinimalWeightedPathFn ?NODE1 ?NODE2) ?PATH)     4539    (equal (MinimalWeightedPathFn ?NODE1 ?NODE2) ?PATH)
4519    (instance ?PATH (GraphPathFn ?NODE1 ?NODE2)))     4540    (instance ?PATH (GraphPathFn ?NODE1 ?NODE2)))
4520     4541
4521 (=>     4542 (=>
4522    (and     4543    (and
4523       (equal (MinimalWeightedPathFn ?NODE1 ?NODE2) ?PATH)     4544       (equal (MinimalWeightedPathFn ?NODE1 ?NODE2) ?PATH)
4524       (equal (PathWeightFn ?PATH) ?NUMBER))     4545       (equal (PathWeightFn ?PATH) ?NUMBER))
4525    (forall (?PATH2)     4546    (forall (?PATH2)
4526       (=>     4547       (=>
4527          (and     4548          (and
4528             (instance ?PATH2 (GraphPathFn ?NODE1 ?NODE2))     4549             (instance ?PATH2 (GraphPathFn ?NODE1 ?NODE2))
4529             (equal (PathWeightFn ?PATH2) ?NUMBER2))     4550             (equal (PathWeightFn ?PATH2) ?NUMBER2))
4530          (greaterThanOrEqualTo ?NUMBER2 ?NUMBER1))))     4551          (greaterThanOrEqualTo ?NUMBER2 ?NUMBER1))))
4531     4552
4532 (instance MaximalWeightedPathFn BinaryFunction)     4553 (instance MaximalWeightedPathFn BinaryFunction)
4533 (domain MaximalWeightedPathFn 1 GraphNode)     4554 (domain MaximalWeightedPathFn 1 GraphNode)
4534 (domain MaximalWeightedPathFn 2 GraphNode)     4555 (domain MaximalWeightedPathFn 2 GraphNode)
4535 (range MaximalWeightedPathFn GraphPath)     4556 (range MaximalWeightedPathFn GraphPath)
4536 (documentation MaximalWeightedPathFn "This &%BinaryFunction assigns two     4557 (documentation MaximalWeightedPathFn "This &%BinaryFunction assigns two
4537 &%GraphNodes to the &%GraphPath with the largest sum of weighted arcs     4558 &%GraphNodes to the &%GraphPath with the largest sum of weighted arcs
4538 between the two &%GraphNodes.")     4559 between the two &%GraphNodes.")
4539     4560
4540 (=>     4561 (=>
4541    (equal (MaximalWeightedPathFn ?NODE1 ?NODE2) ?PATH)     4562    (equal (MaximalWeightedPathFn ?NODE1 ?NODE2) ?PATH)
4542    (instance ?PATH (GraphPathFn ?NODE1 ?NODE2)))     4563    (instance ?PATH (GraphPathFn ?NODE1 ?NODE2)))
4543     4564
4544 (=>     4565 (=>
4545    (and     4566    (and
4546       (equal (MaximalWeightedPathFn ?NODE1 ?NODE2) ?PATH)     4567       (equal (MaximalWeightedPathFn ?NODE1 ?NODE2) ?PATH)
4547       (equal (PathWeightFn ?PATH) ?NUMBER))     4568       (equal (PathWeightFn ?PATH) ?NUMBER))
4548    (forall (?PATH2)     4569    (forall (?PATH2)
4549       (=>     4570       (=>
4550          (and     4571          (and
4551             (instance ?PATH2 (GraphPathFn ?NODE1 ?NODE2))     4572             (instance ?PATH2 (GraphPathFn ?NODE1 ?NODE2))
4552             (equal (PathWeightFn ?PATH2) ?NUMBER2))     4573             (equal (PathWeightFn ?PATH2) ?NUMBER2))
4553          (lessThanOrEqualTo ?NUMBER2 ?NUMBER1))))     4574          (lessThanOrEqualTo ?NUMBER2 ?NUMBER1))))
4554     4575
4555 (instance GraphPathFn BinaryFunction)     4576 (instance GraphPathFn BinaryFunction)
4556 (instance GraphPathFn TotalValuedRelation)     4577 (instance GraphPathFn TotalValuedRelation)
4557 (domain GraphPathFn 1 GraphNode)     4578 (domain GraphPathFn 1 GraphNode)
4558 (domain GraphPathFn 2 GraphNode)     4579 (domain GraphPathFn 2 GraphNode)
4559 (rangeSubclass GraphPathFn GraphPath)     4580 (rangeSubclass GraphPathFn GraphPath)
4560 (documentation GraphPathFn "A &%BinaryFunction that maps two &%GraphNodes     4581 (documentation GraphPathFn "A &%BinaryFunction that maps two &%GraphNodes
4561 to the &%Class of &%GraphPaths between those two nodes. Note that the two     4582 to the &%Class of &%GraphPaths between those two nodes. Note that the two
4562 &%GraphNodes must belong to the same &%Graph.")     4583 &%GraphNodes must belong to the same &%Graph.")
4563     4584
4564 (=>     4585 (=>
4565    (and     4586    (and
4566       (graphPart ?PATH ?GRAPH)     4587       (graphPart ?PATH ?GRAPH)
4567       (not (instance ?GRAPH DirectedGraph)))     4588       (not (instance ?GRAPH DirectedGraph)))
4568    (<=>     4589    (<=>
4569       (equal (GraphPathFn ?NODE1 ?NODE2) ?PATH)     4590       (equal (GraphPathFn ?NODE1 ?NODE2) ?PATH)
4570       (equal (GraphPathFn ?NODE2 ?NODE1) ?PATH)))     4591       (equal (GraphPathFn ?NODE2 ?NODE1) ?PATH)))
4571     4592
4572 (instance CutSetFn UnaryFunction)     4593 (instance CutSetFn UnaryFunction)
4573 (domain CutSetFn 1 Graph)     4594 (domain CutSetFn 1 Graph)
4574 (rangeSubclass CutSetFn GraphPath)     4595 (rangeSubclass CutSetFn GraphPath)
4575 (documentation CutSetFn "A &%UnaryFunction that assigns a &%Graph the     4596 (documentation CutSetFn "A &%UnaryFunction that assigns a &%Graph the
4576 &%Class of &%GraphPaths that partition the graph into two separate     4597 &%Class of &%GraphPaths that partition the graph into two separate
4577 graphs if cut. There may be more than one cutset for a given graph.")     4598 graphs if cut. There may be more than one cutset for a given graph.")
4578     4599
4579 (instance MinimalCutSetFn UnaryFunction)     4600 (instance MinimalCutSetFn UnaryFunction)
4580 (domain MinimalCutSetFn 1 Graph)     4601 (domain MinimalCutSetFn 1 Graph)
4581 (rangeSubclass MinimalCutSetFn GraphPath)     4602 (rangeSubclass MinimalCutSetFn GraphPath)
4582 (relatedInternalConcept MinimalCutSetFn CutSetFn)     4603 (relatedInternalConcept MinimalCutSetFn CutSetFn)
4583 (documentation MinimalCutSetFn "A &%UnaryFunction that assigns a &%Graph     4604 (documentation MinimalCutSetFn "A &%UnaryFunction that assigns a &%Graph
4584 the &%Class of &%GraphPaths which comprise cutsets for the &%Graph and     4605 the &%Class of &%GraphPaths which comprise cutsets for the &%Graph and
4585 which have the least number of &%GraphArcs.")     4606 which have the least number of &%GraphArcs.")
4586     4607
4587 (=>     4608 (=>
4588    (instance ?GRAPH Graph)     4609    (instance ?GRAPH Graph)
4589    (subclass (MinimalCutSetFn ?GRAPH) (CutSetFn ?GRAPH)))     4610    (subclass (MinimalCutSetFn ?GRAPH) (CutSetFn ?GRAPH)))
4590     4611
4591 (=>     4612 (=>
4592    (equal (MinimalCutSetFn ?GRAPH) ?PATHCLASS)     4613    (equal (MinimalCutSetFn ?GRAPH) ?PATHCLASS)
4593    (exists (?NUMBER)     4614    (exists (?NUMBER)
4594       (forall (?PATH)     4615       (forall (?PATH)
4595          (=>     4616          (=>
4596             (instance ?PATH ?PATHCLASS)     4617             (instance ?PATH ?PATHCLASS)
4597             (pathLength ?PATH ?NUMBER)))))     4618             (pathLength ?PATH ?NUMBER)))))
4598     4619
4599 (not (exists (?PATH1 ?PATH2)     4620 (not (exists (?PATH1 ?PATH2)
4600    (and     4621    (and
4601       (instance ?PATH1 (CutSetFn ?GRAPH))     4622       (instance ?PATH1 (CutSetFn ?GRAPH))
4602       (instance ?PATH2 (MinimalCutSetFn ?GRAPH))     4623       (instance ?PATH2 (MinimalCutSetFn ?GRAPH))
4603       (pathLength ?PATH1 ?NUMBER1)     4624       (pathLength ?PATH1 ?NUMBER1)
4604       (pathLength ?PATH2 ?NUMBER2)     4625       (pathLength ?PATH2 ?NUMBER2)
4605       (lessThan ?NUMBER1 ?NUMBER2))))     4626       (lessThan ?NUMBER1 ?NUMBER2))))
4606     4627
4607 ;; END FILE     4628 ;; END FILE
4608     4629
4609 ;; BEGIN FILE     4630 ;; BEGIN FILE
4610     4631
4611     4632
4612 ;;;;;;;;;;;;;;;;;;;;;;;;;     4633 ;;;;;;;;;;;;;;;;;;;;;;;;;
4613 ;; UNITS OF MEASURE ;;     4634 ;; UNITS OF MEASURE ;;
4614 ;;;;;;;;;;;;;;;;;;;;;;;;;     4635 ;;;;;;;;;;;;;;;;;;;;;;;;;
4615     4636
4616 ;; INCLUDES 'NUMERIC FUNCTIONS'     4637 ;; INCLUDES 'NUMERIC FUNCTIONS'
4617     4638
4618 ;; This section was originally based on the relations in the Quantities     4639 ;; This section was originally based on the relations in the Quantities
4619 ;; ontology (developed by ITBM-CNR) and the units of measure in the     4640 ;; ontology (developed by ITBM-CNR) and the units of measure in the
4620 ;; "Standard Units" and "Standard Dimensions" ontologies on the Ontolingua     4641 ;; "Standard Units" and "Standard Dimensions" ontologies on the Ontolingua
4621 ;; server. This content has been extensively revised by Helena Sofia Pinto     4642 ;; server. This content has been extensively revised by Helena Sofia Pinto
4622 ;; of the Instituto Superior Tecnico in Portugal. The sources for these     4643 ;; of the Instituto Superior Tecnico in Portugal. The sources for these
4623 ;; revisions were:     4644 ;; revisions were:
4624 ;; - Barry Taylor, NIST Special Publication 811, Guide for the Use of the     4645 ;; - Barry Taylor, NIST Special Publication 811, Guide for the Use of the
4625 ;; International System of Units (SI), 1995.     4646 ;; International System of Units (SI), 1995.
4626 ;; - Encyclopaedia Britannica (on-line version at http://www.britannica.com)     4647 ;; - Encyclopaedia Britannica (on-line version at http://www.britannica.com)
4627     4648
4628 (subclass UnitOfMeasure PhysicalQuantity)     4649 (subclass UnitOfMeasure PhysicalQuantity)
4629 (documentation UnitOfMeasure "A standard of measurement for some dimension.     4650 (documentation UnitOfMeasure "A standard of measurement for some dimension.
4630 For example, the &%Meter is a &%UnitOfMeasure for the dimension of length,     4651 For example, the &%Meter is a &%UnitOfMeasure for the dimension of length,
4631 as is the &%Inch. There is no intrinsic property of a &%UnitOfMeasure that     4652 as is the &%Inch. There is no intrinsic property of a &%UnitOfMeasure that
4632 makes it primitive or fundamental; rather, a system of units (e.g.     4653 makes it primitive or fundamental; rather, a system of units (e.g.
4633 &%SystemeInternationalUnit) defines a set of orthogonal dimensions and     4654 &%SystemeInternationalUnit) defines a set of orthogonal dimensions and
4634 assigns units for each.")     4655 assigns units for each.")
4635     4656
4636 (subclass SystemeInternationalUnit UnitOfMeasure)     4657 (subclass SystemeInternationalUnit UnitOfMeasure)
4637 (documentation SystemeInternationalUnit "The &%Class of Systeme     4658 (documentation SystemeInternationalUnit "The &%Class of Systeme
4638 International (SI) units.")     4659 International (SI) units.")
4639     4660
4640 (subclass LengthMeasure ConstantQuantity)     4661 (subclass LengthMeasure ConstantQuantity)
4641 (documentation LengthMeasure "The &%Class of &%ConstantQuantities relating     4662 (documentation LengthMeasure "The &%Class of &%ConstantQuantities relating
4642 to length.")     4663 to length.")
4643     4664
4644 (subclass MassMeasure ConstantQuantity)     4665 (subclass MassMeasure ConstantQuantity)
4645 (documentation MassMeasure "The &%Class of &%ConstantQuantities relating     4666 (documentation MassMeasure "The &%Class of &%ConstantQuantities relating
4646 to the amount of matter in an &%Object.")     4667 to the amount of matter in an &%Object.")
4647     4668
4648 (subclass AreaMeasure ConstantQuantity)     4669 (subclass AreaMeasure ConstantQuantity)
4649 (documentation AreaMeasure "Measures of the amount of space in two     4670 (documentation AreaMeasure "Measures of the amount of space in two
4650 dimensions.")     4671 dimensions.")
4651     4672
4652 (subclass VolumeMeasure ConstantQuantity)     4673 (subclass VolumeMeasure ConstantQuantity)
4653 (documentation VolumeMeasure "Measures of the amount of space in three     4674 (documentation VolumeMeasure "Measures of the amount of space in three
4654 dimensions.")     4675 dimensions.")
4655     4676
4656 (subclass TemperatureMeasure ConstantQuantity)     4677 (subclass TemperatureMeasure ConstantQuantity)
4657 (documentation TemperatureMeasure "Measures of temperature.     4678 (documentation TemperatureMeasure "Measures of temperature.
4658 In scientific circles, the temperature of something is understood as the     4679 In scientific circles, the temperature of something is understood as the
4659 average velocity of the atoms or molecules that make up the thing.")     4680 average velocity of the atoms or molecules that make up the thing.")
4660     4681
4661 (subclass CurrencyMeasure ConstantQuantity)     4682 (subclass CurrencyMeasure ConstantQuantity)
4662 (documentation CurrencyMeasure "Includes all standard measures of monetary     4683 (documentation CurrencyMeasure "Includes all standard measures of monetary
4663 value, including &%UnitedStatesDollar, &%UnitedStatesCent, Lire, Yen, etc.")     4684 value, including &%UnitedStatesDollar, &%UnitedStatesCent, Lire, Yen, etc.")
4664     4685
4665 (subclass AngleMeasure ConstantQuantity)     4686 (subclass AngleMeasure ConstantQuantity)
4666 (documentation AngleMeasure "The value of an angle in a plane or in a     4687 (documentation AngleMeasure "The value of an angle in a plane or in a
4667 solid.")     4688 solid.")
4668     4689
4669 (subclass PlaneAngleMeasure AngleMeasure)     4690 (subclass PlaneAngleMeasure AngleMeasure)
4670 (documentation PlaneAngleMeasure "The value of an angle in a plane.")     4691 (documentation PlaneAngleMeasure "The value of an angle in a plane.")
4671     4692
4672 (subclass SolidAngleMeasure AngleMeasure)     4693 (subclass SolidAngleMeasure AngleMeasure)
4673 (disjoint SolidAngleMeasure PlaneAngleMeasure)     4694 (disjoint SolidAngleMeasure PlaneAngleMeasure)
4674 (documentation SolidAngleMeasure "The value of an angle in a solid.")     4695 (documentation SolidAngleMeasure "The value of an angle in a solid.")
4675     4696
4676 (instance MeasureFn BinaryFunction)     4697 (instance MeasureFn BinaryFunction)
4677 (instance MeasureFn TotalValuedRelation)     4698 (instance MeasureFn TotalValuedRelation)
4678 (domain MeasureFn 1 RealNumber)     4699 (domain MeasureFn 1 RealNumber)
4679 (domain MeasureFn 2 UnitOfMeasure)     4700 (domain MeasureFn 2 UnitOfMeasure)
4680 (range MeasureFn ConstantQuantity)     4701 (range MeasureFn ConstantQuantity)
4681 (documentation MeasureFn "This &%BinaryFunction maps a &%RealNumber and     4702 (documentation MeasureFn "This &%BinaryFunction maps a &%RealNumber and
4682 a &%UnitOfMeasure to that &%Number of units. It is used for expressing     4703 a &%UnitOfMeasure to that &%Number of units. It is used for expressing
4683 &%ConstantQuantities. For example, the concept of three meters is     4704 &%ConstantQuantities. For example, the concept of three meters is
4684 represented as (&%MeasureFn 3 &%Meter).")     4705 represented as (&%MeasureFn 3 &%Meter).")
4685     4706
4686 (=>     4707 (=>
4687    (and     4708    (and
4688       (equal (MeasureFn ?NUMBER ?UNIT) ?QUANT)     4709       (equal (MeasureFn ?NUMBER ?UNIT) ?QUANT)
4689       (subclass ?UNIT ?QUANTTYPE))     4710       (subclass ?UNIT ?QUANTTYPE))
4690    (instance ?QUANT ?QUANTTYPE))     4711    (instance ?QUANT ?QUANTTYPE))
4691     4712
4692 (=>     4713 (=>
4693    (and     4714    (and
4694       (instance ?REL RelationExtendedToQuantities)     4715       (instance ?REL RelationExtendedToQuantities)
4695       (instance ?REL TernaryRelation)     4716       (instance ?REL TernaryRelation)
4696       (instance ?NUMBER1 RealNumber)     4717       (instance ?NUMBER1 RealNumber)
4697       (instance ?NUMBER2 RealNumber)     4718       (instance ?NUMBER2 RealNumber)
4698       (holds ?REL ?NUMBER1 ?NUMBER2 ?VALUE))     4719       (holds ?REL ?NUMBER1 ?NUMBER2 ?VALUE))
4699    (forall (?UNIT)     4720    (forall (?UNIT)
4700       (=>     4721       (=>
4701          (instance ?UNIT UnitOfMeasure)     4722          (instance ?UNIT UnitOfMeasure)
4702          (holds ?REL (MeasureFn ?NUMBER1 ?UNIT) (MeasureFn ?NUMBER2 ?UNIT) (MeasureFn ?VALUE ?UNIT)))))     4723          (holds ?REL (MeasureFn ?NUMBER1 ?UNIT) (MeasureFn ?NUMBER2 ?UNIT) (MeasureFn ?VALUE ?UNIT)))))
4703     4724
4704 (=>     4725 (=>
4705    (and     4726    (and
4706       (instance ?REL RelationExtendedToQuantities)     4727       (instance ?REL RelationExtendedToQuantities)
4707       (instance ?REL BinaryRelation)     4728       (instance ?REL BinaryRelation)
4708       (instance ?NUMBER1 RealNumber)     4729       (instance ?NUMBER1 RealNumber)
4709       (instance ?NUMBER2 RealNumber)     4730       (instance ?NUMBER2 RealNumber)
4710       (holds ?REL ?NUMBER1 ?NUMBER2))     4731       (holds ?REL ?NUMBER1 ?NUMBER2))
4711    (forall (?UNIT)     4732    (forall (?UNIT)
4712       (=>     4733       (=>
4713          (instance ?UNIT UnitOfMeasure)     4734          (instance ?UNIT UnitOfMeasure)
4714          (holds ?REL (MeasureFn ?NUMBER1 ?UNIT) (MeasureFn ?NUMBER2 ?UNIT)))))     4735          (holds ?REL (MeasureFn ?NUMBER1 ?UNIT) (MeasureFn ?NUMBER2 ?UNIT)))))
4715     4736
4716 (instance KiloFn UnaryFunction)     4737 (instance KiloFn UnaryFunction)
4717 (instance KiloFn TotalValuedRelation)     4738 (instance KiloFn TotalValuedRelation)
4718 (domain KiloFn 1 UnitOfMeasure)     4739 (domain KiloFn 1 UnitOfMeasure)
4719 (range KiloFn UnitOfMeasure)     4740 (range KiloFn UnitOfMeasure)
4720 (documentation KiloFn "A &%UnaryFunction that maps a &%UnitOfMeasure into     4741 (documentation KiloFn "A &%UnaryFunction that maps a &%UnitOfMeasure into
4721 a &%UnitOfMeasure that is equal to 1,000 units of the original &%UnitOfMeasure.     4742 a &%UnitOfMeasure that is equal to 1,000 units of the original &%UnitOfMeasure.
4722 For example, (&%KiloFn &%Gram) is 1,000 &%Grams.")     4743 For example, (&%KiloFn &%Gram) is 1,000 &%Grams.")
4723     4744
4724 (=>     4745 (=>
4725    (instance ?UNIT UnitOfMeasure)     4746    (instance ?UNIT UnitOfMeasure)
4726    (equal (KiloFn ?UNIT) (MeasureFn 1000 ?UNIT)))     4747    (equal (KiloFn ?UNIT) (MeasureFn 1000 ?UNIT)))
4727     4748
4728 (instance MegaFn UnaryFunction)     4749 (instance MegaFn UnaryFunction)
4729 (instance MegaFn TotalValuedRelation)     4750 (instance MegaFn TotalValuedRelation)
4730 (domain MegaFn 1 UnitOfMeasure)     4751 (domain MegaFn 1 UnitOfMeasure)
4731 (range MegaFn UnitOfMeasure)     4752 (range MegaFn UnitOfMeasure)
4732 (documentation MegaFn "A &%UnaryFunction that maps a &%UnitOfMeasure into     4753 (documentation MegaFn "A &%UnaryFunction that maps a &%UnitOfMeasure into
4733 a &%UnitOfMeasure that is equal to 1,000,000 units of the original     4754 a &%UnitOfMeasure that is equal to 1,000,000 units of the original
4734 &%UnitOfMeasure. For example, (&%MegaFn &%Hertz) is 1,000,000 &%Hertz.")     4755 &%UnitOfMeasure. For example, (&%MegaFn &%Hertz) is 1,000,000 &%Hertz.")
4735     4756
4736 (=>     4757 (=>
4737    (instance ?UNIT UnitOfMeasure)     4758    (instance ?UNIT UnitOfMeasure)
4738    (equal (MegaFn ?UNIT) (MeasureFn 1000000 ?UNIT)))     4759    (equal (MegaFn ?UNIT) (MeasureFn 1000000 ?UNIT)))
4739     4760
4740 (instance GigaFn UnaryFunction)     4761 (instance GigaFn UnaryFunction)
4741 (instance GigaFn TotalValuedRelation)     4762 (instance GigaFn TotalValuedRelation)
4742 (domain GigaFn 1 UnitOfMeasure)     4763 (domain GigaFn 1 UnitOfMeasure)
4743 (range GigaFn UnitOfMeasure)     4764 (range GigaFn UnitOfMeasure)
4744 (documentation GigaFn "A &%UnaryFunction that maps a &%UnitOfMeasure into     4765 (documentation GigaFn "A &%UnaryFunction that maps a &%UnitOfMeasure into
4745 a &%UnitOfMeasure that is equal to 1,000,000,000 units of the original     4766 a &%UnitOfMeasure that is equal to 1,000,000,000 units of the original
4746 &%UnitOfMeasure. For example, (&%GigaFn &%Hertz) is 1,000,000,000 &%Hertz.")     4767 &%UnitOfMeasure. For example, (&%GigaFn &%Hertz) is 1,000,000,000 &%Hertz.")
4747     4768
4748 (=>     4769 (=>
4749    (instance ?UNIT UnitOfMeasure)     4770    (instance ?UNIT UnitOfMeasure)
4750    (equal (GigaFn ?UNIT) (MeasureFn 1000000000 ?UNIT)))     4771    (equal (GigaFn ?UNIT) (MeasureFn 1000000000 ?UNIT)))
4751     4772
4752 (instance TeraFn UnaryFunction)     4773 (instance TeraFn UnaryFunction)
4753 (instance TeraFn TotalValuedRelation)     4774 (instance TeraFn TotalValuedRelation)
4754 (domain TeraFn 1 UnitOfMeasure)     4775 (domain TeraFn 1 UnitOfMeasure)
4755 (range TeraFn UnitOfMeasure)     4776 (range TeraFn UnitOfMeasure)
4756 (documentation TeraFn "A &%UnaryFunction that maps a &%UnitOfMeasure     4777 (documentation TeraFn "A &%UnaryFunction that maps a &%UnitOfMeasure
4757 into a &%UnitOfMeasure that is equal to 1,000,000,000,000 units of the original     4778 into a &%UnitOfMeasure that is equal to 1,000,000,000,000 units of the original
4758 &%UnitOfMeasure. For example, (&%TeraFn &%Hertz) is 1,000,000,000,000 &%Hertz.")     4779 &%UnitOfMeasure. For example, (&%TeraFn &%Hertz) is 1,000,000,000,000 &%Hertz.")
4759     4780
4760 (=>     4781 (=>
4761    (instance ?UNIT UnitOfMeasure)     4782    (instance ?UNIT UnitOfMeasure)
4762    (equal (TeraFn ?UNIT) (MeasureFn 1000000000000 ?UNIT)))     4783    (equal (TeraFn ?UNIT) (MeasureFn 1000000000000 ?UNIT)))
4763     4784
4764 (instance MilliFn UnaryFunction)     4785 (instance MilliFn UnaryFunction)
4765 (instance MilliFn TotalValuedRelation)     4786 (instance MilliFn TotalValuedRelation)
4766 (domain MilliFn 1 UnitOfMeasure)     4787 (domain MilliFn 1 UnitOfMeasure)
4767 (range MilliFn UnitOfMeasure)     4788 (range MilliFn UnitOfMeasure)
4768 (documentation MilliFn "A &%UnaryFunction that maps a &%UnitOfMeasure into     4789 (documentation MilliFn "A &%UnaryFunction that maps a &%UnitOfMeasure into
4769 a &%UnitOfMeasure that is equal to .001 units of the original &%UnitOfMeasure.     4790 a &%UnitOfMeasure that is equal to .001 units of the original &%UnitOfMeasure.
4770 For example, (&%MilliFn &%Ampere) is .001 &%Amperes.")     4791 For example, (&%MilliFn &%Ampere) is .001 &%Amperes.")
4771     4792
4772 (=>     4793 (=>
4773    (instance ?UNIT UnitOfMeasure)     4794    (instance ?UNIT UnitOfMeasure)
4774    (equal (MilliFn ?UNIT) (MeasureFn 0.001 ?UNIT)))     4795    (equal (MilliFn ?UNIT) (MeasureFn 0.001 ?UNIT)))
4775     4796
4776 (instance MicroFn UnaryFunction)     4797 (instance MicroFn UnaryFunction)
4777 (instance MicroFn TotalValuedRelation)     4798 (instance MicroFn TotalValuedRelation)
4778 (domain MicroFn 1 UnitOfMeasure)     4799 (domain MicroFn 1 UnitOfMeasure)
4779 (range MicroFn UnitOfMeasure)     4800 (range MicroFn UnitOfMeasure)
4780 (documentation MicroFn "A &%UnaryFunction that maps a &%UnitOfMeasure into     4801 (documentation MicroFn "A &%UnaryFunction that maps a &%UnitOfMeasure into
4781 a &%UnitOfMeasure that is equal to .000001 units of the original &%UnitOfMeasure.     4802 a &%UnitOfMeasure that is equal to .000001 units of the original &%UnitOfMeasure.
4782 For example, (&%MicroFn &%Meter) is .000001 &%Meters.")     4803 For example, (&%MicroFn &%Meter) is .000001 &%Meters.")
4783     4804
4784 (=>     4805 (=>
4785    (instance ?UNIT UnitOfMeasure)     4806    (instance ?UNIT UnitOfMeasure)
4786    (equal (MicroFn ?UNIT) (MeasureFn 0.000001 ?UNIT)))     4807    (equal (MicroFn ?UNIT) (MeasureFn 0.000001 ?UNIT)))
4787     4808
4788 (instance NanoFn UnaryFunction)     4809 (instance NanoFn UnaryFunction)
4789 (instance NanoFn TotalValuedRelation)     4810 (instance NanoFn TotalValuedRelation)
4790 (domain NanoFn 1 UnitOfMeasure)     4811 (domain NanoFn 1 UnitOfMeasure)
4791 (range NanoFn UnitOfMeasure)     4812 (range NanoFn UnitOfMeasure)
4792 (documentation NanoFn "A &%UnaryFunction that maps a &%UnitOfMeasure into     4813 (documentation NanoFn "A &%UnaryFunction that maps a &%UnitOfMeasure into
4793 a &%UnitOfMeasure that is equal to .000000001 units of the original     4814 a &%UnitOfMeasure that is equal to .000000001 units of the original
4794 &%UnitOfMeasure. For example, (&%MicroFn &%SecondDuration) is .000000001     4815 &%UnitOfMeasure. For example, (&%MicroFn &%SecondDuration) is .000000001
4795 &%SecondDurations.")     4816 &%SecondDurations.")
4796     4817
4797 (=>     4818 (=>
4798    (instance ?UNIT UnitOfMeasure)     4819    (instance ?UNIT UnitOfMeasure)
4799    (equal (NanoFn ?UNIT) (MeasureFn 0.000000001 ?UNIT)))     4820    (equal (NanoFn ?UNIT) (MeasureFn 0.000000001 ?UNIT)))
4800     4821
4801 (instance PicoFn UnaryFunction)     4822 (instance PicoFn UnaryFunction)
4802 (instance PicoFn TotalValuedRelation)     4823 (instance PicoFn TotalValuedRelation)
4803 (domain PicoFn 1 UnitOfMeasure)     4824 (domain PicoFn 1 UnitOfMeasure)
4804 (range PicoFn UnitOfMeasure)     4825 (range PicoFn UnitOfMeasure)
4805 (documentation PicoFn "A &%UnaryFunction that maps a &%UnitOfMeasure into     4826 (documentation PicoFn "A &%UnaryFunction that maps a &%UnitOfMeasure into
4806 a &%UnitOfMeasure that is equal to .000000000001 units of the original     4827 a &%UnitOfMeasure that is equal to .000000000001 units of the original
4807 &%UnitOfMeasure. For example, (&%PicoFn &%Ampere) is .000000000001     4828 &%UnitOfMeasure. For example, (&%PicoFn &%Ampere) is .000000000001
4808 &%Amperes.")     4829 &%Amperes.")
4809     4830
4810 (=>     4831 (=>
4811    (instance ?UNIT UnitOfMeasure)     4832    (instance ?UNIT UnitOfMeasure)
4812    (equal (PicoFn ?UNIT) (MeasureFn 0.000000000001 ?UNIT)))     4833    (equal (PicoFn ?UNIT) (MeasureFn 0.000000000001 ?UNIT)))
4813     4834
4814 (instance IntervalFn BinaryFunction)     4835 (instance IntervalFn BinaryFunction)
4815 (domain IntervalFn 1 ConstantQuantity)     4836 (domain IntervalFn 1 ConstantQuantity)
4816 (domain IntervalFn 2 ConstantQuantity)     4837 (domain IntervalFn 2 ConstantQuantity)
4817 (rangeSubclass IntervalFn ConstantQuantity)     4838 (rangeSubclass IntervalFn ConstantQuantity)
4818 (relatedInternalConcept IntervalFn RecurrentTimeIntervalFn)     4839 (relatedInternalConcept IntervalFn RecurrentTimeIntervalFn)
4819 (documentation IntervalFn "A &%BinaryFunction that maps two &%ConstantQuantities     4840 (documentation IntervalFn "A &%BinaryFunction that maps two &%ConstantQuantities
4820 to the &%Class of &%ConstantQuantities that comprise the interval from the first     4841 to the &%Class of &%ConstantQuantities that comprise the interval from the first
4821 &%ConstantQuantity to the second &%ConstantQuantity. For example, (&%IntervalFn     4842 &%ConstantQuantity to the second &%ConstantQuantity. For example, (&%IntervalFn
4822 (&%MeasureFn 8 &%Meter) (&%MeasureFn 14 &%Meter)) would return the &%Class of     4843 (&%MeasureFn 8 &%Meter) (&%MeasureFn 14 &%Meter)) would return the &%Class of
4823 &%ConstantQuantities between 8 and 14 meters in length.")     4844 &%ConstantQuantities between 8 and 14 meters in length.")
4824     4845
4825 (<=>     4846 (<=>
4826    (instance ?QUANTITY (IntervalFn ?FROM ?TO))     4847    (instance ?QUANTITY (IntervalFn ?FROM ?TO))
4827    (and     4848    (and
4828         (greaterThanOrEqualTo ?QUANTITY ?FROM)     4849         (greaterThanOrEqualTo ?QUANTITY ?FROM)
4829         (lessThanOrEqualTo ?QUANTITY ?TO)))     4850         (lessThanOrEqualTo ?QUANTITY ?TO)))
4830     4851
4831 (instance MagnitudeFn UnaryFunction)     4852 (instance MagnitudeFn UnaryFunction)
4832 (domain MagnitudeFn 1 ConstantQuantity)     4853 (domain MagnitudeFn 1 ConstantQuantity)
4833 (range MagnitudeFn RealNumber)     4854 (range MagnitudeFn RealNumber)
4834 (documentation MagnitudeFn "The magnitude of a &%ConstantQuantity is the     4855 (documentation MagnitudeFn "The magnitude of a &%ConstantQuantity is the
4835 numeric value for the quantity. In other words, &%MagnitudeFn converts     4856 numeric value for the quantity. In other words, &%MagnitudeFn converts
4836 a &%ConstantQuantity with an associated &%UnitOfMeasure into an ordinary     4857 a &%ConstantQuantity with an associated &%UnitOfMeasure into an ordinary
4837 &%RealNumber. For example, the magnitude of the &%ConstantQuantity 2     4858 &%RealNumber. For example, the magnitude of the &%ConstantQuantity 2
4838 &%Kilometers is the &%RealNumber 2. Note that the magnitude of a     4859 &%Kilometers is the &%RealNumber 2. Note that the magnitude of a
4839 quantity in a given unit times that unit is equal to the original     4860 quantity in a given unit times that unit is equal to the original
4840 quantity.")     4861 quantity.")
4841     4862
4842 (=>     4863 (=>
4843    (and     4864    (and
4844       (instance ?NUMBER RealNumber)     4865       (instance ?NUMBER RealNumber)
4845       (instance ?UNIT UnitOfMeasure))     4866       (instance ?UNIT UnitOfMeasure))
4846 (equal (MagnitudeFn (MeasureFn ?NUMBER ?UNIT)) ?NUMBER))     4867 (equal (MagnitudeFn (MeasureFn ?NUMBER ?UNIT)) ?NUMBER))
4847     4868
4848 (instance PerFn BinaryFunction)     4869 (instance PerFn BinaryFunction)
4849 (instance PerFn TotalValuedRelation)     4870 (instance PerFn TotalValuedRelation)
4850 (domain PerFn 1 ConstantQuantity)     4871 (domain PerFn 1 ConstantQuantity)
4851 (domain PerFn 2 ConstantQuantity)     4872 (domain PerFn 2 ConstantQuantity)
4852 (range PerFn FunctionQuantity)     4873 (range PerFn FunctionQuantity)
4853 (documentation PerFn "&%PerFn maps two instances of &%ConstantQuantity to the &%FunctionQuantity composed of these two instances. For example, (&%PerFn (&%MeasureFn 2 (&%MicroFn &%Gram)) (&%MeasureFn 1 (&%KiloFn &%Gram))) denotes the &%FunctionQuantity of     4874 (documentation PerFn "&%PerFn maps two instances of &%ConstantQuantity to the &%FunctionQuantity composed of these two instances. For example, (&%PerFn (&%MeasureFn 2 (&%MicroFn &%Gram)) (&%MeasureFn 1 (&%KiloFn &%Gram))) denotes the &%FunctionQuantity of
4854 2 micrograms per kiogram. This function is useful, because it allows the knowledge     4875 2 micrograms per kiogram. This function is useful, because it allows the knowledge
4855 engineer to dynamically generate instances of &%FunctionQuantity.")     4876 engineer to dynamically generate instances of &%FunctionQuantity.")
4856     4877
4857 (subrelation DensityFn PerFn)     4878 (subrelation DensityFn PerFn)
4858 (instance DensityFn TotalValuedRelation)     4879 (instance DensityFn TotalValuedRelation)
4859 (domain DensityFn 1 MassMeasure)     4880 (domain DensityFn 1 MassMeasure)
4860 (domain DensityFn 2 VolumeMeasure)     4881 (domain DensityFn 2 VolumeMeasure)
4861 (range DensityFn FunctionQuantity)     4882 (range DensityFn FunctionQuantity)
4862 (documentation DensityFn "&%DensityFn maps an instance of &%MassMeasure     4883 (documentation DensityFn "&%DensityFn maps an instance of &%MassMeasure
4863 and an instance of &%VolumeMeasure to the density represented by this     4884 and an instance of &%VolumeMeasure to the density represented by this
4864 proportion of mass and volume. For example, (&%DensityFn (&%MeasureFn 3 &%Gram)     4885 proportion of mass and volume. For example, (&%DensityFn (&%MeasureFn 3 &%Gram)
4865 (&%MeasureFn 1 &%Liter)) represents the density of 3 grams per liter.")     4886 (&%MeasureFn 1 &%Liter)) represents the density of 3 grams per liter.")
4866     4887
4867 (subrelation SpeedFn PerFn)     4888 (subrelation SpeedFn PerFn)
4868 (instance SpeedFn TotalValuedRelation)     4889 (instance SpeedFn TotalValuedRelation)
4869 (domain SpeedFn 1 LengthMeasure)     4890 (domain SpeedFn 1 LengthMeasure)
4870 (domain SpeedFn 2 TimeDuration)     4891 (domain SpeedFn 2 TimeDuration)
4871 (range SpeedFn FunctionQuantity)     4892 (range SpeedFn FunctionQuantity)
4872 (documentation SpeedFn "Maps an instance of &%LengthMeasure and an instance of     4893 (documentation SpeedFn "Maps an instance of &%LengthMeasure and an instance of
4873 &%TimeDuration to the speed represented by this proportion of distance and time.     4894 &%TimeDuration to the speed represented by this proportion of distance and time.
4874 For example, (&%SpeedFn (&%MeasureFn 55 &%Mile)(&%MeasureFn 1 &%HourDuration))     4895 For example, (&%SpeedFn (&%MeasureFn 55 &%Mile)(&%MeasureFn 1 &%HourDuration))
4875 represents the velocity of 55 miles per hour.")     4896 represents the velocity of 55 miles per hour.")
4876     4897
4877 (instance VelocityFn QuaternaryFunction)     4898 (instance VelocityFn QuaternaryFunction)
4878 (instance VelocityFn TotalValuedRelation)     4899 (instance VelocityFn TotalValuedRelation)
4879 (domain VelocityFn 1 LengthMeasure)     4900 (domain VelocityFn 1 LengthMeasure)
4880 (domain VelocityFn 2 TimeDuration)     4901 (domain VelocityFn 2 TimeDuration)
4881 (domain VelocityFn 3 Region)     4902 (domain VelocityFn 3 Region)
4882 (domain VelocityFn 4 DirectionalAttribute)     4903 (domain VelocityFn 4 DirectionalAttribute)
4883 (range VelocityFn FunctionQuantity)     4904 (range VelocityFn FunctionQuantity)
4884 (documentation VelocityFn "Specifies the velocity of an object, i.e. the speed     4905 (documentation VelocityFn "Specifies the velocity of an object, i.e. the speed
4885 and the direction of the speed. For example (&%VelocityFn (&%MeasureFn 55 &%Mile)     4906 and the direction of the speed. For example (&%VelocityFn (&%MeasureFn 55 &%Mile)
4886 (&%MeasureFn 2 &%HourDuration) ?REFERENCE &%North) denotes the velocity of 55 miles     4907 (&%MeasureFn 2 &%HourDuration) ?REFERENCE &%North) denotes the velocity of 55 miles
4887 per hour North of the given reference point ?REFERENCE.")     4908 per hour North of the given reference point ?REFERENCE.")
4888     4909
4889 (=>     4910 (=>
4890    (measure ?OBJECT (VelocityFn ?DISTANCE ?TIME ?REF ?DIRECTION))     4911    (measure ?OBJECT (VelocityFn ?DISTANCE ?TIME ?REF ?DIRECTION))
4891    (measure ?OBJECT (SpeedFn ?DISTANCE ?TIME)))     4912    (measure ?OBJECT (SpeedFn ?DISTANCE ?TIME)))
4892     4913
4893 ;; Now the units of measure:     4914 ;; Now the units of measure:
4894     4915
4895 ;; First base units for the SI system. No conversion functions are     4916 ;; First base units for the SI system. No conversion functions are
4896 ;; provided for these units.     4917 ;; provided for these units.
4897     4918
4898 ;; Length Base Unit     4919 ;; Length Base Unit
4899     4920
4900 (subclass Meter LengthMeasure)     4921 (subclass Meter LengthMeasure)
4901 (instance Meter SystemeInternationalUnit)     4922 (instance Meter SystemeInternationalUnit)
4902 (documentation Meter "SI &%LengthMeasure. Symbol: m. It is one of the     4923 (documentation Meter "SI &%LengthMeasure. Symbol: m. It is one of the
4903 base units in SI, and it is currently defined as follows: the &%Meter     4924 base units in SI, and it is currently defined as follows: the &%Meter
4904 is the length of the path traveled by light in a vacuum during a time     4925 is the length of the path traveled by light in a vacuum during a time
4905 interval of 1/299792458 of a &%SecondDuration.")     4926 interval of 1/299792458 of a &%SecondDuration.")
4906     4927
4907 ;; Mass Base Unit     4928 ;; Mass Base Unit
4908     4929
4909 (subclass Gram MassMeasure)     4930 (subclass Gram MassMeasure)
4910 (instance Gram SystemeInternationalUnit)     4931 (instance Gram SystemeInternationalUnit)
4911 (documentation Gram "Submultiple of kilogram. Symbol: g.     4932 (documentation Gram "Submultiple of kilogram. Symbol: g.
4912 1 kilogram = 1000 &%Grams.")     4933 1 kilogram = 1000 &%Grams.")
4913     4934
4914 ;; Time Base Unit     4935 ;; Time Base Unit
4915     4936
4916 (subclass SecondDuration TimeDuration)     4937 (subclass SecondDuration TimeDuration)
4917 (instance SecondDuration SystemeInternationalUnit)     4938 (instance SecondDuration SystemeInternationalUnit)
4918 (documentation SecondDuration "SI &%TimeDuration. Symbol: s.     4939 (documentation SecondDuration "SI &%TimeDuration. Symbol: s.
4919 It is one of the base units in SI, and it is currently defined as     4940 It is one of the base units in SI, and it is currently defined as
4920 follows: the &%SecondDuration is the duration of 9192631770 periods of     4941 follows: the &%SecondDuration is the duration of 9192631770 periods of
4921 the radiation corresponding to the transition between the two hyperfine     4942 the radiation corresponding to the transition between the two hyperfine
4922 levels of the ground state of the cesium 133 atom.")     4943 levels of the ground state of the cesium 133 atom.")
4923     4944
4924 ;; Electric Current Base Unit     4945 ;; Electric Current Base Unit
4925     4946
4926 (subclass Ampere FunctionQuantity)     4947 (subclass Ampere FunctionQuantity)
4927 (instance Ampere SystemeInternationalUnit)     4948 (instance Ampere SystemeInternationalUnit)
4928 (documentation Ampere "SI electric current measure. Symbol: A. It is     4949 (documentation Ampere "SI electric current measure. Symbol: A. It is
4929 one of the base units in SI. It is defined as follows: the &%Ampere is     4950 one of the base units in SI. It is defined as follows: the &%Ampere is
4930 that constant current which, if maintained in two straight parallel     4951 that constant current which, if maintained in two straight parallel
4931 conductors of infinite length, of negligible circular cross-section, and     4952 conductors of infinite length, of negligible circular cross-section, and
4932 placed 1 &%Meter apart in a vacuum, would produce between these conductors     4953 placed 1 &%Meter apart in a vacuum, would produce between these conductors
4933 a force equal to 2*10^(-7) &%Newton per &%Meter of length.")     4954 a force equal to 2*10^(-7) &%Newton per &%Meter of length.")
4934     4955
4935 ;; Thermodynamic Temperature Base Unit     4956 ;; Thermodynamic Temperature Base Unit
4936     4957
4937 (subclass KelvinDegree TemperatureMeasure)     4958 (subclass KelvinDegree TemperatureMeasure)
4938 (instance KelvinDegree SystemeInternationalUnit)     4959 (instance KelvinDegree SystemeInternationalUnit)
4939 (documentation KelvinDegree "SI &%TemperatureMeasure. Symbol: K.     4960 (documentation KelvinDegree "SI &%TemperatureMeasure. Symbol: K.
4940 It is one of the base units in SI (it is also a unit in the ITS system).     4961 It is one of the base units in SI (it is also a unit in the ITS system).
4941 Kelvin differs from the Celsius scale in that the triple point of water     4962 Kelvin differs from the Celsius scale in that the triple point of water
4942 is defined to be 273.16 &%KelvinDegrees while it is 0 &%CelsiusDegrees.     4963 is defined to be 273.16 &%KelvinDegrees while it is 0 &%CelsiusDegrees.
4943 The magnitudes of intervals in the two scales are the same. By definition     4964 The magnitudes of intervals in the two scales are the same. By definition
4944 the conversion constant is 273.15.")     4965 the conversion constant is 273.15.")
4945     4966
4946 ;; Amount Of Substance Base Unit     4967 ;; Amount Of Substance Base Unit
4947     4968
4948 (subclass Mole MassMeasure)     4969 (subclass Mole MassMeasure)
4949 (instance Mole SystemeInternationalUnit)     4970 (instance Mole SystemeInternationalUnit)
4950 (documentation Mole "SI amount of substance unit. symbol: mol. It is one     4971 (documentation Mole "SI amount of substance unit. symbol: mol. It is one
4951 of the base units in SI. It is defined as follows: the &%Mole is the     4972 of the base units in SI. It is defined as follows: the &%Mole is the
4952 amount of substance of a system which contains as many elementary entities     4973 amount of substance of a system which contains as many elementary entities
4953 as there are atoms in 0.012 &%Kilograms of carbon 12. Note that, when this     4974 as there are atoms in 0.012 &%Kilograms of carbon 12. Note that, when this
4954 &%UnitOfMeasure is used, the elementary entities must be specified - they     4975 &%UnitOfMeasure is used, the elementary entities must be specified - they
4955 may be atoms, molecules, ions, electrons, etc. or groups of such     4976 may be atoms, molecules, ions, electrons, etc. or groups of such
4956 particles.")     4977 particles.")
4957     4978
4958 ;; Luminosity Intensity Base Unit     4979 ;; Luminosity Intensity Base Unit
4959     4980
4960 (subclass Candela FunctionQuantity)     4981 (subclass Candela FunctionQuantity)
4961 (instance Candela SystemeInternationalUnit)     4982 (instance Candela SystemeInternationalUnit)
4962 (documentation Candela "SI luminosity intensity measure. Symbol: cd.     4983 (documentation Candela "SI luminosity intensity measure. Symbol: cd.
4963 It is one of the base units in SI, and it is currently defined as     4984 It is one of the base units in SI, and it is currently defined as
4964 follows: the &%Candela is the luminous intensity, in a given direction,     4985 follows: the &%Candela is the luminous intensity, in a given direction,
4965 of a source that emits monochromatic radiation of frequency 540*10^12     4986 of a source that emits monochromatic radiation of frequency 540*10^12
4966 &%Hertz and that has a radiant intensity in that direction of 1/683     4987 &%Hertz and that has a radiant intensity in that direction of 1/683
4967 &%Watt per &%Steradian.")     4988 &%Watt per &%Steradian.")
4968     4989
4969 (subclass Liter VolumeMeasure)     4990 (subclass Liter VolumeMeasure)
4970 (instance Liter UnitOfMeasure)     4991 (instance Liter UnitOfMeasure)
4971 (documentation Liter "Unit of volume in the metric system. It is currently     4992 (documentation Liter "Unit of volume in the metric system. It is currently
4972 defined to be equal to one cubic decimeter (0.001 cubic meter). Symbol: l.")     4993 defined to be equal to one cubic decimeter (0.001 cubic meter). Symbol: l.")
4973     4994
4974 (subclass Centimeter LengthMeasure)     4995 (subclass Centimeter LengthMeasure)
4975 (instance Centimeter UnitOfMeasure)     4996 (instance Centimeter UnitOfMeasure)
4976 (documentation Centimeter "Submultiple of &%Meter. Symbol: cm. It is     4997 (documentation Centimeter "Submultiple of &%Meter. Symbol: cm. It is
4977 the 100th part of a &%Meter")     4998 the 100th part of a &%Meter")
4978     4999
4979 (=>     5000 (=>
4980    (instance ?NUMBER RealNumber)     5001    (instance ?NUMBER RealNumber)
4981    (equal     5002    (equal
4982         (MeasureFn ?NUMBER Centimeter)     5003         (MeasureFn ?NUMBER Centimeter)
4983         (MeasureFn (MultiplicationFn ?NUMBER 0.01) Meter)))     5004         (MeasureFn (MultiplicationFn ?NUMBER 0.01) Meter)))
4984     5005
4985 ;; What follows are derived SI units with special names and symbols     5006 ;; What follows are derived SI units with special names and symbols
4986 ;; (multiples and submultiples are together since they represent     5007 ;; (multiples and submultiples are together since they represent
4987 ;; quantities of the same kind).     5008 ;; quantities of the same kind).
4988     5009
4989 ;; Plane angle unit     5010 ;; Plane angle unit
4990     5011
4991 (subclass Radian PlaneAngleMeasure)     5012 (subclass Radian PlaneAngleMeasure)
4992 (instance Radian SystemeInternationalUnit)     5013 (instance Radian SystemeInternationalUnit)
4993 (documentation Radian "SI plane angle measure. Symbol: rad. It is the     5014 (documentation Radian "SI plane angle measure. Symbol: rad. It is the
4994 angle of a circle subtended by an arc equal in length to the circle's     5015 angle of a circle subtended by an arc equal in length to the circle's
4995 radius. Another definition is: the plane angle between two radii of a     5016 radius. Another definition is: the plane angle between two radii of a
4996 circle which cut off on the circumference an arc equal in length to the     5017 circle which cut off on the circumference an arc equal in length to the
4997 radius. &%Radian = m/m = 1.")     5018 radius. &%Radian = m/m = 1.")
4998     5019
4999 ;; Solid angle unit     5020 ;; Solid angle unit
5000     5021
5001 (subclass Steradian SolidAngleMeasure)     5022 (subclass Steradian SolidAngleMeasure)
5002 (instance Steradian SystemeInternationalUnit)     5023 (instance Steradian SystemeInternationalUnit)
5003 (documentation Steradian "SI solid angle measure. Symbol: sr. It is     5024 (documentation Steradian "SI solid angle measure. Symbol: sr. It is
5004 the solid angle of a sphere subtended by a portion of the surface whose     5025 the solid angle of a sphere subtended by a portion of the surface whose
5005 area is equal to the square of the sphere's radius. Another definition     5026 area is equal to the square of the sphere's radius. Another definition
5006 is: the solid angle which, having its vertex in the center of the sphere,     5027 is: the solid angle which, having its vertex in the center of the sphere,
5007 cuts off an area of the surface of the sphere equal to that of a square     5028 cuts off an area of the surface of the sphere equal to that of a square
5008 with sides of length equal to the radius of the sphere. &%Steradian =     5029 with sides of length equal to the radius of the sphere. &%Steradian =
5009 m^2/m^2 = 1.")     5030 m^2/m^2 = 1.")
5010     5031
5011 ;; Frequency units     5032 ;; Frequency units
5012     5033
5013 (subclass Hertz TimeDependentQuantity)     5034 (subclass Hertz TimeDependentQuantity)
5014 (instance Hertz SystemeInternationalUnit)     5035 (instance Hertz SystemeInternationalUnit)
5015 (documentation Hertz "SI frequency measure. Symbol: Hz. It is the     5036 (documentation Hertz "SI frequency measure. Symbol: Hz. It is the
5016 number of cycles per second. &%Hertz = s^(-1). Note that &%Hertz     5037 number of cycles per second. &%Hertz = s^(-1). Note that &%Hertz
5017 does not have a conversion function.")     5038 does not have a conversion function.")
5018     5039
5019 ; Force Unit     5040 ; Force Unit
5020     5041
5021 (subclass Newton FunctionQuantity)     5042 (subclass Newton FunctionQuantity)
5022 (instance Newton SystemeInternationalUnit)     5043 (instance Newton SystemeInternationalUnit)
5023 (documentation Newton "SI force measure. Symbol: N. It is that force     5044 (documentation Newton "SI force measure. Symbol: N. It is that force
5024 which gives to a mass of 1 kilogram an acceleration of 1 &%Meter per     5045 which gives to a mass of 1 kilogram an acceleration of 1 &%Meter per
5025 &%SecondDuration. &%Newton = m*kg*s^(-2).")     5046 &%SecondDuration. &%Newton = m*kg*s^(-2).")
5026     5047
5027 ; Pressure unit     5048 ; Pressure unit
5028     5049
5029 (subclass Pascal FunctionQuantity)     5050 (subclass Pascal FunctionQuantity)
5030 (instance Pascal SystemeInternationalUnit)     5051 (instance Pascal SystemeInternationalUnit)
5031 (documentation Pascal "SI pressure measure. Symbol:Pa. It is the     5052 (documentation Pascal "SI pressure measure. Symbol:Pa. It is the
5032 pressure of one &%Newton per square &%Meter. &%Pascal = N/m^2     5053 pressure of one &%Newton per square &%Meter. &%Pascal = N/m^2
5033 = m^(-1)*kg*s^(-2).")     5054 = m^(-1)*kg*s^(-2).")
5034     5055
5035 ; Energy Unit     5056 ; Energy Unit
5036     5057
5037 (subclass Joule FunctionQuantity)     5058 (subclass Joule FunctionQuantity)
5038 (instance Joule SystemeInternationalUnit)     5059 (instance Joule SystemeInternationalUnit)
5039 (documentation Joule "SI energy measure. Symbol: J. It is the work     5060 (documentation Joule "SI energy measure. Symbol: J. It is the work
5040 done when the point of application of 1 &%Newton is displaced a distance     5061 done when the point of application of 1 &%Newton is displaced a distance
5041 of 1 &%Meter in the direction of the force. &%Joule = N*m =     5062 of 1 &%Meter in the direction of the force. &%Joule = N*m =
5042 m^2*kg*s^(-2).")     5063 m^2*kg*s^(-2).")
5043     5064
5044 ; Power Units     5065 ; Power Units
5045     5066
5046 (subclass Watt FunctionQuantity)     5067 (subclass Watt FunctionQuantity)
5047 (instance Watt SystemeInternationalUnit)     5068 (instance Watt SystemeInternationalUnit)
5048 (documentation Watt "SI power measure. Symbol: W. A &%UnitOfMeasure     5069 (documentation Watt "SI power measure. Symbol: W. A &%UnitOfMeasure
5049 that measures power, i.e. energy produced or expended divided by     5070 that measures power, i.e. energy produced or expended divided by
5050 &%TimeDuration. It is the power which gives rise to the production     5071 &%TimeDuration. It is the power which gives rise to the production
5051 of energy (or work) at the rate of one &%Joule per &%SecondDuration.     5072 of energy (or work) at the rate of one &%Joule per &%SecondDuration.
5052 &%Watt = J/s = m^2*kg*s^(-3).")     5073 &%Watt = J/s = m^2*kg*s^(-3).")
5053     5074
5054 ;;; Note: According to SI one should not use the expression "per unit of."     5075 ;;; Note: According to SI one should not use the expression "per unit of."
5055     5076
5056 ; Electric Charge Units     5077 ; Electric Charge Units
5057     5078
5058 (subclass Coulomb TimeDependentQuantity)     5079 (subclass Coulomb TimeDependentQuantity)
5059 (instance Coulomb SystemeInternationalUnit)     5080 (instance Coulomb SystemeInternationalUnit)
5060 (documentation Coulomb "SI electric charge measure. Symbol: C. It is     5081 (documentation Coulomb "SI electric charge measure. Symbol: C. It is
5061 the quantity of electric charge transported through a cross section of     5082 the quantity of electric charge transported through a cross section of
5062 a conductor in an electric circuit during each &%SecondDuration by a     5083 a conductor in an electric circuit during each &%SecondDuration by a
5063 current of 1 &%Ampere. Coulomb = s*A.")     5084 current of 1 &%Ampere. Coulomb = s*A.")
5064     5085
5065 ; Electric Potential Units     5086 ; Electric Potential Units
5066     5087
5067 (subclass Volt FunctionQuantity)     5088 (subclass Volt FunctionQuantity)
5068 (instance Volt SystemeInternationalUnit)     5089 (instance Volt SystemeInternationalUnit)
5069 (documentation Volt "SI electric potential measure. Symbol: V. It is     5090 (documentation Volt "SI electric potential measure. Symbol: V. It is
5070 the difference of electric potential between two points of a conducting     5091 the difference of electric potential between two points of a conducting
5071 wire carrying a constant current of 1 &%Ampere, when the power dissipated     5092 wire carrying a constant current of 1 &%Ampere, when the power dissipated
5072 between these points is equal to 1 &%Watt. &%Volt = W/A =     5093 between these points is equal to 1 &%Watt. &%Volt = W/A =
5073 m^2*kg*s^(-3)*A^(-1).")     5094 m^2*kg*s^(-3)*A^(-1).")
5074     5095
5075 ; Capacitance Units     5096 ; Capacitance Units
5076     5097
5077 (subclass Farad FunctionQuantity)     5098 (subclass Farad FunctionQuantity)
5078 (instance Farad SystemeInternationalUnit)     5099 (instance Farad SystemeInternationalUnit)
5079 (documentation Farad "SI capacitance measure. Symbol: F. It is the     5100 (documentation Farad "SI capacitance measure. Symbol: F. It is the
5080 capacitance of a capacitator between the plates of which there appears     5101 capacitance of a capacitator between the plates of which there appears
5081 a difference of potential of 1 &%Volt when it is charged by a quantity     5102 a difference of potential of 1 &%Volt when it is charged by a quantity
5082 of electricity equal to 1 Coulomb. &%Farad = C/V =     5103 of electricity equal to 1 Coulomb. &%Farad = C/V =
5083 m^(-2)*kg(-1)*s^4*A^2.")     5104 m^(-2)*kg(-1)*s^4*A^2.")
5084     5105
5085 ;Electric Resistance Units     5106 ;Electric Resistance Units
5086     5107
5087 (subclass Ohm FunctionQuantity)     5108 (subclass Ohm FunctionQuantity)
5088 (instance Ohm SystemeInternationalUnit)     5109 (instance Ohm SystemeInternationalUnit)
5089 (documentation Ohm "SI electric resistance measure. It is the electric     5110 (documentation Ohm "SI electric resistance measure. It is the electric
5090 resistance between two points of a conductor when a constant difference     5111 resistance between two points of a conductor when a constant difference
5091 of potential of 1 &%Volt, applied between these two points,     5112 of potential of 1 &%Volt, applied between these two points,
5092 produces in this conductor a current of 1 &%Ampere, this conductor not     5113 produces in this conductor a current of 1 &%Ampere, this conductor not
5093 being the force of any electromotive force. &%Ohm = V/A =     5114 being the force of any electromotive force. &%Ohm = V/A =
5094 m^2*kg*s^(-3)*A^(-2).")     5115 m^2*kg*s^(-3)*A^(-2).")
5095     5116
5096 ; Electric Conductance Units     5117 ; Electric Conductance Units
5097     5118
5098 (subclass Siemens FunctionQuantity)     5119 (subclass Siemens FunctionQuantity)
5099 (instance Siemens SystemeInternationalUnit)     5120 (instance Siemens SystemeInternationalUnit)
5100 (documentation Siemens "SI electric conductance measure. Symbol: S.     5121 (documentation Siemens "SI electric conductance measure. Symbol: S.
5101 In the case of direct current, the conductance in &%Siemens is the     5122 In the case of direct current, the conductance in &%Siemens is the
5102 reciprocal of the resistance in &%Ohms; in the case of alternating current,     5123 reciprocal of the resistance in &%Ohms; in the case of alternating current,
5103 it is the reciprocal of the impedance in ohms. siemens = A/V =     5124 it is the reciprocal of the impedance in ohms. siemens = A/V =
5104 m^(-2)*kg(-1)*s^(3)*A^2.")     5125 m^(-2)*kg(-1)*s^(3)*A^2.")
5105     5126
5106 ; Magnetic Flux Units     5127 ; Magnetic Flux Units
5107     5128
5108 (subclass Weber FunctionQuantity)     5129 (subclass Weber FunctionQuantity)
5109 (instance Weber SystemeInternationalUnit)     5130 (instance Weber SystemeInternationalUnit)
5110 (documentation Weber "SI magnetic flux measure. Symbol: Wb. It is the     5131 (documentation Weber "SI magnetic flux measure. Symbol: Wb. It is the
5111 magnetic flux which, linking a circuit of one turn, produces in it an     5132 magnetic flux which, linking a circuit of one turn, produces in it an
5112 electromotive force of 1 &%Volt as it is reduced to zero at a uniform     5133 electromotive force of 1 &%Volt as it is reduced to zero at a uniform
5113 rate in 1 &%SecondDuration. &%Weber = V*s = m^2*kg*s^(-2)*A^(-1)." )     5134 rate in 1 &%SecondDuration. &%Weber = V*s = m^2*kg*s^(-2)*A^(-1)." )
5114     5135
5115 ; Magnetic Flux Density Units     5136 ; Magnetic Flux Density Units
5116     5137
5117 (subclass Tesla FunctionQuantity)     5138 (subclass Tesla FunctionQuantity)
5118 (instance Tesla SystemeInternationalUnit)     5139 (instance Tesla SystemeInternationalUnit)
5119 (documentation Tesla "SI magnetic flux density measure. Symbol: T.     5140 (documentation Tesla "SI magnetic flux density measure. Symbol: T.
5120 One &%Tesla equals one &%Weber per square &%Meter. &%Tesla = Wb/m^2 =     5141 One &%Tesla equals one &%Weber per square &%Meter. &%Tesla = Wb/m^2 =
5121 kg*s^(-2)*A^(-1).")     5142 kg*s^(-2)*A^(-1).")
5122     5143
5123 ; Inductance Units     5144 ; Inductance Units
5124     5145
5125 (subclass Henry FunctionQuantity)     5146 (subclass Henry FunctionQuantity)
5126 (instance Henry SystemeInternationalUnit)     5147 (instance Henry SystemeInternationalUnit)
5127 (documentation Henry "SI inductance measure. Symbol: H. One &%Henry     5148 (documentation Henry "SI inductance measure. Symbol: H. One &%Henry
5128 is equivalent to one &%Volt divided by one &%Ampere per &%SecondDuration.     5149 is equivalent to one &%Volt divided by one &%Ampere per &%SecondDuration.
5129 If a current changing at the rate of one &%Ampere per &%SecondDuration     5150 If a current changing at the rate of one &%Ampere per &%SecondDuration
5130 induces an electromotive force of one &%Volt, the circuit has an     5151 induces an electromotive force of one &%Volt, the circuit has an
5131 inductance of one &%Henry. &%Henry = Wb/A = m^2*kg*s^(-2)*A^(-2).")     5152 inductance of one &%Henry. &%Henry = Wb/A = m^2*kg*s^(-2)*A^(-2).")
5132     5153
5133 ; Celsius Temperature unit     5154 ; Celsius Temperature unit
5134     5155
5135 (subclass CelsiusDegree TemperatureMeasure)     5156 (subclass CelsiusDegree TemperatureMeasure)
5136 (instance CelsiusDegree SystemeInternationalUnit)     5157 (instance CelsiusDegree SystemeInternationalUnit)
5137 (documentation CelsiusDegree "A &%TemperatureMeasure. The freezing point     5158 (documentation CelsiusDegree "A &%TemperatureMeasure. The freezing point
5138 and the boiling point of water are, respectively, 0 &%CelsiusDegrees and 100     5159 and the boiling point of water are, respectively, 0 &%CelsiusDegrees and 100
5139 &%CelsiusDegrees.")     5160 &%CelsiusDegrees.")
5140     5161
5141 (=>     5162 (=>
5142    (instance ?NUMBER RealNumber)     5163    (instance ?NUMBER RealNumber)
5143    (equal     5164    (equal
5144         (MeasureFn ?NUMBER CelsiusDegree)     5165         (MeasureFn ?NUMBER CelsiusDegree)
5145         (MeasureFn (SubtractionFn ?NUMBER 273.15) KelvinDegree)))     5166         (MeasureFn (SubtractionFn ?NUMBER 273.15) KelvinDegree)))
5146     5167
5147 (=>     5168 (=>
5148    (instance ?NUMBER RealNumber)     5169    (instance ?NUMBER RealNumber)
5149    (equal     5170    (equal
5150         (MeasureFn ?NUMBER CelsiusDegree)     5171         (MeasureFn ?NUMBER CelsiusDegree)
5151         (MeasureFn (DivisionFn (SubtractionFn ?NUMBER 32) 1.8) FahrenheitDegree)))     5172         (MeasureFn (DivisionFn (SubtractionFn ?NUMBER 32) 1.8) FahrenheitDegree)))
5152     5173
5153 ; Luminous Flux Units     5174 ; Luminous Flux Units
5154     5175
5155 (subclass Lumen FunctionQuantity)     5176 (subclass Lumen FunctionQuantity)
5156 (instance Lumen SystemeInternationalUnit)     5177 (instance Lumen SystemeInternationalUnit)
5157 (documentation Lumen "SI luminous flux measure. Symbol: lm. It is the     5178 (documentation Lumen "SI luminous flux measure. Symbol: lm. It is the
5158 amount streaming outward through one solid angle of 1 &%Steradian from a     5179 amount streaming outward through one solid angle of 1 &%Steradian from a
5159 uniform point source having an intensity of one &%Candela. &%Lumen =     5180 uniform point source having an intensity of one &%Candela. &%Lumen =
5160 cd*sr = cd * 1.")     5181 cd*sr = cd * 1.")
5161     5182
5162 ; Illuminance Units     5183 ; Illuminance Units
5163     5184
5164 (subclass Lux FunctionQuantity)     5185 (subclass Lux FunctionQuantity)
5165 (instance Lux SystemeInternationalUnit)     5186 (instance Lux SystemeInternationalUnit)
5166 (documentation Lux "SI illuminance measure. Symbol: lx. It is the     5187 (documentation Lux "SI illuminance measure. Symbol: lx. It is the
5167 amount of illumination provided when one &%Lumen is evenly distributed     5188 amount of illumination provided when one &%Lumen is evenly distributed
5168 over an area of 1 square &%Meter. This is also equivalent to the     5189 over an area of 1 square &%Meter. This is also equivalent to the
5169 illumination that would exist on a surface all points of which are one     5190 illumination that would exist on a surface all points of which are one
5170 &%Meter from a point source of one &%Candela. &%Lux = lm/m^2 =     5191 &%Meter from a point source of one &%Candela. &%Lux = lm/m^2 =
5171 m^(-2)*cd.")     5192 m^(-2)*cd.")
5172     5193
5173 ; Activity Units     5194 ; Activity Units
5174     5195
5175 (subclass Becquerel TimeDependentQuantity)     5196 (subclass Becquerel TimeDependentQuantity)
5176 (instance Becquerel SystemeInternationalUnit)     5197 (instance Becquerel SystemeInternationalUnit)
5177 (documentation Becquerel "SI activity measure. Symbol: Bq. It measures     5198 (documentation Becquerel "SI activity measure. Symbol: Bq. It measures
5178 the amount of radioactivity contained in a given sample of matter. It is     5199 the amount of radioactivity contained in a given sample of matter. It is
5179 that quantity of a radioactive element in which there is one atomic     5200 that quantity of a radioactive element in which there is one atomic
5180 disintegration per &%SecondDuration. &%Becquerel = s^(-1).")     5201 disintegration per &%SecondDuration. &%Becquerel = s^(-1).")
5181     5202
5182 ; Absorbed Dose Units     5203 ; Absorbed Dose Units
5183     5204
5184 (subclass Gray FunctionQuantity)     5205 (subclass Gray FunctionQuantity)
5185 (instance Gray SystemeInternationalUnit)     5206 (instance Gray SystemeInternationalUnit)
5186 (documentation Gray "SI absorbed dose measure. Symbol: Gy. It measures     5207 (documentation Gray "SI absorbed dose measure. Symbol: Gy. It measures
5187 the dose of radiation absorbed in living tissue. It is equal approximately     5208 the dose of radiation absorbed in living tissue. It is equal approximately
5188 to the absorbed dose delivered when the energy per unit mass imparted to     5209 to the absorbed dose delivered when the energy per unit mass imparted to
5189 matter by ionizing radiation is 1 &%Joule per kilogram. &%Gray = J/kg     5210 matter by ionizing radiation is 1 &%Joule per kilogram. &%Gray = J/kg
5190 = m^2*s^(-2).")     5211 = m^2*s^(-2).")
5191     5212
5192 ; Dose Equivalent Units     5213 ; Dose Equivalent Units
5193     5214
5194 (subclass Sievert FunctionQuantity)     5215 (subclass Sievert FunctionQuantity)
5195 (instance Sievert SystemeInternationalUnit)     5216 (instance Sievert SystemeInternationalUnit)
5196 (documentation Sievert "SI dose equivalent measure. Symbol: Sv. It is     5217 (documentation Sievert "SI dose equivalent measure. Symbol: Sv. It is
5197 a unit of biologic dose of ionizing radiation. The &%Sievert makes it     5218 a unit of biologic dose of ionizing radiation. The &%Sievert makes it
5198 possible to normalize doses of different types of radiation. It takes     5219 possible to normalize doses of different types of radiation. It takes
5199 into account the relative biologic effectiveness of ionizing radiation,     5220 into account the relative biologic effectiveness of ionizing radiation,
5200 since each form of such radiation--e.g., X rays, gamma rays, neutrons--     5221 since each form of such radiation--e.g., X rays, gamma rays, neutrons--
5201 has a slightly different effect on living tissue for a given absorbed     5222 has a slightly different effect on living tissue for a given absorbed
5202 dose. The dose equivalent of a given type of radiation (in &%Sievert) is     5223 dose. The dose equivalent of a given type of radiation (in &%Sievert) is
5203 the dose of the radiation in &%Gray multiplied by a quality factor that     5224 the dose of the radiation in &%Gray multiplied by a quality factor that
5204 is based on the relative biologic effectiveness of the radiation.     5225 is based on the relative biologic effectiveness of the radiation.
5205 Accordingly, one &%Sievert is generally defined as the amount of radiation     5226 Accordingly, one &%Sievert is generally defined as the amount of radiation
5206 roughly equivalent in biologic effectiveness to one &%Gray of gamma     5227 roughly equivalent in biologic effectiveness to one &%Gray of gamma
5207 radiation. &%Sievert = J/kg = m^2*s^(-2)")     5228 radiation. &%Sievert = J/kg = m^2*s^(-2)")
5208     5229
5209 ; Units that are accepted for -use- with SI     5230 ; Units that are accepted for -use- with SI
5210     5231
5211 (subclass DayDuration TimeDuration)     5232 (subclass DayDuration TimeDuration)
5212 (instance DayDuration UnitOfMeasure)     5233 (instance DayDuration UnitOfMeasure)
5213 (documentation DayDuration "Time unit. 1 day = 24 hours.")     5234 (documentation DayDuration "Time unit. 1 day = 24 hours.")
5214     5235
5215 (=>     5236 (=>
5216    (instance ?NUMBER RealNumber)     5237    (instance ?NUMBER RealNumber)
5217    (equal     5238    (equal
5218 (MeasureFn ?NUMBER DayDuration)     5239 (MeasureFn ?NUMBER DayDuration)
5219 (MeasureFn (MultiplicationFn ?NUMBER 24) HourDuration)))     5240 (MeasureFn (MultiplicationFn ?NUMBER 24) HourDuration)))
5220     5241
5221 (subclass HourDuration TimeDuration)     5242 (subclass HourDuration TimeDuration)
5222 (instance HourDuration UnitOfMeasure)     5243 (instance HourDuration UnitOfMeasure)
5223 (documentation HourDuration "Time unit. 1 hour = 60 minutes.")     5244 (documentation HourDuration "Time unit. 1 hour = 60 minutes.")
5224     5245
5225 (=>     5246 (=>
5226    (instance ?NUMBER RealNumber)     5247    (instance ?NUMBER RealNumber)
5227    (equal     5248    (equal
5228 (MeasureFn ?NUMBER HourDuration)     5249 (MeasureFn ?NUMBER HourDuration)
5229 (MeasureFn (MultiplicationFn ?NUMBER 60) MinuteDuration)))     5250 (MeasureFn (MultiplicationFn ?NUMBER 60) MinuteDuration)))
5230     5251
5231 (subclass MinuteDuration TimeDuration)     5252 (subclass MinuteDuration TimeDuration)
5232 (instance MinuteDuration UnitOfMeasure)     5253 (instance MinuteDuration UnitOfMeasure)
5233 (documentation MinuteDuration "Time unit. 1 minute = 60 seconds. ")     5254 (documentation MinuteDuration "Time unit. 1 minute = 60 seconds. ")
5234     5255
5235 (=>     5256 (=>
5236    (instance ?NUMBER RealNumber)     5257    (instance ?NUMBER RealNumber)
5237    (equal     5258    (equal
5238         (MeasureFn ?NUMBER MinuteDuration)     5259         (MeasureFn ?NUMBER MinuteDuration)
5239         (MeasureFn (MultiplicationFn ?NUMBER 60) SecondDuration)))     5260         (MeasureFn (MultiplicationFn ?NUMBER 60) SecondDuration)))
5240     5261
5241 (subclass WeekDuration TimeDuration)     5262 (subclass WeekDuration TimeDuration)
5242 (instance WeekDuration UnitOfMeasure)     5263 (instance WeekDuration UnitOfMeasure)
5243 (documentation WeekDuration "Time unit. A week's duration is seven days.")     5264 (documentation WeekDuration "Time unit. A week's duration is seven days.")
5244     5265
5245 (=>     5266 (=>
5246    (instance ?NUMBER RealNumber)     5267    (instance ?NUMBER RealNumber)
5247    (equal     5268    (equal
5248         (MeasureFn ?NUMBER WeekDuration)     5269         (MeasureFn ?NUMBER WeekDuration)
5249         (MeasureFn (MultiplicationFn ?NUMBER 7) DayDuration)))     5270         (MeasureFn (MultiplicationFn ?NUMBER 7) DayDuration)))
5250     5271
5251 (subclass YearDuration TimeDuration)     5272 (subclass YearDuration TimeDuration)
5252 (instance YearDuration UnitOfMeasure)     5273 (instance YearDuration UnitOfMeasure)
5253 (documentation YearDuration "Time unit. one calendar year. 1 year =     5274 (documentation YearDuration "Time unit. one calendar year. 1 year =
5254 365 days = 31536000 seconds.")     5275 365 days = 31536000 seconds.")
5255     5276
5256 (=>     5277 (=>
5257    (instance ?NUMBER RealNumber)     5278    (instance ?NUMBER RealNumber)
5258    (equal     5279    (equal
5259 (MeasureFn ?NUMBER YearDuration)     5280 (MeasureFn ?NUMBER YearDuration)
5260 (MeasureFn (MultiplicationFn ?NUMBER 365) DayDuration)))     5281 (MeasureFn (MultiplicationFn ?NUMBER 365) DayDuration)))
5261     5282
5262 ;; What follows are units that are also accepted for use with SI. The     5283 ;; What follows are units that are also accepted for use with SI. The
5263 ;; SI equivalents for these units are obtained experimentally.     5284 ;; SI equivalents for these units are obtained experimentally.
5264     5285
5265 (subclass Amu MassMeasure)     5286 (subclass Amu MassMeasure)
5266 (instance Amu UnitOfMeasure)     5287 (instance Amu UnitOfMeasure)
5267 (documentation Amu "Atomic mass unit. Symbol: u. It is the mass of     5288 (documentation Amu "Atomic mass unit. Symbol: u. It is the mass of
5268 the twelfth part of an atom of the Carbon 12 isotope.")     5289 the twelfth part of an atom of the Carbon 12 isotope.")
5269     5290
5270 (=>     5291 (=>
5271    (instance ?NUMBER RealNumber)     5292    (instance ?NUMBER RealNumber)
5272    (equal     5293    (equal
5273         (MeasureFn ?NUMBER Amu)     5294         (MeasureFn ?NUMBER Amu)
5274         (MeasureFn (MultiplicationFn ?NUMBER 1.6605402E-24) Gram)))     5295         (MeasureFn (MultiplicationFn ?NUMBER 1.6605402E-24) Gram)))
5275     5296
5276 (subclass ElectronVolt FunctionQuantity)     5297 (subclass ElectronVolt FunctionQuantity)
5277 (instance ElectronVolt UnitOfMeasure)     5298 (instance ElectronVolt UnitOfMeasure)
5278 (documentation ElectronVolt "The &%ElectronVolt is an energy measure.     5299 (documentation ElectronVolt "The &%ElectronVolt is an energy measure.
5279 Symbol: eV. It is the kinetic energy acquired by an electron in passing     5300 Symbol: eV. It is the kinetic energy acquired by an electron in passing
5280 through a potential difference of 1 &%Volt in a vacuum.")     5301 through a potential difference of 1 &%Volt in a vacuum.")
5281     5302
5282 (=>     5303 (=>
5283    (instance ?NUMBER RealNumber)     5304    (instance ?NUMBER RealNumber)
5284    (equal     5305    (equal
5285         (MeasureFn ?NUMBER ElectronVolt)     5306         (MeasureFn ?NUMBER ElectronVolt)
5286         (MeasureFn (MultiplicationFn ?NUMBER 1.60217733E-19) Joule)))     5307         (MeasureFn (MultiplicationFn ?NUMBER 1.60217733E-19) Joule)))
5287     5308
5288 ;; The following units have been temporarily accepted for use with     5309 ;; The following units have been temporarily accepted for use with
5289 ;; SI units.     5310 ;; SI units.
5290     5311
5291 (subclass Angstrom LengthMeasure)     5312 (subclass Angstrom LengthMeasure)
5292 (instance Angstrom UnitOfMeasure)     5313 (instance Angstrom UnitOfMeasure)
5293 (documentation Angstrom "The &%Angstrom is a &%LengthMeasure.     5314 (documentation Angstrom "The &%Angstrom is a &%LengthMeasure.
5294 1 &%Angstrom = 10^(-10) m")     5315 1 &%Angstrom = 10^(-10) m")
5295     5316
5296 (=>     5317 (=>
5297    (instance ?NUMBER RealNumber)     5318    (instance ?NUMBER RealNumber)
5298    (equal     5319    (equal
5299         (MeasureFn ?NUMBER Angstrom)     5320         (MeasureFn ?NUMBER Angstrom)
5300         (MeasureFn (MultiplicationFn ?NUMBER 1.0E-10) Meter)))     5321         (MeasureFn (MultiplicationFn ?NUMBER 1.0E-10) Meter)))
5301     5322
5302 ;; The following units are unacceptable in SI but are part of other     5323 ;; The following units are unacceptable in SI but are part of other
5303 ;; systems of measurement that are widely used.     5324 ;; systems of measurement that are widely used.
5304     5325
5305 ;; More Length units     5326 ;; More Length units
5306     5327
5307 (subclass FootLength LengthMeasure)     5328 (subclass FootLength LengthMeasure)
5308 (instance FootLength UnitOfMeasure)     5329 (instance FootLength UnitOfMeasure)
5309 (documentation FootLength "English length unit of feet.")     5330 (documentation FootLength "English length unit of feet.")
5310     5331
5311 (=>     5332 (=>
5312    (instance ?NUMBER RealNumber)     5333    (instance ?NUMBER RealNumber)
5313    (equal     5334    (equal
5314         (MeasureFn ?NUMBER FootLength)     5335         (MeasureFn ?NUMBER FootLength)
5315         (MeasureFn (MultiplicationFn ?NUMBER 0.3048) Meter)))     5336         (MeasureFn (MultiplicationFn ?NUMBER 0.3048) Meter)))
5316     5337
5317 (subclass Inch LengthMeasure)     5338 (subclass Inch LengthMeasure)
5318 (instance Inch UnitOfMeasure)     5339 (instance Inch UnitOfMeasure)
5319 (documentation Inch "English length unit of inches.")     5340 (documentation Inch "English length unit of inches.")
5320     5341
5321 (=>     5342 (=>
5322    (instance ?NUMBER RealNumber)     5343    (instance ?NUMBER RealNumber)
5323    (equal     5344    (equal
5324         (MeasureFn ?NUMBER Inch)     5345         (MeasureFn ?NUMBER Inch)
5325         (MeasureFn (MultiplicationFn ?NUMBER 0.0254) Meter)))     5346         (MeasureFn (MultiplicationFn ?NUMBER 0.0254) Meter)))
5326     5347
5327 (subclass Mile LengthMeasure)     5348 (subclass Mile LengthMeasure)
5328 (instance Mile UnitOfMeasure)     5349 (instance Mile UnitOfMeasure)
5329 (documentation Mile "English length unit of miles.")     5350 (documentation Mile "English length unit of miles.")
5330     5351
5331 (=>     5352 (=>
5332    (instance ?NUMBER RealNumber)     5353    (instance ?NUMBER RealNumber)
5333    (equal     5354    (equal
5334         (MeasureFn ?NUMBER Mile)     5355         (MeasureFn ?NUMBER Mile)
5335         (MeasureFn (MultiplicationFn ?NUMBER 1609.344) Meter)))     5356         (MeasureFn (MultiplicationFn ?NUMBER 1609.344) Meter)))
5336     5357
5337 ;; More Volume units     5358 ;; More Volume units
5338     5359
5339 (subclass UnitedStatesGallon VolumeMeasure)     5360 (subclass UnitedStatesGallon VolumeMeasure)
5340 (instance UnitedStatesGallon UnitOfMeasure)     5361 (instance UnitedStatesGallon UnitOfMeasure)
5341 (relatedInternalConcept UnitedStatesGallon UnitedKingdomGallon)     5362 (relatedInternalConcept UnitedStatesGallon UnitedKingdomGallon)
5342 (documentation UnitedStatesGallon "Unit of volume commonly used in the     5363 (documentation UnitedStatesGallon "Unit of volume commonly used in the
5343 United States.")     5364 United States.")
5344     5365
5345 (=>     5366 (=>
5346    (instance ?NUMBER RealNumber)     5367    (instance ?NUMBER RealNumber)
5347    (equal     5368    (equal
5348         (MeasureFn ?NUMBER UnitedStatesGallon)     5369         (MeasureFn ?NUMBER UnitedStatesGallon)
5349         (MeasureFn (MultiplicationFn ?NUMBER 3.785411784) Liter)))     5370         (MeasureFn (MultiplicationFn ?NUMBER 3.785411784) Liter)))
5350     5371
5351 (subclass Quart VolumeMeasure)     5372 (subclass Quart VolumeMeasure)
5352 (instance Quart UnitOfMeasure)     5373 (instance Quart UnitOfMeasure)
5353 (documentation Quart "English unit of volume equal to 1/4 of a     5374 (documentation Quart "English unit of volume equal to 1/4 of a
5354 &%UnitedStatesGallon.")     5375 &%UnitedStatesGallon.")
5355     5376
5356 (=>     5377 (=>
5357    (instance ?NUMBER RealNumber)     5378    (instance ?NUMBER RealNumber)
5358    (equal     5379    (equal
5359         (MeasureFn ?NUMBER Quart)     5380         (MeasureFn ?NUMBER Quart)
5360         (MeasureFn (DivisionFn ?NUMBER 4) UnitedStatesGallon)))     5381         (MeasureFn (DivisionFn ?NUMBER 4) UnitedStatesGallon)))
5361     5382
5362 (subclass Pint VolumeMeasure)     5383 (subclass Pint VolumeMeasure)
5363 (instance Pint UnitOfMeasure)     5384 (instance Pint UnitOfMeasure)
5364 (documentation Pint "English unit of volume equal to 1/2 of a     5385 (documentation Pint "English unit of volume equal to 1/2 of a
5365 &%Quart.")     5386 &%Quart.")
5366     5387
5367 (=>     5388 (=>
5368    (instance ?NUMBER RealNumber)     5389    (instance ?NUMBER RealNumber)
5369    (equal     5390    (equal
5370         (MeasureFn ?NUMBER Pint)     5391         (MeasureFn ?NUMBER Pint)
5371         (MeasureFn (DivisionFn ?NUMBER 2) Quart)))     5392         (MeasureFn (DivisionFn ?NUMBER 2) Quart)))
5372     5393
5373 (subclass Cup VolumeMeasure)     5394 (subclass Cup VolumeMeasure)
5374 (instance Cup UnitOfMeasure)     5395 (instance Cup UnitOfMeasure)
5375 (documentation Cup "English unit of volume equal to 1/2 of a     5396 (documentation Cup "English unit of volume equal to 1/2 of a
5376 &%Pint.")     5397 &%Pint.")
5377     5398
5378 (=>     5399 (=>
5379    (instance ?NUMBER RealNumber)     5400    (instance ?NUMBER RealNumber)
5380    (equal     5401    (equal
5381         (MeasureFn ?NUMBER Cup)     5402         (MeasureFn ?NUMBER Cup)
5382         (MeasureFn (DivisionFn ?NUMBER 2) Pint)))     5403         (MeasureFn (DivisionFn ?NUMBER 2) Pint)))
5383     5404
5384 (subclass Ounce VolumeMeasure)     5405 (subclass Ounce VolumeMeasure)
5385 (instance Ounce UnitOfMeasure)     5406 (instance Ounce UnitOfMeasure)
5386 (documentation Ounce "English unit of volume equal to 1/8 of a     5407 (documentation Ounce "English unit of volume equal to 1/8 of a
5387 &%Cup.")     5408 &%Cup.")
5388     5409
5389 (=>     5410 (=>
5390    (instance ?NUMBER RealNumber)     5411    (instance ?NUMBER RealNumber)
5391    (equal     5412    (equal
5392         (MeasureFn ?NUMBER Ounce)     5413         (MeasureFn ?NUMBER Ounce)
5393         (MeasureFn (DivisionFn ?NUMBER 8) Cup)))     5414         (MeasureFn (DivisionFn ?NUMBER 8) Cup)))
5394     5415
5395 (subclass UnitedKingdomGallon VolumeMeasure)     5416 (subclass UnitedKingdomGallon VolumeMeasure)
5396 (instance UnitedKingdomGallon UnitOfMeasure)     5417 (instance UnitedKingdomGallon UnitOfMeasure)
5397 (documentation UnitedKingdomGallon "Unit of volume commonly used in the     5418 (documentation UnitedKingdomGallon "Unit of volume commonly used in the
5398 United Kingdom.")     5419 United Kingdom.")
5399     5420
5400 (=>     5421 (=>
5401    (instance ?NUMBER RealNumber)     5422    (instance ?NUMBER RealNumber)
5402    (equal     5423    (equal
5403         (MeasureFn ?NUMBER UnitedKingdomGallon)     5424         (MeasureFn ?NUMBER UnitedKingdomGallon)
5404         (MeasureFn (MultiplicationFn ?NUMBER 4.54609) Liter)))     5425         (MeasureFn (MultiplicationFn ?NUMBER 4.54609) Liter)))
5405     5426
5406 ;; More Mass units     5427 ;; More Mass units
5407     5428
5408 (subclass AtomGram MassMeasure)     5429 (subclass AtomGram MassMeasure)
5409 (instance AtomGram UnitOfMeasure)     5430 (instance AtomGram UnitOfMeasure)
5410 (documentation AtomGram "&%MassMeasure that is also known as the gram-atom.     5431 (documentation AtomGram "&%MassMeasure that is also known as the gram-atom.
5411 Defined as the mass in grams of 1 &%Mole of pure substance. For example,     5432 Defined as the mass in grams of 1 &%Mole of pure substance. For example,
5412 1 &%AtomGram of Carbon 12 will be 12 &%Grams of pure Carbon 12. 2 &%AtomGrams     5433 1 &%AtomGram of Carbon 12 will be 12 &%Grams of pure Carbon 12. 2 &%AtomGrams
5413 of the same substance will be 24 &%Grams of it. This is an unusual unit in     5434 of the same substance will be 24 &%Grams of it. This is an unusual unit in
5414 that it is essentially 1 &%Mole of 'stuff' measured in grams, so that the     5435 that it is essentially 1 &%Mole of 'stuff' measured in grams, so that the
5415 actual value (i.e. mass) depends on the type of substance.")     5436 actual value (i.e. mass) depends on the type of substance.")
5416     5437
5417 (subclass PoundMass MassMeasure)     5438 (subclass PoundMass MassMeasure)
5418 (instance PoundMass UnitOfMeasure)     5439 (instance PoundMass UnitOfMeasure)
5419 (documentation PoundMass "English mass unit of pounds.")     5440 (documentation PoundMass "English mass unit of pounds.")
5420     5441
5421 (=>     5442 (=>
5422    (instance ?NUMBER RealNumber)     5443    (instance ?NUMBER RealNumber)
5423    (equal     5444    (equal
5424         (MeasureFn ?NUMBER PoundMass)     5445         (MeasureFn ?NUMBER PoundMass)
5425         (MeasureFn (MultiplicationFn ?NUMBER 453.59237) Gram)))     5446         (MeasureFn (MultiplicationFn ?NUMBER 453.59237) Gram)))
5426     5447
5427 (subclass Slug MassMeasure)     5448 (subclass Slug MassMeasure)
5428 (instance Slug UnitOfMeasure)     5449 (instance Slug UnitOfMeasure)
5429 (documentation Slug "English mass unit of slugs.")     5450 (documentation Slug "English mass unit of slugs.")
5430     5451
5431 (=>     5452 (=>
5432    (instance ?NUMBER RealNumber)     5453    (instance ?NUMBER RealNumber)
5433    (equal     5454    (equal
5434         (MeasureFn ?NUMBER Slug)     5455         (MeasureFn ?NUMBER Slug)
5435         (MeasureFn (MultiplicationFn ?NUMBER 14593.90) Gram)))     5456         (MeasureFn (MultiplicationFn ?NUMBER 14593.90) Gram)))
5436     5457
5437 ;; More Temperature units     5458 ;; More Temperature units
5438     5459
5439 (subclass RankineDegree TemperatureMeasure)     5460 (subclass RankineDegree TemperatureMeasure)
5440 (instance RankineDegree UnitOfMeasure)     5461 (instance RankineDegree UnitOfMeasure)
5441 (documentation RankineDegree "A &%TemperatureMeasure. Note     5462 (documentation RankineDegree "A &%TemperatureMeasure. Note
5442 that 0 &%RankineDegrees is the same as the absolute zero (i.e. 0     5463 that 0 &%RankineDegrees is the same as the absolute zero (i.e. 0
5443 &%KelvinDegrees).")     5464 &%KelvinDegrees).")
5444     5465
5445 (=>     5466 (=>
5446    (instance ?NUMBER RealNumber)     5467    (instance ?NUMBER RealNumber)
5447    (equal     5468    (equal
5448         (MeasureFn ?NUMBER RankineDegree)     5469         (MeasureFn ?NUMBER RankineDegree)
5449         (MeasureFn (MultiplicationFn ?NUMBER 1.8) KelvinDegree)))     5470         (MeasureFn (MultiplicationFn ?NUMBER 1.8) KelvinDegree)))
5450     5471
5451 (subclass FahrenheitDegree TemperatureMeasure)     5472 (subclass FahrenheitDegree TemperatureMeasure)
5452 (instance FahrenheitDegree UnitOfMeasure)     5473 (instance FahrenheitDegree UnitOfMeasure)
5453 (documentation FahrenheitDegree "A &%TemperatureMeasure that is commonly     5474 (documentation FahrenheitDegree "A &%TemperatureMeasure that is commonly
5454 used in the United States. On the Fahrenheit scale, the freezing point     5475 used in the United States. On the Fahrenheit scale, the freezing point
5455 of water is 32 &%FahrenheitDegrees, and the boiling point of water is     5476 of water is 32 &%FahrenheitDegrees, and the boiling point of water is
5456 212 &%FahrenheitDegrees.")     5477 212 &%FahrenheitDegrees.")
5457     5478
5458 ;; More Force units     5479 ;; More Force units
5459     5480
5460 (subclass PoundForce FunctionQuantity)     5481 (subclass PoundForce FunctionQuantity)
5461 (instance PoundForce UnitOfMeasure)     5482 (instance PoundForce UnitOfMeasure)
5462 (documentation PoundForce "English pound of force. The conversion     5483 (documentation PoundForce "English pound of force. The conversion
5463 factor depends on the local value of the acceleration of free fall. A     5484 factor depends on the local value of the acceleration of free fall. A
5464 mean value is used in the conversion axiom associated with this     5485 mean value is used in the conversion axiom associated with this
5465 constant.")     5486 constant.")
5466     5487
5467 (=>     5488 (=>
5468    (instance ?NUMBER RealNumber)     5489    (instance ?NUMBER RealNumber)
5469    (equal     5490    (equal
5470         (MeasureFn ?NUMBER PoundForce)     5491         (MeasureFn ?NUMBER PoundForce)
5471         (MeasureFn (MultiplicationFn ?NUMBER 4.448222) Newton)))     5492         (MeasureFn (MultiplicationFn ?NUMBER 4.448222) Newton)))
5472     5493
5473 ;; More Energy units     5494 ;; More Energy units
5474     5495
5475 (subclass Calorie FunctionQuantity)     5496 (subclass Calorie FunctionQuantity)
5476 (instance Calorie UnitOfMeasure)     5497 (instance Calorie UnitOfMeasure)
5477 (documentation Calorie "A &%Calorie is an energy measure.")     5498 (documentation Calorie "A &%Calorie is an energy measure.")
5478     5499
5479 (=>     5500 (=>
5480    (instance ?NUMBER RealNumber)     5501    (instance ?NUMBER RealNumber)
5481    (equal     5502    (equal
5482         (MeasureFn ?NUMBER Calorie)     5503         (MeasureFn ?NUMBER Calorie)
5483         (MeasureFn (MultiplicationFn ?NUMBER 4.1868) Joule)))     5504         (MeasureFn (MultiplicationFn ?NUMBER 4.1868) Joule)))
5484     5505
5485 (subclass BritishThermalUnit FunctionQuantity)     5506 (subclass BritishThermalUnit FunctionQuantity)
5486 (instance BritishThermalUnit UnitOfMeasure)     5507 (instance BritishThermalUnit UnitOfMeasure)
5487 (documentation BritishThermalUnit "An energy measure.")     5508 (documentation BritishThermalUnit "An energy measure.")
5488     5509
5489 (=>     5510 (=>
5490    (instance ?NUMBER RealNumber)     5511    (instance ?NUMBER RealNumber)
5491    (equal     5512    (equal
5492         (MeasureFn ?NUMBER BritishThermalUnit)     5513         (MeasureFn ?NUMBER BritishThermalUnit)
5493         (MeasureFn (MultiplicationFn ?NUMBER 1055.05585262) Joule)))     5514         (MeasureFn (MultiplicationFn ?NUMBER 1055.05585262) Joule)))
5494     5515
5495 ;; More plane angle units     5516 ;; More plane angle units
5496     5517
5497 (subclass AngularDegree PlaneAngleMeasure)     5518 (subclass AngularDegree PlaneAngleMeasure)
5498 (instance AngularDegree UnitOfMeasure)     5519 (instance AngularDegree UnitOfMeasure)
5499 (documentation AngularDegree "A plane angle measure.")     5520 (documentation AngularDegree "A plane angle measure.")
5500     5521
5501 (=>     5522 (=>
5502    (instance ?NUMBER RealNumber)     5523    (instance ?NUMBER RealNumber)
5503    (equal     5524    (equal
5504 (MeasureFn ?NUMBER AngularDegree)     5525 (MeasureFn ?NUMBER AngularDegree)
5505 (MeasureFn (MultiplicationFn ?NUMBER (DivisionFn Pi 180)) Radian)))     5526 (MeasureFn (MultiplicationFn ?NUMBER (DivisionFn Pi 180)) Radian)))
5506     5527
5507 ; Other interesting units of measure     5528 ; Other interesting units of measure
5508     5529
5509 ; Currency units     5530 ; Currency units
5510     5531
5511 (subclass UnitedStatesDollar CurrencyMeasure)     5532 (subclass UnitedStatesDollar CurrencyMeasure)
5512 (instance UnitedStatesDollar UnitOfMeasure)     5533 (instance UnitedStatesDollar UnitOfMeasure)
5513 (documentation UnitedStatesDollar "A currency measure.")     5534 (documentation UnitedStatesDollar "A currency measure.")
5514     5535
5515 (subclass UnitedStatesCent CurrencyMeasure)     5536 (subclass UnitedStatesCent CurrencyMeasure)
5516 (instance UnitedStatesCent UnitOfMeasure)     5537 (instance UnitedStatesCent UnitOfMeasure)
5517 (documentation UnitedStatesCent "A currency measure. 1 &%UnitedStatesCent is     5538 (documentation UnitedStatesCent "A currency measure. 1 &%UnitedStatesCent is
5518 equal to .01 &%UnitedStatesDollars.")     5539 equal to .01 &%UnitedStatesDollars.")
5519     5540
5520 (=>     5541 (=>
5521    (instance ?NUMBER RealNumber)     5542    (instance ?NUMBER RealNumber)
5522    (equal     5543    (equal
5523         (MeasureFn ?NUMBER UnitedStatesCent)     5544         (MeasureFn ?NUMBER UnitedStatesCent)
5524         (MeasureFn (MultiplicationFn ?NUMBER 0.01) UnitedStatesDollar)))     5545         (MeasureFn (MultiplicationFn ?NUMBER 0.01) UnitedStatesDollar)))
5525     5546
5526 (subclass EuroDollar CurrencyMeasure)     5547 (subclass EuroDollar CurrencyMeasure)
5527 (instance EuroDollar UnitOfMeasure)     5548 (instance EuroDollar UnitOfMeasure)
5528 (documentation EuroDollar "A currency measure of most European Union countries.     5549 (documentation EuroDollar "A currency measure of most European Union countries.
5529 It is based on the &%UnitedStatesDollar.")     5550 It is based on the &%UnitedStatesDollar.")
5530     5551
5531 (subclass EuroCent CurrencyMeasure)     5552 (subclass EuroCent CurrencyMeasure)
5532 (instance EuroCent UnitOfMeasure)     5553 (instance EuroCent UnitOfMeasure)
5533 (documentation EuroCent "A currency measure. 1 &%EuroCent is equal to .01     5554 (documentation EuroCent "A currency measure. 1 &%EuroCent is equal to .01
5534 &%EuroDollars.")     5555 &%EuroDollars.")
5535     5556
5536 (=>     5557 (=>
5537    (instance ?NUMBER RealNumber)     5558    (instance ?NUMBER RealNumber)
5538    (equal     5559    (equal
5539         (MeasureFn ?NUMBER EuroCent)     5560         (MeasureFn ?NUMBER EuroCent)
5540         (MeasureFn (MultiplicationFn ?NUMBER 0.01) EuroDollar)))     5561         (MeasureFn (MultiplicationFn ?NUMBER 0.01) EuroDollar)))
5541     5562
5542 ; Information units     5563 ; Information units
5543     5564
5544 (subclass InformationMeasure ConstantQuantity)     5565 (subclass InformationMeasure ConstantQuantity)
5545 (documentation InformationMeasure "Measures of the amount of information.     5566 (documentation InformationMeasure "Measures of the amount of information.
5546 Includes &%Bit, &%Byte, and multiples of these, e.g. &%KiloByte and     5567 Includes &%Bit, &%Byte, and multiples of these, e.g. &%KiloByte and
5547 &%MegaByte.")     5568 &%MegaByte.")
5548     5569
5549 (subclass Bit InformationMeasure)     5570 (subclass Bit InformationMeasure)
5550 (instance Bit UnitOfMeasure)     5571 (instance Bit UnitOfMeasure)
5551 (documentation Bit "One &%Bit of information. A one or a zero.")     5572 (documentation Bit "One &%Bit of information. A one or a zero.")
5552     5573
5553 (subclass Byte InformationMeasure)     5574 (subclass Byte InformationMeasure)
5554 (instance Byte UnitOfMeasure)     5575 (instance Byte UnitOfMeasure)
5555 (documentation Byte "One &%Byte of information. A &%Byte is eight     5576 (documentation Byte "One &%Byte of information. A &%Byte is eight
5556 &%Bits.")     5577 &%Bits.")
5557     5578
5558 (=>     5579 (=>
5559    (instance ?NUMBER RealNumber)     5580    (instance ?NUMBER RealNumber)
5560    (equal     5581    (equal
5561         (MeasureFn ?NUMBER Byte)     5582         (MeasureFn ?NUMBER Byte)
5562         (MeasureFn (MultiplicationFn ?NUMBER 8) Bit)))     5583         (MeasureFn (MultiplicationFn ?NUMBER 8) Bit)))
5563     5584
5564 (subclass KiloByte InformationMeasure)     5585 (subclass KiloByte InformationMeasure)
5565 (instance KiloByte UnitOfMeasure)     5586 (instance KiloByte UnitOfMeasure)
5566 (documentation KiloByte "One &%KiloByte (KB) of information. One     5587 (documentation KiloByte "One &%KiloByte (KB) of information. One
5567 &%KiloByte is 1024 &%Bytes. Note that this sense of 'kilo' is     5588 &%KiloByte is 1024 &%Bytes. Note that this sense of 'kilo' is
5568 different from the one accepted in the SI system.")     5589 different from the one accepted in the SI system.")
5569     5590
5570 (=>     5591 (=>
5571    (instance ?NUMBER RealNumber)     5592    (instance ?NUMBER RealNumber)
5572    (equal     5593    (equal
5573         (MeasureFn ?NUMBER KiloByte)     5594         (MeasureFn ?NUMBER KiloByte)
5574         (MeasureFn (MultiplicationFn ?NUMBER 1024) Byte)))     5595         (MeasureFn (MultiplicationFn ?NUMBER 1024) Byte)))
5575     5596
5576 (subclass MegaByte InformationMeasure)     5597 (subclass MegaByte InformationMeasure)
5577 (instance MegaByte UnitOfMeasure)     5598 (instance MegaByte UnitOfMeasure)
5578 (documentation MegaByte "One &%MegaByte (MB) of information. One     5599 (documentation MegaByte "One &%MegaByte (MB) of information. One
5579 &%MegaByte is 1024 &%KiloBytes. Note that this sense of 'mega' is     5600 &%MegaByte is 1024 &%KiloBytes. Note that this sense of 'mega' is
5580 different from the one accepted in the SI system.")     5601 different from the one accepted in the SI system.")
5581     5602
5582 (=>     5603 (=>
5583    (instance ?NUMBER RealNumber)     5604    (instance ?NUMBER RealNumber)
5584    (equal     5605    (equal
5585         (MeasureFn ?NUMBER MegaByte)     5606         (MeasureFn ?NUMBER MegaByte)
5586         (MeasureFn (MultiplicationFn ?NUMBER 1024) KiloByte)))     5607         (MeasureFn (MultiplicationFn ?NUMBER 1024) KiloByte)))
5587     5608
5588 ;; The following content was inspired by the Quantities ontology     5609 ;; The following content was inspired by the Quantities ontology
5589 ;; developed by ITBM-CNR.     5610 ;; developed by ITBM-CNR.
5590     5611
5591 (instance measure BinaryPredicate)     5612 (instance measure BinaryPredicate)
5592 (instance measure AsymmetricRelation)     5613 (instance measure AsymmetricRelation)
5593 (domain measure 1 Object)     5614 (domain measure 1 Object)
5594 (domain measure 2 PhysicalQuantity)     5615 (domain measure 2 PhysicalQuantity)
5595 (documentation measure "A very general &%Predicate for asserting that a     5616 (documentation measure "A very general &%Predicate for asserting that a
5596 particular &%Object is measured by a particular &%ConstantQuantity.     5617 particular &%Object is measured by a particular &%ConstantQuantity.
5597 In general, the second argument of this &%Predicate will be an instance     5618 In general, the second argument of this &%Predicate will be an instance
5598 of the &%Function &%MeasureFn.")     5619 of the &%Function &%MeasureFn.")
5599     5620
5600 (instance age SingleValuedRelation)     5621 (instance age SingleValuedRelation)
5601 (subrelation age measure)     5622 (subrelation age measure)
5602 (domain age 2 TimeDuration)     5623 (domain age 2 TimeDuration)
5603 (documentation age "Simply relates an &%Object to a &%ConstantQuantity     5624 (documentation age "Simply relates an &%Object to a &%ConstantQuantity
5604 specifying the age of the &%Object.")     5625 specifying the age of the &%Object.")
5605     5626
5606 (subrelation length measure)     5627 (subrelation length measure)
5607 (domain length 2 LengthMeasure)     5628 (domain length 2 LengthMeasure)
5608 (documentation length "&%BinaryPredicate that is used to state the measure     5629 (documentation length "&%BinaryPredicate that is used to state the measure
5609 of an &%Object from one point to another point along its surface. Note     5630 of an &%Object from one point to another point along its surface. Note
5610 that the difference between the predicates &%length and &%distance is that     5631 that the difference between the predicates &%length and &%distance is that
5611 the &%length is used to state the &%LengthMeasure of one of the dimensions of     5632 the &%length is used to state the &%LengthMeasure of one of the dimensions of
5612 a single object, while &%distance is used to state the &%LengthMeasure that     5633 a single object, while &%distance is used to state the &%LengthMeasure that
5613 separates two distinct objects")     5634 separates two distinct objects")
5614     5635
5615 (instance width SingleValuedRelation)     5636 (instance width SingleValuedRelation)
5616 (subrelation width length)     5637 (subrelation width length)
5617 (documentation width "&%BinaryPredicate that is used to state the measure     5638 (documentation width "&%BinaryPredicate that is used to state the measure
5618 of an &%Object from side to side at its widest span.")     5639 of an &%Object from side to side at its widest span.")
5619     5640
5620 (subrelation diameter width)     5641 (subrelation diameter width)
5621 (documentation diameter "&%BinaryPredicate that is used to state the     5642 (documentation diameter "&%BinaryPredicate that is used to state the
5622 measure of a circular &%Object from side to side.")     5643 measure of a circular &%Object from side to side.")
5623     5644
5624 (instance distance SingleValuedRelation)     5645 (instance distance SingleValuedRelation)
5625 (instance distance SpatialRelation)     5646 (instance distance SpatialRelation)
5626 (instance distance TernaryPredicate)     5647 (instance distance TernaryPredicate)
5627 (domain distance 1 Physical)     5648 (domain distance 1 Physical)
5628 (domain distance 2 Physical)     5649 (domain distance 2 Physical)
5629 (domain distance 3 LengthMeasure)     5650 (domain distance 3 LengthMeasure)
5630 (documentation distance "(&%distance ?OBJ1 ?OBJ2 ?QUANT) means that the     5651 (documentation distance "(&%distance ?OBJ1 ?OBJ2 ?QUANT) means that the
5631 shortest distance between the two objects ?OBJ1 and ?OBJ2 is ?QUANT. Note     5652 shortest distance between the two objects ?OBJ1 and ?OBJ2 is ?QUANT. Note
5632 that the difference between the predicates &%length and &%distance is that     5653 that the difference between the predicates &%length and &%distance is that
5633 the &%length is used to state the &%LengthMeasure of one of the dimensions of     5654 the &%length is used to state the &%LengthMeasure of one of the dimensions of
5634 a single object, while &%distance is used to state the &%LengthMeasure that     5655 a single object, while &%distance is used to state the &%LengthMeasure that
5635 separates two distinct objects.")     5656 separates two distinct objects.")
5636     5657
5637 (=>     5658 (=>
5638    (distance ?OBJ1 ?OBJ2 ?QUANT)     5659    (distance ?OBJ1 ?OBJ2 ?QUANT)
5639    (distance ?OBJ2 ?OBJ1 ?QUANT))     5660    (distance ?OBJ2 ?OBJ1 ?QUANT))
5640     5661
5641 (subrelation altitude distance)     5662 (subrelation altitude distance)
5642 (instance altitude SingleValuedRelation)     5663 (instance altitude SingleValuedRelation)
5643 (documentation altitude "A &%TernaryPredicate that is used to state the &%distance     5664 (documentation altitude "A &%TernaryPredicate that is used to state the &%distance
5644 between the &%top of an &%Object and another point that is below the &%top of the     5665 between the &%top of an &%Object and another point that is below the &%top of the
5645 &%Object (often this other point will be sea level). Note that this &%Predicate can     5666 &%Object (often this other point will be sea level). Note that this &%Predicate can
5646 be used to specify, for example, the height of geographic features, e.g. mountains,     5667 be used to specify, for example, the height of geographic features, e.g. mountains,
5647 the altitude of aircraft, and the orbit of satellites around the Earth.")     5668 the altitude of aircraft, and the orbit of satellites around the Earth.")
5648     5669
5649 (=>     5670 (=>
5650    (altitude ?OBJ1 ?OBJ2 ?HEIGHT)     5671    (altitude ?OBJ1 ?OBJ2 ?HEIGHT)
5651    (orientation ?OBJ1 ?OBJ2 Above))     5672    (orientation ?OBJ1 ?OBJ2 Above))
5652     5673
5653 (=>     5674 (=>
5654    (altitude ?OBJ1 ?OBJ2 ?HEIGHT)     5675    (altitude ?OBJ1 ?OBJ2 ?HEIGHT)
5655    (exists (?TOP)     5676    (exists (?TOP)
5656       (and     5677       (and
5657          (top ?TOP ?OBJ1)     5678          (top ?TOP ?OBJ1)
5658          (distance ?TOP ?OBJ2 ?HEIGHT))))     5679          (distance ?TOP ?OBJ2 ?HEIGHT))))
5659     5680
5660 (subrelation depth distance)     5681 (subrelation depth distance)
5661 (instance depth SingleValuedRelation)     5682 (instance depth SingleValuedRelation)
5662 (documentation depth "A &%TernaryPredicate that is used to state the &%distance     5683 (documentation depth "A &%TernaryPredicate that is used to state the &%distance
5663 between the &%top of an &%Object and another point that is above the &%top of the     5684 between the &%top of an &%Object and another point that is above the &%top of the
5664 &%Object (often this other point will be sea level). Note that this &%Predicate can     5685 &%Object (often this other point will be sea level). Note that this &%Predicate can
5665 be used to specify, for example, the depth of marine life or submarines, for example.")     5686 be used to specify, for example, the depth of marine life or submarines, for example.")
5666     5687
5667 (=>     5688 (=>
5668    (depth ?OBJ1 ?OBJ2 ?DEPTH)     5689    (depth ?OBJ1 ?OBJ2 ?DEPTH)
5669    (orientation ?OBJ1 ?OBJ2 Below))     5690    (orientation ?OBJ1 ?OBJ2 Below))
5670     5691
5671 (=>     5692 (=>
5672    (depth ?OBJ1 ?OBJ2 ?DEPTH)     5693    (depth ?OBJ1 ?OBJ2 ?DEPTH)
5673    (exists (?BOTTOM)     5694    (exists (?BOTTOM)
5674       (and     5695       (and
5675          (bottom ?BOTTOM ?OBJ1)     5696          (bottom ?BOTTOM ?OBJ1)
5676          (distance ?BOTTOM ?OBJ2 ?DEPTH))))     5697          (distance ?BOTTOM ?OBJ2 ?DEPTH))))
5677     5698
5678 (instance larger BinaryPredicate)     5699 (instance larger BinaryPredicate)
5679 (instance larger SpatialRelation)     5700 (instance larger SpatialRelation)
5680 (instance larger TransitiveRelation)     5701 (instance larger TransitiveRelation)
5681 (instance larger IrreflexiveRelation)     5702 (instance larger IrreflexiveRelation)
5682 (domain larger 1 Object)     5703 (domain larger 1 Object)
5683 (domain larger 2 Object)     5704 (domain larger 2 Object)
5684 (documentation larger "(&%larger ?OBJ1 ?OBJ2) simply means that ?OBJ1 is     5705 (documentation larger "(&%larger ?OBJ1 ?OBJ2) simply means that ?OBJ1 is
5685 larger, with respect to all &%LengthMeasures, than ?OBJ2.")     5706 larger, with respect to all &%LengthMeasures, than ?OBJ2.")
5686     5707
5687 (=>     5708 (=>
5688    (larger ?OBJ1 ?OBJ2)     5709    (larger ?OBJ1 ?OBJ2)
5689    (forall (?QUANT1 ?QUANT2)     5710    (forall (?QUANT1 ?QUANT2)
5690       (=>     5711       (=>
5691          (and     5712          (and
5692             (measure ?OBJ1 (MeasureFn ?QUANT1 LengthMeasure))     5713             (measure ?OBJ1 (MeasureFn ?QUANT1 LengthMeasure))
5693             (measure ?OBJ2 (MeasureFn ?QUANT2 LengthMeasure)))     5714             (measure ?OBJ2 (MeasureFn ?QUANT2 LengthMeasure)))
5694          (greaterThan ?QUANT1 ?QUANT2))))     5715          (greaterThan ?QUANT1 ?QUANT2))))
5695     5716
5696 (instance smaller BinaryPredicate)     5717 (instance smaller BinaryPredicate)
5697 (instance smaller SpatialRelation)     5718 (instance smaller SpatialRelation)
5698 (instance smaller TransitiveRelation)     5719 (instance smaller TransitiveRelation)
5699 (instance smaller IrreflexiveRelation)     5720 (instance smaller IrreflexiveRelation)
5700 (domain smaller 1 Object)     5721 (domain smaller 1 Object)
5701 (domain smaller 2 Object)     5722 (domain smaller 2 Object)
5702 (inverse smaller larger)     5723 (inverse smaller larger)
5703 (documentation smaller "(&%smaller ?OBJ1 ?OBJ2) simply means that ?OBJ1     5724 (documentation smaller "(&%smaller ?OBJ1 ?OBJ2) simply means that ?OBJ1
5704 is smaller, with respect to all &%LengthMeasures, than ?OBJ2.")     5725 is smaller, with respect to all &%LengthMeasures, than ?OBJ2.")
5705     5726
5706 (instance monetaryValue SingleValuedRelation)     5727 (instance monetaryValue SingleValuedRelation)
5707 (subrelation monetaryValue measure)     5728 (subrelation monetaryValue measure)
5708 (domain monetaryValue 1 Object)     5729 (domain monetaryValue 1 Object)
5709 (domain monetaryValue 2 CurrencyMeasure)     5730 (domain monetaryValue 2 CurrencyMeasure)
5710 (documentation monetaryValue "A &%BinaryPredicate that associates an     5731 (documentation monetaryValue "A &%BinaryPredicate that associates an
5711 &%Object with its value expressed as an instance of &%CurrencyMeasure.")     5732 &%Object with its value expressed as an instance of &%CurrencyMeasure.")
5712     5733
5713 (instance WealthFn UnaryFunction)     5734 (instance WealthFn UnaryFunction)
5714 (domain WealthFn 1 Agent)     5735 (domain WealthFn 1 Agent)
5715 (range WealthFn CurrencyMeasure)     5736 (range WealthFn CurrencyMeasure)
5716 (documentation WealthFn "A &%UnaryFunction that maps an &%Agent to a &%CurrencyMeasure specifying the value of the property owned by the &%Agent. Note that this &%Function is generally used in conjunction with the &%Function &%PropertyFn, e.g. (&%WealthFn (&%PropertyFn BillGates)) would return the monetary value of the sum of Bill Gates' holdings.")     5737 (documentation WealthFn "A &%UnaryFunction that maps an &%Agent to a &%CurrencyMeasure specifying the value of the property owned by the &%Agent. Note that this &%Function is generally used in conjunction with the &%Function &%PropertyFn, e.g. (&%WealthFn (&%PropertyFn BillGates)) would return the monetary value of the sum of Bill Gates' holdings.")
5717     5738
5718 (<=>     5739 (<=>
5719    (equal (WealthFn ?PERSON) ?AMOUNT)     5740    (equal (WealthFn ?PERSON) ?AMOUNT)
5720    (monetaryValue (PropertyFn ?PERSON) ?AMOUNT))     5741    (monetaryValue (PropertyFn ?PERSON) ?AMOUNT))
5721     5742
5722 ;; END FILE     5743 ;; END FILE
5723     5744
5724 ;; BEGIN FILE     5745 ;; BEGIN FILE
5725     5746
5726     5747
5727 ;;;;;;;;;;;;;;;;;;;;;;;     5748 ;;;;;;;;;;;;;;;;;;;;;;;
5728 ;; TEMPORAL CONCEPTS ;;     5749 ;; TEMPORAL CONCEPTS ;;
5729 ;;;;;;;;;;;;;;;;;;;;;;;     5750 ;;;;;;;;;;;;;;;;;;;;;;;
5730     5751
5731 ;; INCLUDES 'STRUCTURAL ONTOLOGY'     5752 ;; INCLUDES 'STRUCTURAL ONTOLOGY'
5732 ;; INCLUDES 'BASE ONTOLOGY'     5753 ;; INCLUDES 'BASE ONTOLOGY'
5733     5754
5734 ;; The first part of this section contains definitions relations involving     5755 ;; The first part of this section contains definitions relations involving
5735 ;; temporal notions. Most of these definitions and axioms were derived from     5756 ;; temporal notions. Most of these definitions and axioms were derived from
5736 ;; James Allen's work. This part of the section was extensively revised on     5757 ;; James Allen's work. This part of the section was extensively revised on
5737 ;; the basis of comments from Pat Hayes. The second part of this section     5758 ;; the basis of comments from Pat Hayes. The second part of this section
5738 ;; is an attempt to incorporate the Simple-Time ontology from the     5759 ;; is an attempt to incorporate the Simple-Time ontology from the
5739 ;; Ontolingua server into the SUMO.     5760 ;; Ontolingua server into the SUMO.
5740     5761
5741 (instance PositiveInfinity TimePoint)     5762 (instance PositiveInfinity TimePoint)
5742 (documentation PositiveInfinity "The &%TimePoint that is after     5763 (documentation PositiveInfinity "The &%TimePoint that is after
5743 all other &%TimePoints.")     5764 all other &%TimePoints.")
5744     5765
5745 (=>     5766 (=>
5746    (and     5767    (and
5747       (instance ?POINT TimePoint)     5768       (instance ?POINT TimePoint)
5748       (not (equal ?POINT PositiveInfinity)))     5769       (not (equal ?POINT PositiveInfinity)))
5749    (before ?POINT PositiveInfinity))     5770    (before ?POINT PositiveInfinity))
5750     5771
5751 (=>     5772 (=>
5752    (and     5773    (and
5753       (instance ?POINT TimePoint)     5774       (instance ?POINT TimePoint)
5754       (not (equal ?POINT PositiveInfinity)))     5775       (not (equal ?POINT PositiveInfinity)))
5755    (exists (?OTHERPOINT)     5776    (exists (?OTHERPOINT)
5756       (temporallyBetween ?POINT ?OTHERPOINT PositiveInfinity)))     5777       (temporallyBetween ?POINT ?OTHERPOINT PositiveInfinity)))
5757     5778
5758 (instance NegativeInfinity TimePoint)     5779 (instance NegativeInfinity TimePoint)
5759 (documentation NegativeInfinity "The &%TimePoint that is before     5780 (documentation NegativeInfinity "The &%TimePoint that is before
5760 all other &%TimePoints.")     5781 all other &%TimePoints.")
5761     5782
5762 (=>     5783 (=>
5763    (and     5784    (and
5764       (instance ?POINT TimePoint)     5785       (instance ?POINT TimePoint)
5765       (not (equal ?POINT NegativeInfinity)))     5786       (not (equal ?POINT NegativeInfinity)))
5766     (before NegativeInfinity ?POINT))     5787     (before NegativeInfinity ?POINT))
5767     5788
5768 (=>     5789 (=>
5769    (and     5790    (and
5770       (instance ?POINT TimePoint)     5791       (instance ?POINT TimePoint)
5771       (not (equal ?POINT NegativeInfinity)))     5792       (not (equal ?POINT NegativeInfinity)))
5772    (exists (?OTHERPOINT)     5793    (exists (?OTHERPOINT)
5773       (temporallyBetween NegativeInfinity ?OTHERPOINT ?POINT)))     5794       (temporallyBetween NegativeInfinity ?OTHERPOINT ?POINT)))
5774     5795
5775 (instance duration BinaryPredicate)     5796 (instance duration BinaryPredicate)
5776 (instance duration AsymmetricRelation)     5797 (instance duration AsymmetricRelation)
5777 (instance duration TotalValuedRelation)     5798 (instance duration TotalValuedRelation)
5778 (domain duration 1 TimeInterval)     5799 (domain duration 1 TimeInterval)
5779 (domain duration 2 TimeDuration)     5800 (domain duration 2 TimeDuration)
5780 (documentation duration "(&%duration ?POS ?TIME) means that the     5801 (documentation duration "(&%duration ?POS ?TIME) means that the
5781 duration of the &%TimePosition ?POS is ?TIME. Note that this     5802 duration of the &%TimePosition ?POS is ?TIME. Note that this
5782 &%Predicate can be used in conjunction with the &%Function &%WhenFn     5803 &%Predicate can be used in conjunction with the &%Function &%WhenFn
5783 to specify the duration of any instance of &%Physical.")     5804 to specify the duration of any instance of &%Physical.")
5784     5805
5785 (instance frequency BinaryPredicate)     5806 (instance frequency BinaryPredicate)
5786 (instance frequency AsymmetricRelation)     5807 (instance frequency AsymmetricRelation)
5787 (domainSubclass frequency 1 Process)     5808 (domainSubclass frequency 1 Process)
5788 (domain frequency 2 TimeDuration)     5809 (domain frequency 2 TimeDuration)
5789 (documentation frequency "(frequency ?PROC ?TIME) means that the     5810 (documentation frequency "(frequency ?PROC ?TIME) means that the
5790 &%Process type of ?PROC recurs after every interval of ?TIME.")     5811 &%Process type of ?PROC recurs after every interval of ?TIME.")
5791     5812
5792 (=>     5813 (=>
5793    (frequency ?PROC ?TIME1)     5814    (frequency ?PROC ?TIME1)
5794    (forall (?TIME2)     5815    (forall (?TIME2)
5795       (=>     5816       (=>
5796          (duration ?TIME2 ?TIME1)     5817          (duration ?TIME2 ?TIME1)
5797          (exists (?POSITION)     5818          (exists (?POSITION)
5798             (and     5819             (and
5799                (temporalPart ?POSITION ?TIME2)     5820                (temporalPart ?POSITION ?TIME2)
5800                (holdsDuring ?POSITION (exists (?INST) (instance ?INST ?PROC))))))))     5821                (holdsDuring ?POSITION (exists (?INST) (instance ?INST ?PROC))))))))
5801     5822
5802 (instance temporalPart BinaryPredicate)     5823 (instance temporalPart BinaryPredicate)
5803 (instance temporalPart TemporalRelation)     5824 (instance temporalPart TemporalRelation)
5804 (instance temporalPart PartialOrderingRelation)     5825 (instance temporalPart PartialOrderingRelation)
5805 (domain temporalPart 1 TimePosition)     5826 (domain temporalPart 1 TimePosition)
5806 (domain temporalPart 2 TimePosition)     5827 (domain temporalPart 2 TimePosition)
5807 (documentation temporalPart "The temporal analogue of the spatial &%part predicate.     5828 (documentation temporalPart "The temporal analogue of the spatial &%part predicate.
5808 (&%temporalPart ?POS1 ?POS2) means that &%TimePosition ?POS1 is part of &%TimePosition ?POS2. Note that since &%temporalPart is a &%ReflexiveRelation every &%TimePostion is a     5829 (&%temporalPart ?POS1 ?POS2) means that &%TimePosition ?POS1 is part of &%TimePosition ?POS2. Note that since &%temporalPart is a &%ReflexiveRelation every &%TimePostion is a
5809 &%temporalPart of itself.")     5830 &%temporalPart of itself.")
5810     5831
5811 (=>     5832 (=>
5812    (instance ?POINT TimePoint)     5833    (instance ?POINT TimePoint)
5813    (exists (?INTERVAL)     5834    (exists (?INTERVAL)
5814       (and     5835       (and
5815          (instance ?INTERVAL TimeInterval)     5836          (instance ?INTERVAL TimeInterval)
5816          (temporalPart ?POINT ?INTERVAL))))     5837          (temporalPart ?POINT ?INTERVAL))))
5817     5838
5818 (=>     5839 (=>
5819    (instance ?INTERVAL TimeInterval)     5840    (instance ?INTERVAL TimeInterval)
5820    (exists (?POINT)     5841    (exists (?POINT)
5821       (and     5842       (and
5822          (instance ?POINT TimePoint)     5843          (instance ?POINT TimePoint)
5823          (temporalPart ?POINT ?INTERVAL))))     5844          (temporalPart ?POINT ?INTERVAL))))
5824     5845
5825 (=>     5846 (=>
5826    (and     5847    (and
5827       (holdsDuring ?TIME1 ?SITUATION)     5848       (holdsDuring ?TIME1 ?SITUATION)
5828       (temporalPart ?TIME2 ?TIME1))     5849       (temporalPart ?TIME2 ?TIME1))
5829    (holdsDuring ?TIME2 ?SITUATION))     5850    (holdsDuring ?TIME2 ?SITUATION))
5830     5851
5831 (=>     5852 (=>
5832    (and     5853    (and
5833       (holdsDuring ?INTERVAL (holds ?REL ?INST1 ?INST2))     5854       (holdsDuring ?INTERVAL (holds ?REL ?INST1 ?INST2))
5834       (instance ?INST1 Physical)     5855       (instance ?INST1 Physical)
5835       (instance ?INST2 Physical))     5856       (instance ?INST2 Physical))
5836    (and     5857    (and
5837       (time ?INST1 ?INTERVAL)     5858       (time ?INST1 ?INTERVAL)
5838       (time ?INST2 ?INTERVAL)))     5859       (time ?INST2 ?INTERVAL)))
5839     5860
5840 (<=>     5861 (<=>
5841    (temporalPart ?POS (WhenFn ?THING))     5862    (temporalPart ?POS (WhenFn ?THING))
5842    (time ?THING ?POS))     5863    (time ?THING ?POS))
5843     5864
5844 (instance BeginFn TemporalRelation)     5865 (instance BeginFn TemporalRelation)
5845 (instance BeginFn UnaryFunction)     5866 (instance BeginFn UnaryFunction)
5846 (instance BeginFn TotalValuedRelation)     5867 (instance BeginFn TotalValuedRelation)
5847 (domain BeginFn 1 TimeInterval)     5868 (domain BeginFn 1 TimeInterval)
5848 (range BeginFn TimePoint)     5869 (range BeginFn TimePoint)
5849 (documentation BeginFn "A &%UnaryFunction that maps a &%TimeInterval to     5870 (documentation BeginFn "A &%UnaryFunction that maps a &%TimeInterval to
5850 the &%TimePoint at which the interval begins.")     5871 the &%TimePoint at which the interval begins.")
5851     5872
5852 (=>     5873 (=>
5853    (origin ?PROCESS ?OBJ)     5874    (origin ?PROCESS ?OBJ)
5854    (located (WhereFn ?PROCESS (BeginFn (WhenFn ?PROCESS))) (WhereFn ?OBJ (BeginFn (WhenFn ?OBJ)))))     5875    (located (WhereFn ?PROCESS (BeginFn (WhenFn ?PROCESS))) (WhereFn ?OBJ (BeginFn (WhenFn ?OBJ)))))
5855     5876
5856 (=>     5877 (=>
5857    (equal (BeginFn ?INTERVAL) ?POINT)     5878    (equal (BeginFn ?INTERVAL) ?POINT)
5858    (forall (?OTHERPOINT)     5879    (forall (?OTHERPOINT)
5859       (=>     5880       (=>
5860          (and     5881          (and
5861             (temporalPart ?OTHERPOINT ?INTERVAL)     5882             (temporalPart ?OTHERPOINT ?INTERVAL)
5862             (not (equal ?OTHERPOINT ?POINT)))     5883             (not (equal ?OTHERPOINT ?POINT)))
5863          (before ?POINT ?OTHERPOINT))))     5884          (before ?POINT ?OTHERPOINT))))
5864     5885
5865 (instance EndFn TemporalRelation)     5886 (instance EndFn TemporalRelation)
5866 (instance EndFn UnaryFunction)     5887 (instance EndFn UnaryFunction)
5867 (instance EndFn TotalValuedRelation)     5888 (instance EndFn TotalValuedRelation)
5868 (domain EndFn 1 TimeInterval)     5889 (domain EndFn 1 TimeInterval)
5869 (range EndFn TimePoint)     5890 (range EndFn TimePoint)
5870 (documentation EndFn "A &%UnaryFunction that maps a &%TimeInterval to     5891 (documentation EndFn "A &%UnaryFunction that maps a &%TimeInterval to
5871 the &%TimePoint at which the interval ends.")     5892 the &%TimePoint at which the interval ends.")
5872     5893
5873 (=>     5894 (=>
5874    (equal (EndFn ?INTERVAL) ?POINT)     5895    (equal (EndFn ?INTERVAL) ?POINT)
5875    (forall (?OTHERPOINT)     5896    (forall (?OTHERPOINT)
5876       (=>     5897       (=>
5877          (and     5898          (and
5878             (temporalPart ?OTHERPOINT ?INTERVAL)     5899             (temporalPart ?OTHERPOINT ?INTERVAL)
5879             (not (equal ?OTHERPOINT ?POINT)))     5900             (not (equal ?OTHERPOINT ?POINT)))
5880          (before ?OTHERPOINT ?POINT))))     5901          (before ?OTHERPOINT ?POINT))))
5881     5902
5882 (=>     5903 (=>
5883      (and     5904      (and
5884           (resource ?PROC ?OBJ)     5905           (resource ?PROC ?OBJ)
5885           (holdsDuring (BeginFn (WhenFn ?PROC)) (measure ?OBJ ?QUANT1))     5906           (holdsDuring (BeginFn (WhenFn ?PROC)) (measure ?OBJ ?QUANT1))
5886           (holdsDuring (EndFn (WhenFn ?PROC)) (measure ?OBJ ?QUANT2)))     5907           (holdsDuring (EndFn (WhenFn ?PROC)) (measure ?OBJ ?QUANT2)))
5887      (greaterThan ?QUANT1 ?QUANT2))     5908      (greaterThan ?QUANT1 ?QUANT2))
5888     5909
5889 (instance starts BinaryPredicate)     5910 (instance starts BinaryPredicate)
5890 (instance starts TransitiveRelation)     5911 (instance starts TransitiveRelation)
5891 (instance starts IrreflexiveRelation)     5912 (instance starts IrreflexiveRelation)
5892 (domain starts 1 TimeInterval)     5913 (domain starts 1 TimeInterval)
5893 (domain starts 2 TimeInterval)     5914 (domain starts 2 TimeInterval)
5894 (documentation starts "(&%starts ?INTERVAL1 ?INTERVAL2) means that     5915 (documentation starts "(&%starts ?INTERVAL1 ?INTERVAL2) means that
5895 ?INTERVAL1 and ?INTERVAL2 are both &%TimeIntervals that have the same     5916 ?INTERVAL1 and ?INTERVAL2 are both &%TimeIntervals that have the same
5896 initial &%TimePoint and that ?INTERVAL1 ends before ?INTERVAL2.")     5917 initial &%TimePoint and that ?INTERVAL1 ends before ?INTERVAL2.")
5897     5918
5898 (<=>     5919 (<=>
5899    (starts ?INTERVAL1 ?INTERVAL2)     5920    (starts ?INTERVAL1 ?INTERVAL2)
5900    (and     5921    (and
5901       (equal     5922       (equal
5902          (BeginFn ?INTERVAL1)     5923          (BeginFn ?INTERVAL1)
5903 (BeginFn ?INTERVAL2))     5924 (BeginFn ?INTERVAL2))
5904       (before     5925       (before
5905          (EndFn ?INTERVAL1)     5926          (EndFn ?INTERVAL1)
5906    (EndFn ?INTERVAL2))))     5927    (EndFn ?INTERVAL2))))
5907     5928
5908 (instance finishes BinaryPredicate)     5929 (instance finishes BinaryPredicate)
5909 (instance finishes TemporalRelation)     5930 (instance finishes TemporalRelation)
5910 (instance finishes TransitiveRelation)     5931 (instance finishes TransitiveRelation)
5911 (instance finishes IrreflexiveRelation)     5932 (instance finishes IrreflexiveRelation)
5912 (domain finishes 1 TimeInterval)     5933 (domain finishes 1 TimeInterval)
5913 (domain finishes 2 TimeInterval)     5934 (domain finishes 2 TimeInterval)
5914 (documentation finishes "(&%finishes ?INTERVAL1 ?INTERVAL2) means that     5935 (documentation finishes "(&%finishes ?INTERVAL1 ?INTERVAL2) means that
5915 ?INTERVAL1 and ?INTERVAL2 are both &%TimeIntervals that have the same     5936 ?INTERVAL1 and ?INTERVAL2 are both &%TimeIntervals that have the same
5916 ending &%TimePoint and that ?INTERVAL2 begins before ?INTERVAL1.")     5937 ending &%TimePoint and that ?INTERVAL2 begins before ?INTERVAL1.")
5917     5938
5918 (<=>     5939 (<=>
5919    (finishes ?INTERVAL1 ?INTERVAL2)     5940    (finishes ?INTERVAL1 ?INTERVAL2)
5920    (and     5941    (and
5921       (before     5942       (before
5922          (BeginFn ?INTERVAL2)     5943          (BeginFn ?INTERVAL2)
5923          (BeginFn ?INTERVAL1))     5944          (BeginFn ?INTERVAL1))
5924       (equal     5945       (equal
5925          (EndFn ?INTERVAL2)     5946          (EndFn ?INTERVAL2)
5926          (EndFn ?INTERVAL1))))     5947          (EndFn ?INTERVAL1))))
5927     5948
5928 (instance before TemporalRelation)     5949 (instance before TemporalRelation)
5929 (instance before IrreflexiveRelation)     5950 (instance before IrreflexiveRelation)
5930 (instance before TransitiveRelation)     5951 (instance before TransitiveRelation)
5931 (subrelation before beforeOrEqual)     5952 (subrelation before beforeOrEqual)
5932 (relatedInternalConcept before earlier)     5953 (relatedInternalConcept before earlier)
5933 (domain before 1 TimePoint)     5954 (domain before 1 TimePoint)
5934 (domain before 2 TimePoint)     5955 (domain before 2 TimePoint)
5935 (documentation before "(&%before ?POINT1 ?POINT2) means that ?POINT1     5956 (documentation before "(&%before ?POINT1 ?POINT2) means that ?POINT1
5936 precedes ?POINT2 on the universal timeline.")     5957 precedes ?POINT2 on the universal timeline.")
5937     5958
5938 ;; An Object exists (and, hence, retains its identity) over time, i.e.,     5959 ;; An Object exists (and, hence, retains its identity) over time, i.e.,
5939 ;; an object exists at every point over some interval of time.     5960 ;; an object exists at every point over some interval of time.
5940     5961
5941 (=>     5962 (=>
5942     (instance ?OBJ Object)     5963     (instance ?OBJ Object)
5943     (exists (?TIME1 ?TIME2)     5964     (exists (?TIME1 ?TIME2)
5944        (and     5965        (and
5945           (instance ?TIME1 TimePoint)     5966           (instance ?TIME1 TimePoint)
5946           (instance ?TIME2 TimePoint)     5967           (instance ?TIME2 TimePoint)
5947           (before ?TIME1 ?TIME2)     5968           (before ?TIME1 ?TIME2)
5948           (forall (?TIME)     5969           (forall (?TIME)
5949              (=>     5970              (=>
5950 (and     5971 (and
5951 (beforeOrEqual ?TIME1 ?TIME)     5972 (beforeOrEqual ?TIME1 ?TIME)
5952                  (beforeOrEqual ?TIME ?TIME2))     5973                  (beforeOrEqual ?TIME ?TIME2))
5953                (time ?OBJ ?TIME))))))     5974                (time ?OBJ ?TIME))))))
5954     5975
5955 (=>     5976 (=>
5956    (result ?PROC ?OBJ)     5977    (result ?PROC ?OBJ)
5957    (forall (?TIME)     5978    (forall (?TIME)
5958       (=>     5979       (=>
5959          (before ?TIME (BeginFn (WhenFn ?PROC)))     5980          (before ?TIME (BeginFn (WhenFn ?PROC)))
5960          (not     5981          (not
5961             (time ?OBJ ?TIME)))))     5982             (time ?OBJ ?TIME)))))
5962     5983
5963 (=>     5984 (=>
5964    (instance ?INTERVAL TimeInterval)     5985    (instance ?INTERVAL TimeInterval)
5965    (before (BeginFn ?INTERVAL) (EndFn ?INTERVAL)))     5986    (before (BeginFn ?INTERVAL) (EndFn ?INTERVAL)))
5966     5987
5967 (instance beforeOrEqual BinaryPredicate)     5988 (instance beforeOrEqual BinaryPredicate)
5968 (instance beforeOrEqual TemporalRelation)     5989 (instance beforeOrEqual TemporalRelation)
5969 (instance beforeOrEqual PartialOrderingRelation)     5990 (instance beforeOrEqual PartialOrderingRelation)
5970 (domain beforeOrEqual 1 TimePoint)     5991 (domain beforeOrEqual 1 TimePoint)
5971 (domain beforeOrEqual 2 TimePoint)     5992 (domain beforeOrEqual 2 TimePoint)
5972 (documentation beforeOrEqual "(&%beforeOrEqual ?POINT1 ?POINT2) means that ?POINT1     5993 (documentation beforeOrEqual "(&%beforeOrEqual ?POINT1 ?POINT2) means that ?POINT1
5973 is identical with ?POINT2 or occurs before it on the universal timeline.")     5994 is identical with ?POINT2 or occurs before it on the universal timeline.")
5974     5995
5975 (=>     5996 (=>
5976    (beforeOrEqual ?POINT1 ?POINT2)     5997    (beforeOrEqual ?POINT1 ?POINT2)
5977    (or     5998    (or
5978        (before ?POINT1 ?POINT2)     5999        (before ?POINT1 ?POINT2)
5979        (equal ?POINT1 ?POINT2)))     6000        (equal ?POINT1 ?POINT2)))
5980     6001
5981 (instance temporallyBetween TemporalRelation)     6002 (instance temporallyBetween TemporalRelation)
5982 (instance temporallyBetween TernaryPredicate)     6003 (instance temporallyBetween TernaryPredicate)
5983 (subrelation temporallyBetween temporallyBetweenOrEqual)     6004 (subrelation temporallyBetween temporallyBetweenOrEqual)
5984 (domain temporallyBetween 1 TimePoint)     6005 (domain temporallyBetween 1 TimePoint)
5985 (domain temporallyBetween 2 TimePoint)     6006 (domain temporallyBetween 2 TimePoint)
5986 (domain temporallyBetween 3 TimePoint)     6007 (domain temporallyBetween 3 TimePoint)
5987 (documentation temporallyBetween "(&%temporallyBetween ?POINT1 ?POINT2     6008 (documentation temporallyBetween "(&%temporallyBetween ?POINT1 ?POINT2
5988 ?POINT3) means that the &%TimePoint ?POINT2 is between the &%TimePoints     6009 ?POINT3) means that the &%TimePoint ?POINT2 is between the &%TimePoints
5989 ?POINT1 and ?POINT3, i.e. ?POINT1 is before ?POINT2 and ?POINT2 is before     6010 ?POINT1 and ?POINT3, i.e. ?POINT1 is before ?POINT2 and ?POINT2 is before
5990 ?POINT3.")     6011 ?POINT3.")
5991     6012
5992 (<=>     6013 (<=>
5993    (temporallyBetween ?POINT1 ?POINT2 ?POINT3)     6014    (temporallyBetween ?POINT1 ?POINT2 ?POINT3)
5994    (and     6015    (and
5995       (before ?POINT1 ?POINT2)     6016       (before ?POINT1 ?POINT2)
5996       (before ?POINT2 ?POINT3)))     6017       (before ?POINT2 ?POINT3)))
5997     6018
5998 (instance temporallyBetweenOrEqual TemporalRelation)     6019 (instance temporallyBetweenOrEqual TemporalRelation)
5999 (instance temporallyBetweenOrEqual TernaryPredicate)     6020 (instance temporallyBetweenOrEqual TernaryPredicate)
6000 (domain temporallyBetweenOrEqual 1 TimePoint)     6021 (domain temporallyBetweenOrEqual 1 TimePoint)
6001 (domain temporallyBetweenOrEqual 2 TimePoint)     6022 (domain temporallyBetweenOrEqual 2 TimePoint)
6002 (domain temporallyBetweenOrEqual 3 TimePoint)     6023 (domain temporallyBetweenOrEqual 3 TimePoint)
6003 (documentation temporallyBetweenOrEqual "(&%temporallyBetweenOrEqual ?POINT1 ?POINT2     6024 (documentation temporallyBetweenOrEqual "(&%temporallyBetweenOrEqual ?POINT1 ?POINT2
6004 ?POINT3) means that the &%TimePoint ?POINT1 is before or equal to the     6025 ?POINT3) means that the &%TimePoint ?POINT1 is before or equal to the
6005 &%TimePoint ?POINT2 and ?POINT2 is before or equal to the &%TimePoint     6026 &%TimePoint ?POINT2 and ?POINT2 is before or equal to the &%TimePoint
6006 ?POINT3.")     6027 ?POINT3.")
6007     6028
6008 (<=>     6029 (<=>
6009    (temporallyBetweenOrEqual ?POINT1 ?POINT2 ?POINT3)     6030    (temporallyBetweenOrEqual ?POINT1 ?POINT2 ?POINT3)
6010    (and     6031    (and
6011       (beforeOrEqual ?POINT1 ?POINT2)     6032       (beforeOrEqual ?POINT1 ?POINT2)
6012       (beforeOrEqual ?POINT2 ?POINT3)))     6033       (beforeOrEqual ?POINT2 ?POINT3)))
6013     6034
6014 (<=>     6035 (<=>
6015    (and     6036    (and
6016       (time ?PHYS ?TIME)     6037       (time ?PHYS ?TIME)
6017       (instance ?TIME TimePoint))     6038       (instance ?TIME TimePoint))
6018    (temporallyBetweenOrEqual (BeginFn (WhenFn ?PHYS)) ?TIME (EndFn (WhenFn ?PHYS))))     6039    (temporallyBetweenOrEqual (BeginFn (WhenFn ?PHYS)) ?TIME (EndFn (WhenFn ?PHYS))))
6019     6040
6020 (instance overlapsTemporally BinaryPredicate)     6041 (instance overlapsTemporally BinaryPredicate)
6021 (instance overlapsTemporally TemporalRelation)     6042 (instance overlapsTemporally TemporalRelation)
6022 (instance overlapsTemporally ReflexiveRelation)     6043 (instance overlapsTemporally ReflexiveRelation)
6023 (instance overlapsTemporally SymmetricRelation)     6044 (instance overlapsTemporally SymmetricRelation)
6024 (domain overlapsTemporally 1 TimeInterval)     6045 (domain overlapsTemporally 1 TimeInterval)
6025 (domain overlapsTemporally 2 TimeInterval)     6046 (domain overlapsTemporally 2 TimeInterval)
6026 (documentation overlapsTemporally "(&%overlapsTemporally ?INTERVAL1     6047 (documentation overlapsTemporally "(&%overlapsTemporally ?INTERVAL1
6027 ?INTERVAL2) means that the &%TimeIntervals ?INTERVAL1 and ?INTERVAL2     6048 ?INTERVAL2) means that the &%TimeIntervals ?INTERVAL1 and ?INTERVAL2
6028 have a &%TimeInterval as a common part.")     6049 have a &%TimeInterval as a common part.")
6029     6050
6030 (<=>     6051 (<=>
6031    (overlapsTemporally ?INTERVAL1 ?INTERVAL2)     6052    (overlapsTemporally ?INTERVAL1 ?INTERVAL2)
6032    (exists (?INTERVAL3)     6053    (exists (?INTERVAL3)
6033       (and     6054       (and
6034          (instance ?INTERVAL3 TimeInterval)     6055          (instance ?INTERVAL3 TimeInterval)
6035          (temporalPart ?INTERVAL3 ?INTERVAL1)     6056          (temporalPart ?INTERVAL3 ?INTERVAL1)
6036          (temporalPart ?INTERVAL3 ?INTERVAL2))))     6057          (temporalPart ?INTERVAL3 ?INTERVAL2))))
6037     6058
6038 (=>     6059 (=>
6039    (and     6060    (and
6040       (instance ?REL SpatialRelation)     6061       (instance ?REL SpatialRelation)
6041       (holds ?REL ?OBJ1 ?OBJ2))     6062       (holds ?REL ?OBJ1 ?OBJ2))
6042    (overlapsTemporally (WhenFn ?OBJ1) (WhenFn ?OBJ2)))     6063    (overlapsTemporally (WhenFn ?OBJ1) (WhenFn ?OBJ2)))
6043     6064
6044 (subrelation during temporalPart)     6065 (subrelation during temporalPart)
6045 (instance during TransitiveRelation)     6066 (instance during TransitiveRelation)
6046 (instance during IrreflexiveRelation)     6067 (instance during IrreflexiveRelation)
6047 (subrelation during overlapsTemporally)     6068 (subrelation during overlapsTemporally)
6048 (domain during 1 TimeInterval)     6069 (domain during 1 TimeInterval)
6049 (domain during 2 TimeInterval)     6070 (domain during 2 TimeInterval)
6050 (documentation during "(&%during ?INTERVAL1 ?INTERVAL2) means that     6071 (documentation during "(&%during ?INTERVAL1 ?INTERVAL2) means that
6051 ?INTERVAL1 starts after and ends before ?INTERVAL2.")     6072 ?INTERVAL1 starts after and ends before ?INTERVAL2.")
6052     6073
6053 (=>     6074 (=>
6054    (during ?INTERVAL1 ?INTERVAL2)     6075    (during ?INTERVAL1 ?INTERVAL2)
6055    (and     6076    (and
6056       (before (EndFn ?INTERVAL1) (EndFn ?INTERVAL2))     6077       (before (EndFn ?INTERVAL1) (EndFn ?INTERVAL2))
6057       (before (BeginFn ?INTERVAL2) (BeginFn ?INTERVAL1))))     6078       (before (BeginFn ?INTERVAL2) (BeginFn ?INTERVAL1))))
6058     6079
6059 (instance meetsTemporally BinaryPredicate)     6080 (instance meetsTemporally BinaryPredicate)
6060 (instance meetsTemporally TemporalRelation)     6081 (instance meetsTemporally TemporalRelation)
6061 (instance meetsTemporally AsymmetricRelation)     6082 (instance meetsTemporally AsymmetricRelation)
6062 (instance meetsTemporally IntransitiveRelation)     6083 (instance meetsTemporally IntransitiveRelation)
6063 (domain meetsTemporally 1 TimeInterval)     6084 (domain meetsTemporally 1 TimeInterval)
6064 (domain meetsTemporally 2 TimeInterval)     6085 (domain meetsTemporally 2 TimeInterval)
6065 (documentation meetsTemporally "(&%meetsTemporally ?INTERVAL1 ?INTERVAL2)     6086 (documentation meetsTemporally "(&%meetsTemporally ?INTERVAL1 ?INTERVAL2)
6066 means that the terminal point of the &%TimeInterval ?INTERVAL1 is the     6087 means that the terminal point of the &%TimeInterval ?INTERVAL1 is the
6067 initial point of the &%TimeInterval ?INTERVAL2.")     6088 initial point of the &%TimeInterval ?INTERVAL2.")
6068     6089
6069 (<=>     6090 (<=>
6070    (meetsTemporally ?INTERVAL1 ?INTERVAL2)     6091    (meetsTemporally ?INTERVAL1 ?INTERVAL2)
6071    (equal     6092    (equal
6072       (EndFn ?INTERVAL1)     6093       (EndFn ?INTERVAL1)
6073       (BeginFn ?INTERVAL2)))     6094       (BeginFn ?INTERVAL2)))
6074     6095
6075 (=>     6096 (=>
6076   (and     6097   (and
6077     (equal     6098     (equal
6078       (BeginFn ?INTERVAL1)     6099       (BeginFn ?INTERVAL1)
6079       (BeginFn ?INTERVAL2))     6100       (BeginFn ?INTERVAL2))
6080     (equal     6101     (equal
6081       (EndFn ?INTERVAL1)     6102       (EndFn ?INTERVAL1)
6082       (EndFn ?INTERVAL2)))     6103       (EndFn ?INTERVAL2)))
6083     (equal ?INTERVAL1 ?INTERVAL2))     6104     (equal ?INTERVAL1 ?INTERVAL2))
6084     6105
6085 (instance earlier BinaryPredicate)     6106 (instance earlier BinaryPredicate)
6086 (instance earlier TemporalRelation)     6107 (instance earlier TemporalRelation)
6087 (instance earlier TransitiveRelation)     6108 (instance earlier TransitiveRelation)
6088 (instance earlier IrreflexiveRelation)     6109 (instance earlier IrreflexiveRelation)
6089 (domain earlier 1 TimeInterval)     6110 (domain earlier 1 TimeInterval)
6090 (domain earlier 2 TimeInterval)     6111 (domain earlier 2 TimeInterval)
6091 (documentation earlier "(&%earlier ?INTERVAL1 ?INTERVAL2) means that     6112 (documentation earlier "(&%earlier ?INTERVAL1 ?INTERVAL2) means that
6092 the &%TimeInterval ?INTERVAL1 ends before the &%TimeInterval ?INTERVAL2     6113 the &%TimeInterval ?INTERVAL1 ends before the &%TimeInterval ?INTERVAL2
6093 begins.")     6114 begins.")
6094     6115
6095 (<=>     6116 (<=>
6096     (earlier ?INTERVAL1 ?INTERVAL2)     6117     (earlier ?INTERVAL1 ?INTERVAL2)
6097     (before (EndFn ?INTERVAL1) (BeginFn ?INTERVAL2)))     6118     (before (EndFn ?INTERVAL1) (BeginFn ?INTERVAL2)))
6098     6119
6099 (instance cooccur BinaryPredicate)     6120 (instance cooccur BinaryPredicate)
6100 (instance cooccur TemporalRelation)     6121 (instance cooccur TemporalRelation)
6101 (instance cooccur EquivalenceRelation)     6122 (instance cooccur EquivalenceRelation)
6102 (domain cooccur 1 Physical)     6123 (domain cooccur 1 Physical)
6103 (domain cooccur 2 Physical)     6124 (domain cooccur 2 Physical)
6104 (documentation cooccur "(&%cooccur ?THING1 ?THING2) means that the     6125 (documentation cooccur "(&%cooccur ?THING1 ?THING2) means that the
6105 &%Object or &%Process ?THING1 occurs at the same time as, together with,     6126 &%Object or &%Process ?THING1 occurs at the same time as, together with,
6106 or jointly with the &%Object or &%Process ?THING2. This covers the     6127 or jointly with the &%Object or &%Process ?THING2. This covers the
6107 following temporal relations: is co-incident with, is concurrent with,     6128 following temporal relations: is co-incident with, is concurrent with,
6108 is contemporaneous with, and is concomitant with.")     6129 is contemporaneous with, and is concomitant with.")
6109     6130
6110 (<=>     6131 (<=>
6111    (cooccur ?PHYS1 ?PHYS2)     6132    (cooccur ?PHYS1 ?PHYS2)
6112    (equal (WhenFn ?PHYS1) (WhenFn ?PHYS2)))     6133    (equal (WhenFn ?PHYS1) (WhenFn ?PHYS2)))
6113     6134
6114 ;; The following functions generate &%TimeIntervals.     6135 ;; The following functions generate &%TimeIntervals.
6115     6136
6116 (instance TimeIntervalFn BinaryFunction)     6137 (instance TimeIntervalFn BinaryFunction)
6117 (instance TimeIntervalFn TemporalRelation)     6138 (instance TimeIntervalFn TemporalRelation)
6118 (domain TimeIntervalFn 1 TimePoint)     6139 (domain TimeIntervalFn 1 TimePoint)
6119 (domain TimeIntervalFn 2 TimePoint)     6140 (domain TimeIntervalFn 2 TimePoint)
6120 (range TimeIntervalFn TimeInterval)     6141 (range TimeIntervalFn TimeInterval)
6121 (documentation TimeIntervalFn "A &%BinaryFunction that takes two &%TimePoints     6142 (documentation TimeIntervalFn "A &%BinaryFunction that takes two &%TimePoints
6122 as arguments and returns the &%TimeInterval defined by these two &%TimePoints.     6143 as arguments and returns the &%TimeInterval defined by these two &%TimePoints.
6123 Note that the first &%TimePoint must occur earlier than the second &%TimePoint.")     6144 Note that the first &%TimePoint must occur earlier than the second &%TimePoint.")
6124     6145
6125 (=>     6146 (=>
6126    (and     6147    (and
6127       (instance ?POINT1 TimePoint)     6148       (instance ?POINT1 TimePoint)
6128       (instance ?POINT2 TimePoint)     6149       (instance ?POINT2 TimePoint)
6129       (instance ?INTERVAL TimeInterval)     6150       (instance ?INTERVAL TimeInterval)
6130       (equal (TimeIntervalFn ?POINT1 ?POINT2) ?INTERVAL))     6151       (equal (TimeIntervalFn ?POINT1 ?POINT2) ?INTERVAL))
6131    (and     6152    (and
6132       (equal (BeginFn ?INTERVAL) ?POINT1)     6153       (equal (BeginFn ?INTERVAL) ?POINT1)
6133       (equal (EndFn ?INTERVAL) ?POINT2)))     6154       (equal (EndFn ?INTERVAL) ?POINT2)))
6134     6155
6135 (=>     6156 (=>
6136    (and     6157    (and
6137       (instance ?POINT1 TimePoint)     6158       (instance ?POINT1 TimePoint)
6138       (instance ?POINT2 TimePoint)     6159       (instance ?POINT2 TimePoint)
6139       (instance ?INTERVAL TimeInterval)     6160       (instance ?INTERVAL TimeInterval)
6140       (equal (TimeIntervalFn ?POINT1 ?POINT2) ?INTERVAL))     6161       (equal (TimeIntervalFn ?POINT1 ?POINT2) ?INTERVAL))
6141    (forall (?POINT)     6162    (forall (?POINT)
6142       (<=>     6163       (<=>
6143          (temporallyBetweenOrEqual ?POINT1 ?POINT ?POINT2)     6164          (temporallyBetweenOrEqual ?POINT1 ?POINT ?POINT2)
6144          (temporalPart ?POINT ?INTERVAL))))     6165          (temporalPart ?POINT ?INTERVAL))))
6145     6166
6146 (instance RecurrentTimeIntervalFn TemporalRelation)     6167 (instance RecurrentTimeIntervalFn TemporalRelation)
6147 (instance RecurrentTimeIntervalFn BinaryFunction)     6168 (instance RecurrentTimeIntervalFn BinaryFunction)
6148 (domainSubclass RecurrentTimeIntervalFn 1 TimeInterval)     6169 (domainSubclass RecurrentTimeIntervalFn 1 TimeInterval)
6149 (domainSubclass RecurrentTimeIntervalFn 2 TimeInterval)     6170 (domainSubclass RecurrentTimeIntervalFn 2 TimeInterval)
6150 (rangeSubclass RecurrentTimeIntervalFn TimeInterval)     6171 (rangeSubclass RecurrentTimeIntervalFn TimeInterval)
6151 (documentation RecurrentTimeIntervalFn "A function that is useful for generating     6172 (documentation RecurrentTimeIntervalFn "A function that is useful for generating
6152 recurring time intervals. For example, (&%RecurrentTimeIntervalFn (&%HourFn 6 &%Day)     6173 recurring time intervals. For example, (&%RecurrentTimeIntervalFn (&%HourFn 6 &%Day)
6153 (&%HourFn 12 &%Day)) returns the &%Class of &%TimeIntervals beginning at 6 in the     6174 (&%HourFn 12 &%Day)) returns the &%Class of &%TimeIntervals beginning at 6 in the
6154 morning and ending at 12 noon. For another example, (&%RecurrentTimeInterval     6175 morning and ending at 12 noon. For another example, (&%RecurrentTimeInterval
6155 &%Saturday &%Sunday) returns the &%Class of all weekends. For still another example,     6176 &%Saturday &%Sunday) returns the &%Class of all weekends. For still another example,
6156 (&%RecurrentTimeInterval &%June &%August) returns the &%Class containing the academic     6177 (&%RecurrentTimeInterval &%June &%August) returns the &%Class containing the academic
6157 summer period.")     6178 summer period.")
6158     6179
6159 (=>     6180 (=>
6160    (instance ?INTERVAL (RecurrentTimeIntervalFn ?TIMECLASS1 ?TIMECLASS2))     6181    (instance ?INTERVAL (RecurrentTimeIntervalFn ?TIMECLASS1 ?TIMECLASS2))
6161    (exists (?TIME1 ?TIME2)     6182    (exists (?TIME1 ?TIME2)
6162       (and     6183       (and
6163          (instance ?TIME1 ?TIMECLASS1)     6184          (instance ?TIME1 ?TIMECLASS1)
6164          (instance ?TIME2 ?TIMECLASS2)     6185          (instance ?TIME2 ?TIMECLASS2)
6165          (starts ?TIME1 ?INTERVAL)     6186          (starts ?TIME1 ?INTERVAL)
6166          (finishes ?TIME2 ?INTERVAL))))     6187          (finishes ?TIME2 ?INTERVAL))))
6167     6188
6168 (instance WhenFn TemporalRelation)     6189 (instance WhenFn TemporalRelation)
6169 (instance WhenFn UnaryFunction)     6190 (instance WhenFn UnaryFunction)
6170 (instance WhenFn TotalValuedRelation)     6191 (instance WhenFn TotalValuedRelation)
6171 (domain WhenFn 1 Physical)     6192 (domain WhenFn 1 Physical)
6172 (range WhenFn TimeInterval)     6193 (range WhenFn TimeInterval)
6173 (documentation WhenFn "A &%UnaryFunction that maps an &%Object or     6194 (documentation WhenFn "A &%UnaryFunction that maps an &%Object or
6174 &%Process to the exact &%TimeInterval during which it exists. Note     6195 &%Process to the exact &%TimeInterval during which it exists. Note
6175 that, for every &%TimePoint ?TIME outside of the &%TimeInterval     6196 that, for every &%TimePoint ?TIME outside of the &%TimeInterval
6176 (WhenFn ?THING), (time ?THING ?TIME) does not hold.")     6197 (WhenFn ?THING), (time ?THING ?TIME) does not hold.")
6177     6198
6178 (instance PastFn TemporalRelation)     6199 (instance PastFn TemporalRelation)
6179 (instance PastFn UnaryFunction)     6200 (instance PastFn UnaryFunction)
6180 (instance PastFn TotalValuedRelation)     6201 (instance PastFn TotalValuedRelation)
6181 (domain PastFn 1 TimePosition)     6202 (domain PastFn 1 TimePosition)
6182 (range PastFn TimeInterval)     6203 (range PastFn TimeInterval)
6183 (documentation PastFn "A &%UnaryFunction that maps a &%TimePosition     6204 (documentation PastFn "A &%UnaryFunction that maps a &%TimePosition
6184 to the &%TimeInterval that meets it and that begins at     6205 to the &%TimeInterval that meets it and that begins at
6185 &%NegativeInfinity.")     6206 &%NegativeInfinity.")
6186     6207
6187 (=>     6208 (=>
6188    (instance ?INTERVAL TimeInterval)     6209    (instance ?INTERVAL TimeInterval)
6189    (meetsTemporally (PastFn ?INTERVAL) ?INTERVAL))     6210    (meetsTemporally (PastFn ?INTERVAL) ?INTERVAL))
6190     6211
6191 (=>     6212 (=>
6192    (instance ?INTERVAL TimeInterval)     6213    (instance ?INTERVAL TimeInterval)
6193    (equal (PastFn ?INTERVAL) (TimeIntervalFn NegativeInfinity (BeginFn ?INTERVAL))))     6214    (equal (PastFn ?INTERVAL) (TimeIntervalFn NegativeInfinity (BeginFn ?INTERVAL))))
6194     6215
6195 (instance ImmediatePastFn TemporalRelation)     6216 (instance ImmediatePastFn TemporalRelation)
6196 (instance ImmediatePastFn UnaryFunction)     6217 (instance ImmediatePastFn UnaryFunction)
6197 (instance ImmediatePastFn TotalValuedRelation)     6218 (instance ImmediatePastFn TotalValuedRelation)
6198 (domain ImmediatePastFn 1 TimePosition)     6219 (domain ImmediatePastFn 1 TimePosition)
6199 (range ImmediatePastFn TimeInterval)     6220 (range ImmediatePastFn TimeInterval)
6200 (documentation ImmediatePastFn "A &%UnaryFunction that maps a     6221 (documentation ImmediatePastFn "A &%UnaryFunction that maps a
6201 &%TimePosition to a short, indeterminate &%TimeInterval that     6222 &%TimePosition to a short, indeterminate &%TimeInterval that
6202 immediately precedes the &%TimePosition.")     6223 immediately precedes the &%TimePosition.")
6203     6224
6204 (=>     6225 (=>
6205    (instance ?INTERVAL TimeInterval)     6226    (instance ?INTERVAL TimeInterval)
6206    (finishes (ImmediatePastFn ?INTERVAL) (PastFn ?INTERVAL)))     6227    (finishes (ImmediatePastFn ?INTERVAL) (PastFn ?INTERVAL)))
6207     6228
6208 (instance FutureFn TemporalRelation)     6229 (instance FutureFn TemporalRelation)
6209 (instance FutureFn UnaryFunction)     6230 (instance FutureFn UnaryFunction)
6210 (instance FutureFn TotalValuedRelation)     6231 (instance FutureFn TotalValuedRelation)
6211 (domain FutureFn 1 TimePosition)     6232 (domain FutureFn 1 TimePosition)
6212 (range FutureFn TimeInterval)     6233 (range FutureFn TimeInterval)
6213 (documentation FutureFn "A &%UnaryFunction that maps a &%TimePosition     6234 (documentation FutureFn "A &%UnaryFunction that maps a &%TimePosition
6214 to the &%TimeInterval which it meets and which ends at     6235 to the &%TimeInterval which it meets and which ends at
6215 &%PositiveInfinity.")     6236 &%PositiveInfinity.")
6216     6237
6217 (=>     6238 (=>
6218    (instance ?INTERVAL TimeInterval)     6239    (instance ?INTERVAL TimeInterval)
6219    (meetsTemporally ?INTERVAL (FutureFn ?INTERVAL)))     6240    (meetsTemporally ?INTERVAL (FutureFn ?INTERVAL)))
6220     6241
6221 (=>     6242 (=>
6222    (instance ?INTERVAL TimeInterval)     6243    (instance ?INTERVAL TimeInterval)
6223    (equal (FutureFn ?INTERVAL) (TimeIntervalFn (EndFn ?INTERVAL) PositiveInfinity)))     6244    (equal (FutureFn ?INTERVAL) (TimeIntervalFn (EndFn ?INTERVAL) PositiveInfinity)))
6224     6245
6225 (instance ImmediateFutureFn TemporalRelation)     6246 (instance ImmediateFutureFn TemporalRelation)
6226 (instance ImmediateFutureFn UnaryFunction)     6247 (instance ImmediateFutureFn UnaryFunction)
6227 (instance ImmediateFutureFn TotalValuedRelation)     6248 (instance ImmediateFutureFn TotalValuedRelation)
6228 (domain ImmediateFutureFn 1 TimePosition)     6249 (domain ImmediateFutureFn 1 TimePosition)
6229 (range ImmediateFutureFn TimeInterval)     6250 (range ImmediateFutureFn TimeInterval)
6230 (documentation ImmediateFutureFn "A &%UnaryFunction that maps a     6251 (documentation ImmediateFutureFn "A &%UnaryFunction that maps a
6231 &%TimePosition to a short, indeterminate &%TimeInterval that     6252 &%TimePosition to a short, indeterminate &%TimeInterval that
6232 immediately follows the &%TimePosition.")     6253 immediately follows the &%TimePosition.")
6233     6254
6234 (=>     6255 (=>
6235    (instance ?INTERVAL TimeInterval)     6256    (instance ?INTERVAL TimeInterval)
6236    (starts (ImmediateFutureFn ?INTERVAL) (FutureFn ?INTERVAL)))     6257    (starts (ImmediateFutureFn ?INTERVAL) (FutureFn ?INTERVAL)))
6237     6258
6238 ;; The following definitions and axioms (down to the next section break)     6259 ;; The following definitions and axioms (down to the next section break)
6239 ;; cover the content in the Simple-Time ontology on the Ontolingua server.     6260 ;; cover the content in the Simple-Time ontology on the Ontolingua server.
6240     6261
6241 (instance date BinaryPredicate)     6262 (instance date BinaryPredicate)
6242 (instance date SingleValuedRelation)     6263 (instance date SingleValuedRelation)
6243 (instance date AsymmetricRelation)     6264 (instance date AsymmetricRelation)
6244 (domain date 1 Physical)     6265 (domain date 1 Physical)
6245 (domain date 2 Day)     6266 (domain date 2 Day)
6246 (subrelation date time)     6267 (subrelation date time)
6247 (documentation date "A &%BinaryPredicate that specifies a     6268 (documentation date "A &%BinaryPredicate that specifies a
6248 &%TimePosition in absolute calendar time, at the resolution     6269 &%TimePosition in absolute calendar time, at the resolution
6249 of one day, for a particular &%Object or &%Process.")     6270 of one day, for a particular &%Object or &%Process.")
6250     6271
6251 (instance YearFn TemporalRelation)     6272 (instance YearFn TemporalRelation)
6252 (instance YearFn UnaryFunction)     6273 (instance YearFn UnaryFunction)
6253 (domain YearFn 1 Integer)     6274 (domain YearFn 1 Integer)
6254 (rangeSubclass YearFn Year)     6275 (rangeSubclass YearFn Year)
6255 (documentation YearFn "A &%UnaryFunction that maps a number to the corresponding calendar     6276 (documentation YearFn "A &%UnaryFunction that maps a number to the corresponding calendar
6256 &%Year. For example, (&%YearFn 1912) returns the &%Class containing just one instance,     6277 &%Year. For example, (&%YearFn 1912) returns the &%Class containing just one instance,
6257 the year of 1912. As might be expected, positive integers return years in the Common Era,     6278 the year of 1912. As might be expected, positive integers return years in the Common Era,
6258 while negative integers return years in B.C.E. Note that this function returns a &%Class     6279 while negative integers return years in B.C.E. Note that this function returns a &%Class
6259 as a value. The reason for this is that the related functions, viz. &%MonthFn, &%DayFn,     6280 as a value. The reason for this is that the related functions, viz. &%MonthFn, &%DayFn,
6260 &%HourFn, &%MinuteFn, and &%SecondFn, are used to generate both specific &%TimeIntervals     6281 &%HourFn, &%MinuteFn, and &%SecondFn, are used to generate both specific &%TimeIntervals
6261 and recurrent intervals, and the only way to do this is to make the domains and ranges of     6282 and recurrent intervals, and the only way to do this is to make the domains and ranges of
6262 these functions classes rather than individuals.")     6283 these functions classes rather than individuals.")
6263     6284
6264 (instance MonthFn TemporalRelation)     6285 (instance MonthFn TemporalRelation)
6265 (instance MonthFn BinaryFunction)     6286 (instance MonthFn BinaryFunction)
6266 (domainSubclass MonthFn 1 Month)     6287 (domainSubclass MonthFn 1 Month)
6267 (domainSubclass MonthFn 2 Year)     6288 (domainSubclass MonthFn 2 Year)
6268 (rangeSubclass MonthFn Month)     6289 (rangeSubclass MonthFn Month)
6269 (documentation MonthFn "A &%BinaryFunction that maps a subclass of &%Month and a     6290 (documentation MonthFn "A &%BinaryFunction that maps a subclass of &%Month and a
6270 subclass of &%Year to the class containing the &%Months corresponding to thos &%Years.     6291 subclass of &%Year to the class containing the &%Months corresponding to thos &%Years.
6271 For example (&%MonthFn &%January (&%YearFn 1912)) is the class containing the eighth     6292 For example (&%MonthFn &%January (&%YearFn 1912)) is the class containing the eighth
6272 &%Month, i.e. August, of the &%Year 1912. For another example, (&%MonthFn &%August     6293 &%Month, i.e. August, of the &%Year 1912. For another example, (&%MonthFn &%August
6273 &%Year) is equal to &%August, the class of all months of August. Note that this function     6294 &%Year) is equal to &%August, the class of all months of August. Note that this function
6274 returns a &%Class as a value. The reason for this is that the related functions, viz.     6295 returns a &%Class as a value. The reason for this is that the related functions, viz.
6275 DayFn, HourFn, MinuteFn, and SecondFn, are used to generate both specific &%TimeIntervals     6296 DayFn, HourFn, MinuteFn, and SecondFn, are used to generate both specific &%TimeIntervals
6276 and recurrent intervals, and the only way to do this is to make the domains and ranges of     6297 and recurrent intervals, and the only way to do this is to make the domains and ranges of
6277 these functions classes rather than individuals.")     6298 these functions classes rather than individuals.")
6278     6299
6279 (instance DayFn TemporalRelation)     6300 (instance DayFn TemporalRelation)
6280 (instance DayFn BinaryFunction)     6301 (instance DayFn BinaryFunction)
6281 (domain DayFn 1 PositiveRealNumber)     6302 (domain DayFn 1 PositiveRealNumber)
6282 (domainSubclass DayFn 2 Month)     6303 (domainSubclass DayFn 2 Month)
6283 (rangeSubclass DayFn Day)     6304 (rangeSubclass DayFn Day)
6284 (documentation DayFn "A &%BinaryFunction that assigns a &%PositiveRealNumber and     6305 (documentation DayFn "A &%BinaryFunction that assigns a &%PositiveRealNumber and
6285 a subclass of &%Months to the &%Days within each &%Month corresponding to that     6306 a subclass of &%Months to the &%Days within each &%Month corresponding to that
6286 &%PositiveRealNumber. For example, (&%DayFn 16 &%August) is the &%Class of all     6307 &%PositiveRealNumber. For example, (&%DayFn 16 &%August) is the &%Class of all
6287 sixteenth days of August. For another example, (&%DayFn 9 &%Month) would return     6308 sixteenth days of August. For another example, (&%DayFn 9 &%Month) would return
6288 the class of all ninth days of any month. For still another example, (&%DayFn 18     6309 the class of all ninth days of any month. For still another example, (&%DayFn 18
6289 (&%MonthFn 8 (YearFn 1912))) denotes the 18th day of August 1912.")     6310 (&%MonthFn 8 (YearFn 1912))) denotes the 18th day of August 1912.")
6290     6311
6291 (=>     6312 (=>
6292    (instance ?DAY (DayFn ?NUMBER ?MONTH))     6313    (instance ?DAY (DayFn ?NUMBER ?MONTH))
6293    (lessThanOrEqualTo ?NUMBER 31))     6314    (lessThanOrEqualTo ?NUMBER 31))
6294     6315
6295 (=>     6316 (=>
6296    (and     6317    (and
6297       (instance ?DAY1 (DayFn ?NUMBER1 ?MONTH))     6318       (instance ?DAY1 (DayFn ?NUMBER1 ?MONTH))
6298       (instance ?DAY2 (DayFn ?NUMBER2 ?MONTH))     6319       (instance ?DAY2 (DayFn ?NUMBER2 ?MONTH))
6299       (equal (SubtractionFn ?NUMBER2 ?NUMBER1) 1))     6320       (equal (SubtractionFn ?NUMBER2 ?NUMBER1) 1))
6300    (meetsTemporally ?DAY1 ?DAY2))     6321    (meetsTemporally ?DAY1 ?DAY2))
6301     6322
6302 (instance HourFn TemporalRelation)     6323 (instance HourFn TemporalRelation)
6303 (instance HourFn BinaryFunction)     6324 (instance HourFn BinaryFunction)
6304 (domain HourFn 1 PositiveRealNumber)     6325 (domain HourFn 1 PositiveRealNumber)
6305 (domainSubclass HourFn 2 Day)     6326 (domainSubclass HourFn 2 Day)
6306 (rangeSubclass HourFn Hour)     6327 (rangeSubclass HourFn Hour)
6307 (documentation HourFn "A &%BinaryFunction that assigns a &%PositiveRealNumber and     6328 (documentation HourFn "A &%BinaryFunction that assigns a &%PositiveRealNumber and
6308 a subclass of &%Days to the &%Hours within each &%Day corresponding to that     6329 a subclass of &%Days to the &%Hours within each &%Day corresponding to that
6309 &%PositiveRealNumber. For example, (&%HourFn 12 &%Thursday) is the &%Class of all     6330 &%PositiveRealNumber. For example, (&%HourFn 12 &%Thursday) is the &%Class of all
6310 instances of noon Thursday. For another example, (&%HourFn 24 &%Day) would return     6331 instances of noon Thursday. For another example, (&%HourFn 24 &%Day) would return
6311 the class of all instances of midnight. For still another example, (&%HourFn 14     6332 the class of all instances of midnight. For still another example, (&%HourFn 14
6312 (&%DayFn 18 (&%MonthFn 8 (YearFn 1912)))) denotes 2 PM on the 18th day of August     6333 (&%DayFn 18 (&%MonthFn 8 (YearFn 1912)))) denotes 2 PM on the 18th day of August
6313 1912.")     6334 1912.")
6314     6335
6315 (=>     6336 (=>
6316    (instance ?HOUR (HourFn ?NUMBER ?DAY))     6337    (instance ?HOUR (HourFn ?NUMBER ?DAY))
6317    (lessThan ?NUMBER 24))     6338    (lessThan ?NUMBER 24))
6318     6339
6319 (=>     6340 (=>
6320    (and     6341    (and
6321       (instance ?HOUR1 (HourFn ?NUMBER1 ?DAY))     6342       (instance ?HOUR1 (HourFn ?NUMBER1 ?DAY))
6322       (instance ?HOUR2 (HourFn ?NUMBER2 ?DAY))     6343       (instance ?HOUR2 (HourFn ?NUMBER2 ?DAY))
6323       (equal (SubtractionFn ?NUMBER2 ?NUMBER1) 1))     6344       (equal (SubtractionFn ?NUMBER2 ?NUMBER1) 1))
6324    (meetsTemporally ?HOUR1 ?HOUR2))     6345    (meetsTemporally ?HOUR1 ?HOUR2))
6325     6346
6326 (instance MinuteFn TemporalRelation)     6347 (instance MinuteFn TemporalRelation)
6327 (instance MinuteFn BinaryFunction)     6348 (instance MinuteFn BinaryFunction)
6328 (domain MinuteFn 1 PositiveRealNumber)     6349 (domain MinuteFn 1 PositiveRealNumber)
6329 (domainSubclass MinuteFn 2 Hour)     6350 (domainSubclass MinuteFn 2 Hour)
6330 (rangeSubclass MinuteFn Minute)     6351 (rangeSubclass MinuteFn Minute)
6331 (documentation MinuteFn "A &%BinaryFunction that assigns a &%PositiveRealNumber and     6352 (documentation MinuteFn "A &%BinaryFunction that assigns a &%PositiveRealNumber and
6332 a subclass of &%Hours to the &%Minutes within each &%Hour corresponding to that     6353 a subclass of &%Hours to the &%Minutes within each &%Hour corresponding to that
6333 &%PositiveRealNumber. For example, (&%MinuteFn 30 (&%HourFn 17 &%Day)) is the &%Class     6354 &%PositiveRealNumber. For example, (&%MinuteFn 30 (&%HourFn 17 &%Day)) is the &%Class
6334 of all 5:30's in the afternoon. For another example, (&%MinuteFn 15 &%Hour) would return     6355 of all 5:30's in the afternoon. For another example, (&%MinuteFn 15 &%Hour) would return
6335 the class of all instances of quarter past the hour. For still another example,     6356 the class of all instances of quarter past the hour. For still another example,
6336 (&%MinuteFn 15 (&%HourFn 14 (&%DayFn 18 (&%MonthFn 8 (YearFn 1912))))) denotes 15     6357 (&%MinuteFn 15 (&%HourFn 14 (&%DayFn 18 (&%MonthFn 8 (YearFn 1912))))) denotes 15
6337 minutes after 2 PM on the 18th day of August 1912.")     6358 minutes after 2 PM on the 18th day of August 1912.")
6338     6359
6339 (=>     6360 (=>
6340    (instance ?MINUTE (MinuteFn ?NUMBER ?HOUR))     6361    (instance ?MINUTE (MinuteFn ?NUMBER ?HOUR))
6341    (lessThan ?NUMBER 60)) &