¦¨¥ß (holds)
(holds P N1 ... NK) is true just in case
the tuple of objects denoted by N1,..., NK is an element of
the Relation P.
Ontology
SUMO / STRUCTURAL-ONTOLOGYClass(es)
Coordinate term(s)
«ü©w¨ç¼Æ
³Ì¤j¤½¬ù¼Æ¨ç¼Æ
³Ì¤p¤½¿¼Æ¨ç¼Æ
§Ç¦C¨ç¼Æ
¥Ù¬ÞÄÝ©Ê
µL¥æ¶°¤À¸Ñ
µL¥æ¶°Ãö«Y
½aºÉªºÄÝ©Ê
½aºÉªº¤À¸Ñ
¤À³Î
Type restrictions
holds(Ãö«Y)
Axioms (34)
If rel1 ¬O rel2 ªº ˧Ç, then for all inst1,inst2 holds: rel1(inst1,inst2) (¤£) ¦¨¥ßs if and only if rel2(inst2,inst1) (¤£) ¦¨¥ßs.
(=>
(inverse ?REL1 ?REL2)
(forall
(?INST1 ?INST2)
(<=>
(holds ?REL1 ?INST1 ?INST2)
(holds ?REL2 ?INST2 ?INST1))))
If rel1 ¬O rel2 ªº ¦¸Ãö«Y and rel1() (¤£) ¦¨¥ßs, then rel2() (¤£) ¦¨¥ßs.
(=>
(and
(subrelation ?REL1 ?REL2)
(holds ?REL1 @ROW))
(holds ?REL2 @ROW))
If rel1 µ¥©ó rel2, then for all holds: rel1() (¤£) ¦¨¥ßs if and only if rel2() (¤£) ¦¨¥ßs.
(=>
(equal ?REL1 ?REL2)
(forall
(@ROW)
(<=>
(holds ?REL1 @ROW)
(holds ?REL2 @ROW))))
(=>
(equal ?OBJ1 ?OBJ2)
(=>
(and
(equal
?OBJ1
(ListOrderFn
(ListFn @ROW1)
?NUMBER))
(equal
?OBJ2
(ListOrderFn
(ListFn @ROW2)
?NUMBER))
(equal
(ListFn @ROW1)
(ListFn @ROW2)))
(<=>
(holds @ROW1)
(holds @ROW2))))
If µL¥æ¶°Ãö«Y() holds and rel1 ¬O "()" ªº ¤@ ¦¨û and rel2 ¬O "()" ªº ¤@ ¦¨û and rel1 µ¥©ó rel2 and rel1() (¤£) ¦¨¥ßs, then rel2() not(¤£) ¦¨¥ß.
(=>
(and
(disjointRelation @ROW1)
(inList
?REL1
(ListFn @ROW1))
(inList
?REL2
(ListFn @ROW1))
(not
(equal ?REL1 ?REL2))
(holds ?REL1 @ROW2))
(not
(holds ?REL2 @ROW2)))
If rel(,inst) (¤£) ¦¨¥ßs and rel ¬O ¨ç¼Æ ªº ¹ê¨Ò, then "rel()" µ¥©ó inst.
(=>
(and
(holds ?REL @ROW ?INST)
(instance ?REL Function))
(equal
(AssignmentFn ?REL @ROW)
?INST))
If rel ¬O Ãö«Y ªº ¹ê¨Ò, then rel() (¤£) ¦¨¥ßs if and only if rel() holds.
(=>
(instance ?REL Relation)
(<=>
(holds ?REL @ROW)
(?REL @ROW)))
rel ¬O ³æÈÃö«Y ªº ¹ê¨Ò if and only if for all ,item1,item2 holds: if rel(,item1) (¤£) ¦¨¥ßs and rel(,item2) (¤£) ¦¨¥ßs, then item1 µ¥©ó item2.
(<=>
(instance ?REL SingleValuedRelation)
(forall
(@ROW ?ITEM1 ?ITEM2)
(=>
(and
(holds ?REL @ROW ?ITEM1)
(holds ?REL @ROW ?ITEM2))
(equal ?ITEM1 ?ITEM2))))
rel ¬O ¥þÈÃö«Y ªº ¹ê¨Ò if and only if there exists valence so that rel ¬O Ãö«Y ªº ¹ê¨Ò and rel %&¦³ ½×¤¸(s) valence and - if for all number,element,class holds: if number ¤p©ó valence and rel ªº ½×¤¸ number ¬O class ªº ¹ê¨Ò and element µ¥©ó ""()" ªº ²Ä¤G ¤¸¯À", then element ¬O class ªº ¹ê¨Ò,
- then there exists item so that rel(,item) (¤£) ¦¨¥ßs
.
(<=>
(instance ?REL TotalValuedRelation)
(exists
(?VALENCE)
(and
(instance ?REL Relation)
(valence ?REL ?VALENCE)
(=>
(forall
(?NUMBER ?ELEMENT ?CLASS)
(=>
(and
(lessThan ?NUMBER ?VALENCE)
(domain ?REL ?NUMBER ?CLASS)
(equal
?ELEMENT
(ListOrderFn
(ListFn @ROW)
?NUMBER)))
(instance ?ELEMENT ?CLASS)))
(exists
(?ITEM)
(holds ?REL @ROW ?ITEM))))))
If rel ¬O ¤G¤¸Ãö«Y ªº ¹ê¨Ò, then there don't exist item1,item2,item3, so that rel(item1,item2,item3,) (¤£) ¦¨¥ßs.
(=>
(instance ?REL BinaryRelation)
(not
(exists
(?ITEM1 ?ITEM2 ?ITEM3 @ROW)
(holds ?REL ?ITEM1 ?ITEM2 ?ITEM3 @ROW))))
(=>
(instance ?REL ReflexiveRelation)
(=>
(or
(holds ?REL ?INST1 ?INST2)
(holds ?REL ?INST2 ?INST1))
(holds ?REL ?INST1 ?INST1)))
If rel ¬O «D¤Ï¨Ãö«Y ªº ¹ê¨Ò, then for all inst holds: rel(inst,inst) not(¤£) ¦¨¥ß.
(=>
(instance ?REL IrreflexiveRelation)
(forall
(?INST)
(not
(holds ?REL ?INST ?INST))))
- if rel ¬O ¹ïºÙÃö«Y ªº ¹ê¨Ò,
- then for all inst1,inst2 holds: if rel(inst1,inst2) (¤£) ¦¨¥ßs, then rel(inst2,inst1) (¤£) ¦¨¥ßs
.
(=>
(instance ?REL SymmetricRelation)
(forall
(?INST1 ?INST2)
(=>
(holds ?REL ?INST1 ?INST2)
(holds ?REL ?INST2 ?INST1))))
- if rel ¬O ¤Ï¹ïºÙÃö«Y ªº ¹ê¨Ò,
- then for all inst1,inst2 holds: if rel(inst1,inst2) (¤£) ¦¨¥ßs and rel(inst2,inst1) (¤£) ¦¨¥ßs, then inst1 µ¥©ó inst2
.
(=>
(instance ?REL AntisymmetricRelation)
(forall
(?INST1 ?INST2)
(=>
(and
(holds ?REL ?INST1 ?INST2)
(holds ?REL ?INST2 ?INST1))
(equal ?INST1 ?INST2))))
If rel ¬O ¤T¨¤Ãö«Y ªº ¹ê¨Ò, then for all inst1,inst2 holds: rel(inst1,inst2) (¤£) ¦¨¥ßs or inst1 µ¥©ó inst2 or rel(inst2,inst1) (¤£) ¦¨¥ßs.
(=>
(instance ?REL TrichotomizingRelation)
(forall
(?INST1 ?INST2)
(or
(holds ?REL ?INST1 ?INST2)
(equal ?INST1 ?INST2)
(holds ?REL ?INST2 ?INST1))))
- if rel ¬O ¥i»¼Ãö«Y ªº ¹ê¨Ò,
- then for all inst1,inst2,inst3 holds: if rel(inst1,inst2) (¤£) ¦¨¥ßs and rel(inst2,inst3) (¤£) ¦¨¥ßs, then rel(inst1,inst3) (¤£) ¦¨¥ßs
.
(=>
(instance ?REL TransitiveRelation)
(forall
(?INST1 ?INST2 ?INST3)
(=>
(and
(holds ?REL ?INST1 ?INST2)
(holds ?REL ?INST2 ?INST3))
(holds ?REL ?INST1 ?INST3))))
- if rel ¬O «D¥i»¼Ãö«Y ªº ¹ê¨Ò,
- then for all inst1,inst2,inst3 holds: if rel(inst1,inst2) (¤£) ¦¨¥ßs and rel(inst2,inst3) (¤£) ¦¨¥ßs, then rel(inst1,inst3) not(¤£) ¦¨¥ß
.
(=>
(instance ?REL IntransitiveRelation)
(forall
(?INST1 ?INST2 ?INST3)
(=>
(and
(holds ?REL ?INST1 ?INST2)
(holds ?REL ?INST2 ?INST3))
(not
(holds ?REL ?INST1 ?INST3)))))
If rel ¬O ¥þ§ÇÃö«Y ªº ¹ê¨Ò, then for all inst1,inst2 holds: rel(inst1,inst2) (¤£) ¦¨¥ßs or rel(inst2,inst1) (¤£) ¦¨¥ßs.
(=>
(instance ?REL TotalOrderingRelation)
(forall
(?INST1 ?INST2)
(or
(holds ?REL ?INST1 ?INST2)
(holds ?REL ?INST2 ?INST1))))
If rel ¬O ·N¹ÏÃö«Y ªº ¹ê¨Ò and rel(agent,) (¤£) ¦¨¥ßs and obj ¬O "()" ªº ¤@ ¦¨û, then agent ¦b obj ½d³ò¤¤.
(=>
(and
(instance ?REL IntentionalRelation)
(holds ?REL ?AGENT @ROW)
(inList
?OBJ
(ListFn @ROW)))
(inScopeOfInterest ?AGENT ?OBJ))
If rel ¬O ¤T¤¸Ãö«Y ªº ¹ê¨Ò, then there don't exist item1,item2,item3,item4, so that rel(item1,item2,item3,item4,) (¤£) ¦¨¥ßs.
(=>
(instance ?REL TernaryRelation)
(not
(exists
(?ITEM1 ?ITEM2 ?ITEM3 ?ITEM4 @ROW)
(holds ?REL ?ITEM1 ?ITEM2 ?ITEM3 ?ITEM4 @ROW))))
If rel ¬O ¥|¤¸Ãö«Y ªº ¹ê¨Ò, then there don't exist item1,item2,item3,item4,item5, so that rel(item1,item2,item3,item4,item5,) (¤£) ¦¨¥ßs.
(=>
(instance ?REL QuaternaryRelation)
(not
(exists
(?ITEM1 ?ITEM2 ?ITEM3 ?ITEM4 ?ITEM5 @ROW)
(holds ?REL ?ITEM1 ?ITEM2 ?ITEM3 ?ITEM4 ?ITEM5 @ROW))))
If rel ¬O ¤¤¸Ãö«Y ªº ¹ê¨Ò, then there don't exist item1,item2,item3,item4,item5,item6, so that rel(item1,item2,item3,item4,item5,item6,) (¤£) ¦¨¥ßs.
(=>
(instance ?REL QuintaryRelation)
(not
(exists
(?ITEM1 ?ITEM2 ?ITEM3 ?ITEM4 ?ITEM5 ?ITEM6 @ROW)
(holds ?REL ?ITEM1 ?ITEM2 ?ITEM3 ?ITEM4 ?ITEM5 ?ITEM6 @ROW))))
If rel ªº ½×¤¸ number ¬O class ªº ¹ê¨Ò and rel() (¤£) ¦¨¥ßs, then ""()" ªº ²Ä¤G ¤¸¯À" ¬O class ªº ¹ê¨Ò.
(=>
(and
(domain ?REL ?NUMBER ?CLASS)
(holds ?REL @ROW))
(instance
(ListOrderFn
(ListFn @ROW)
?NUMBER)
?CLASS))
If rel ªº ½×¤¸ number ¬O class ªº ¦¸ºØÃþ and rel() (¤£) ¦¨¥ßs, then ""()" ªº ²Ä¤G ¤¸¯À" ¬O class ªº ¦¸ºØÃþ.
(=>
(and
(domainSubclass ?REL ?NUMBER ?CLASS)
(holds ?REL @ROW))
(subclass
(ListOrderFn
(ListFn @ROW)
?NUMBER)
?CLASS))
- if rel %&¦³ ½×¤¸(s) number,
- then for all holds: if rel() (¤£) ¦¨¥ßs, then ""()" ªº ªø«×" µ¥©ó number
.
(=>
(valence ?REL ?NUMBER)
(forall
(@ROW)
(=>
(holds ?REL @ROW)
(equal
(ListLengthFn
(ListFn @ROW))
?NUMBER))))
- if relation ¤ÏÀ³©ó class ,
- then for all inst holds: if inst ¬O class ªº ¹ê¨Ò, then relation(inst,inst) (¤£) ¦¨¥ßs
.
(=>
(reflexiveOn ?RELATION ?CLASS)
(forall
(?INST)
(=>
(instance ?INST ?CLASS)
(holds ?RELATION ?INST ?INST))))
- if relation «D¤Ï®g©ó class ,
- then for all inst holds: if inst ¬O class ªº ¹ê¨Ò, then relation(inst,inst) not(¤£) ¦¨¥ß
.
(=>
(irreflexiveOn ?RELATION ?CLASS)
(forall
(?INST)
(=>
(instance ?INST ?CLASS)
(not
(holds ?RELATION ?INST ?INST)))))
- if relation ¹ï class ¬O ¤T¤Àªk,
- then for all inst1,inst2 holds: if inst1 ¬O class ªº ¹ê¨Ò and inst2 ¬O class ªº ¹ê¨Ò, then relation(inst1,inst2) (¤£) ¦¨¥ßs or relation(inst2,inst1) (¤£) ¦¨¥ßs or inst1 µ¥©ó inst2
.
(=>
(trichotomizingOn ?RELATION ?CLASS)
(forall
(?INST1 ?INST2)
(=>
(and
(instance ?INST1 ?CLASS)
(instance ?INST2 ?CLASS))
(or
(holds ?RELATION ?INST1 ?INST2)
(holds ?RELATION ?INST2 ?INST1)
(equal ?INST1 ?INST2)))))
If role ¬O ®æ¦ì¨¤¦â ªº ¹ê¨Ò and role(arg1,arg2) (¤£) ¦¨¥ßs and arg1 ¬O proc ªº ¹ê¨Ò, then arg2 ¥i¥H ¥ô¨¤¦â role °µ proc.
(=>
(and
(instance ?ROLE CaseRole)
(holds ?ROLE ?ARG1 ?ARG2)
(instance ?ARG1 ?PROC))
(capability ?PROC ?ROLE ?ARG2))
(=>
(and
(instance ?REL RelationExtendedToQuantities)
(instance ?REL TernaryRelation)
(instance ?NUMBER1 RealNumber)
(instance ?NUMBER2 RealNumber)
(holds ?REL ?NUMBER1 ?NUMBER2 ?VALUE))
(forall
(?UNIT)
(=>
(instance ?UNIT UnitOfMeasure)
(holds
?REL
(MeasureFn ?NUMBER1 ?UNIT)
(MeasureFn ?NUMBER2 ?UNIT)
(MeasureFn ?VALUE ?UNIT)))))
(=>
(and
(instance ?REL RelationExtendedToQuantities)
(instance ?REL BinaryRelation)
(instance ?NUMBER1 RealNumber)
(instance ?NUMBER2 RealNumber)
(holds ?REL ?NUMBER1 ?NUMBER2))
(forall
(?UNIT)
(=>
(instance ?UNIT UnitOfMeasure)
(holds
?REL
(MeasureFn ?NUMBER1 ?UNIT)
(MeasureFn ?NUMBER2 ?UNIT)))))
If rel(inst1,inst2) (¤£) ¦¨¥ßs intervala(¤§¤¤) interval and inst1 ¬O ª«½èªº ªº ¹ê¨Ò and inst2 ¬O ª«½èªº ªº ¹ê¨Ò, then inst1 (¤£) ¦s¦bs interval ´Á¶¡ and inst2 (¤£) ¦s¦bs interval ´Á¶¡.
(=>
(and
(holdsDuring
?INTERVAL
(holds ?REL ?INST1 ?INST2))
(instance ?INST1 Physical)
(instance ?INST2 Physical))
(and
(time ?INST1 ?INTERVAL)
(time ?INST2 ?INTERVAL)))
If rel ¬O ªÅ¶¡Ãö«Y ªº ¹ê¨Ò and rel(obj1,obj2) (¤£) ¦¨¥ßs, then "obj2 ¦s¦b ªº ®É¶¡" (¨S) »P 1 ?«Å|s.
(=>
(and
(instance ?REL SpatialRelation)
(holds ?REL ?OBJ1 ?OBJ2))
(overlapsTemporally
(WhenFn ?OBJ1)
(WhenFn ?OBJ2)))
If rel ¬O ®æ¦ì¨¤¦â ªº ¹ê¨Ò and rel(process,obj) (¤£) ¦¨¥ßs, then there exists time so that "process ¦b time ªº time¦ì¸m" (¨S) »P obj «Å|s.
(=>
(and
(instance ?REL CaseRole)
(holds ?REL ?PROCESS ?OBJ))
(exists
(?TIME)
(overlapsSpatially
(WhereFn ?PROCESS ?TIME)
?OBJ)))