% Automatically generated from CL/KIF
formulas(sos).
obolog_version1("0.01").
module1("ro").
relation1("is_a").
label2("is_a","is_a").
transitive1("is_a").
anti_symmetric1("is_a").
reflexive1("is_a").
comment2("is_a","The is_a relationship is considered axiomatic by the obo file format specification. In the representation of obo in OWL, where obo terms are represented as OWL classes, is_a is mapped on to the subClassOf axiom").
example3("is_a",is_a2("astrocyte","glial cell"),CL).
example3("is_a",is_a2("serotonin","biogenic amine"),CHEBI).
example3("is_a",is_a2("catabolic process","metabolic process"),GO).
exact_synonym2("is_a","is_subtype_of").
exact_synonym2("is_a","subtype_of").
exact_synonym2("is_a","is_a_kind_of").
exact_synonym2("is_a","kind_of").
exact_synonym2("is_a","type_of").
exported_identifier2("is_a","OBO_REL_C:0000001").
alternate_identifier2("is_a","OBO_REL:is_a").
xref2("is_a","rdfs:subClassOf").
text_definition2("is_a","For continuants: C is_a C' if and only if: given any c that instantiates C at a time t, c instantiates C' at t. For processes: P is_a P' if and only if: that given any p that instantiates P, then p instantiates P'.").
text_definition_xref2("is_a","PMID:15892874").
type_type1("is_a").
atemporal1("is_a").
(is_a2(uX,uY) -> (instance_of2(i,uX) -> instance_of2(i,uY))).
(is_a2(uX,uY) -> (instance_of3(i,uX,t) -> instance_of3(i,uY,t))).
relation1("instance_of").
label2("instance_of","instance_of").
comment2("instance_of","The instance_of relationship is considered axiomatic by the obo file format specification; ie it is taken for granted. The is_a relation is still included in this ontology for completeness").
xref2("instance_of","rdf:type").
example2("instance_of",instance_of2("John Doe's heart","Heart [FMA]")).
example3("instance_of",instance_of2("Lake Geneva [GAZ:1234567]","freshwater lake [ENO:98765432]"),GAZ).
exported_identifier2("instance_of","OBO_REL_I:0000023").
text_definition2("instance_of","A relation between an instance and a class/type. For components: a primitive relation between a component instance and a class which it instantiates at a specific time. For processes: a primitive relation, between a process instance and a class which it instantiates, holding independently of time").
text_definition_xref2("instance_of","PMID:15892874").
instance_type1("instance_of").
atemporal_or_temporal1("instance_of").
instance_type1("instance_of").
(instance_of3(x,uU,t) -> is_a2(uU,Continuant)).
(instance_of2(x,uU) -> is_a2(uU,Occurrent)).
(instance_of2(i,uX) & is_a2(uX,uY) -> instance_of2(i,uY)).
(instance_of3(i,uX,t) & is_a2(uX,uY) -> instance_of3(i,uY,t)).
relation1("part_of").
label2("part_of","part_of").
exact_synonym2("part_of","is_part_of").
inverse_of2("part_of","has_part").
normative_direction_for2("part_of","part").
normative1("part_of").
transitive1("part_of").
anti_symmetric1("part_of").
example2("part_of",part_of3("John Doe's Heart","John Doe's Body","t1")).
example2("part_of",part_of2("John Doe's childhood","John Doe's lifespan")).
comment2(anti_symmetric1("part_of"),"not included in Bittner and Donnelly / Logical properties of foundational relations: We do not include an axiom of antisymmetry for parthood among objects, since we want to leave open the possibility that there may be distinct objects which have exactly the same parts at a given time. For example, the FMA distinguishes between an anatomical entity and the tissue which constitutes that entity at a given time (Rosse and Mejino, 2003)").
reflexive1("part_of").
exported_identifier2("part_of","OBO_REL_I:0000002").
alternate_identifier2("part_of","OBO_REL:part_of").
comment2("part_of","The primitive instance-level relation p part_of p1 is illustrated in assertions such as: this instance of rhodopsin mediated phototransduction part_of this instance of visual perception. This relation satisfies at least the following standard axioms of mereology: reflexivity (for all p, p part_of p); anti-symmetry (for all p, p1, if p part_of p1 and p1 part_of p then p and p1 are identical); and transitivity (for all p, p1, p2, if p part_of p1 and p1 part_of p2, then p part_of p2). Analogous axioms hold also for parthood as a relation between spatial regions. For parthood as a relation between continuants, these axioms need to be modified to take account of the incorporation of a temporal argument. Thus for example the axiom of transitivity for continuants will assert that if c part_of c1 at t and c1 part_of c2 at t, then also c part_of c2 at t.").
text_definition2("part_of","part_of on the instance level is a primitive relation, holding either atemporally between two process instances or temporally between two continuant instances").
text_definition_xref2("part_of","PMID:15892874").
instance_instance1("part_of").
homeomorphic_for2("part_of",IndependentContinuant).
homeomorphic_for2("part_of",DependentContinuant).
homeomorphic_for2("part_of",Occurrent).
homeomorphic_for2("part_of",Process).
homeomorphic_for2("part_of",Role).
homeomorphic_for2("part_of",Quality).
homeomorphic_for2("part_of",RealizableEntity).
homeomorphic_for2("part_of",SpatialRegion).
homeomorphic_for2("part_of",ProcessualEntity).
atemporal_or_temporal1("part_of").
holds_temporally_between3("part_of",Continuant,Continuant).
(part_of3(x,y,w) -> instance_of2(x,Continuant) & instance_of2(y,Continuant) & instance_of2(w,TemporalInstant)).
holds_atemporally_between3("part_of",Occurrent,Occurrent).
(part_of3(x,y,w) -> exists_at2(x,w) & exists_at2(y,w)).
never_holds_between2(Entity,Function).
never_holds_between2(Entity,Disposition).
relation1("part_of_some").
type_type1("part_of_some").
holds_over2("part_of_some","part_of").
label2("part_of_some","part_of").
transitive1("part_of_some").
anti_symmetric1("part_of_some").
reflexive1("part_of_some").
example3("part_of_some",part_of_some2("mitochondrial matrix","mitochodrion"),GO).
example3("part_of_some",part_of_some2("transcription","gene expression"),GO).
example3("part_of_some",part_of_some2("cell nucleus","cell"),GO).
example3("part_of_some",part_of_some2("heart ventricle","heart"),MA).
comment2("part_of_some","To define part_of as a relation between classes we again need to distinguish the two cases of continuants and processes, even though the explicit reference to instants of time now falls away. For continuants, we have C part_of C1 if and only if any instance of C at any time is an instance-level part of some instance of C1 at that time, as for example in: cell nucleus part_ of cell.").
exported_identifier2("part_of_some","OBO_REL_C:0000002").
text_definition2("part_of_some","For continuants: C part_of C' if and only if: given any c that instantiates C at a time t, there is some c' such that c' instantiates C' at time t, and c part_of c' at t. For processes: P part_of P' if and only if: given any p that instantiates P at a time t, there is some p' such that p' instantiates P' at time t, and p part_of p' at t. (Here part_of is the instance-level part-relation, @OBO_REL_I:0000002@).").
text_definition_xref2("part_of_some","PMID:15892874").
all_some_all_times2("part_of_some","part_of").
all_some2("part_of_some","part_of").
relation1("has_part").
instance_instance1("has_part").
label2("has_part","has_part").
inverse_of2("has_part","part_of").
transitive1("has_part").
anti_symmetric1("has_part").
reflexive1("has_part").
exported_identifier2("has_part","OBO_REL_I:0000003").
comment2("has_part","primitive instance-level relation, the inverse of *part_of*").
atemporal_or_temporal1("has_part").
relation1("has_part_some").
type_type1("has_part_some").
holds_over2("has_part_some","has_part").
all_some_all_times2("has_part_some","has_part").
label2("has_part_some","has_part").
transitive1("has_part_some").
anti_symmetric1("has_part_some").
reflexive1("has_part_some").
example3("has_part_some",has_part_some2("nucleate cell","nucleus"),CL).
example3("has_part_some",has_part_some2("cell","cytoplasm"),GO).
exported_identifier2("has_part_some","OBO_REL_C:0000003").
text_definition2("has_part_some","C has_part_some C' if and only if: given any c that instantiates C at a time t, there is some c' such that c' instantiates C' at time t, and c *has_part* c' at t. For processes: P has_part_some P' if and only if: given any p that instantiates P at a time t, there is some p' such that p' instantiates P' at time t, and p *has_part* p' at t. (Here *has_part* is the instance-level part-relation, @OBO_REL_I:0000003@)").
relation1("integral_part_of").
type_type1("integral_part_of").
type_level_only1("integral_part_of").
label2("integral_part_of","integral_part_of").
subrelation2("integral_part_of","part_of_some").
transitive1("integral_part_of").
anti_symmetric1("integral_part_of").
reflexive1("integral_part_of").
inverse_of2("integral_part_of","has_integral_part").
inverse_always_true2("integral_part_of","part_of_some").
holds_bidirectionally_for3("integral_part_of","part_of_some","has_part_some").
normative_direction_for2("integral_part_of","integral_part").
exported_identifier2("integral_part_of","OBO_REL_C:0000004").
text_definition2("integral_part_of","C integral_part_of C' if and only if: C part_of C' AND C' has_part C").
text_definition_xref2("integral_part_of","PMID:15892874").
example3("integral_part_of",integral_part_of2("heart morphogenesis","heart development"),GO).
(integral_part_of2(uX,uY) <-> part_of_some2(uX,uY) & has_part_some2(uY,uX)).
relation1("has_integral_part").
type_type1("has_integral_part").
type_level_only1("has_integral_part").
label2("has_integral_part","has_integral_part").
subrelation2("has_integral_part","has_part_some").
transitive1("has_integral_part").
anti_symmetric1("has_integral_part").
reflexive1("has_integral_part").
exported_identifier2("has_integral_part","OBO_REL_C:0000005").
text_definition2("has_integral_part","Type level inverse of integral_part_of. C has_integral_part C' if and only if: C has_part C' AND C' part_of C").
(has_integral_part2(uX,uY) <-> part_of_some2(uY,uX) & has_part_some2(uX,uY)).
relation1("proper_part_of").
instance_instance1("proper_part_of").
label2("proper_part_of","proper_part_of").
subrelation2("proper_part_of","part_of").
inverse_of2("proper_part_of","has_proper_part").
normative_direction_for2("proper_part_of","proper_part").
transitive1("proper_part_of").
proper_subrelation2("proper_part_of","part_of").
exported_identifier2("proper_part_of","OBO_REL_I:0000006").
text_definition2("proper_part_of","As for part_of, with the additional constraint that subject and object are distinct").
text_definition_xref2("proper_part_of","PMID:15892874").
(proper_part_of2(x,y) <-> part_of2(x,y) & -(part_of2(y,x))).
relation1("proper_part_of_some").
type_type1("proper_part_of_some").
all_some2("proper_part_of_some","proper_part_of").
label2("proper_part_of_some","proper_part_of").
subrelation2("proper_part_of_some","part_of_some").
transitive1("proper_part_of_some").
exported_identifier2("proper_part_of_some","OBO_REL_C:0000006").
text_definition2("proper_part_of_some","As for part_of_some, with the additional constraint that subject and object are distinct").
text_definition_xref2("proper_part_of_some","PMID:15892874").
relation1("has_proper_part").
instance_instance1("has_proper_part").
label2("has_proper_part","has_proper_part").
subrelation2("has_proper_part","has_part").
inverse_of2("has_proper_part","proper_part_of").
transitive1("has_proper_part").
text_definition2("has_proper_part","As for has_part, with the additional constraint that subject and object are distinct").
exported_identifier2("has_proper_part","OBO_REL_I:0000007").
relation1("has_proper_part_some").
type_type1("has_proper_part_some").
all_some2("has_proper_part_some","has_proper_part").
label2("has_proper_part_some","has_proper_part").
subrelation2("has_proper_part_some","has_part_some").
transitive1("has_proper_part_some").
exported_identifier2("has_proper_part_some","OBO_REL_C:0000007").
relation1("adjacent_to").
instance_instance1("adjacent_to").
label2("adjacent_to","adjacent_to").
symmetric1("adjacent_to").
comment2("adjacent_to","Note that adjacent_to is only symmetric at the instance level").
exported_identifier2("adjacent_to","OBO_REL_I:0000012").
text_definition2("adjacent_to","c adjacent to c' if and only if: c and c' are in spatial proximity").
domain2("adjacent_to",IndependentContinuant).
range2("adjacent_to",IndependentContinuant).
(adjacent_to2(x,y) -> -(overlaps2(x,y))).
relation1("adjacent_to_some").
type_type1("adjacent_to_some").
all_some_all_times2("adjacent_to_some","adjacent_to").
label2("adjacent_to_some","adjacent_to").
comment2("adjacent_to_some","Note that adjacent_to_some as defined is not a symmetric relation, in contrast to its instance-level counterpart. For it can be the case that Cs are in general such as to be adjacent to instances of C1 while no analogous statement holds for C1s in general in relation to instances of C. Examples are: nuclear membrane adjacent_to_some cytoplasm; seminal vesicle adjacent_to_some urinary bladder; ovary adjacent_to_some parietal pelvic peritoneum").
exported_identifier2("adjacent_to_some","OBO_REL_C:0000012").
text_definition2("adjacent_to_some","C adjacent to C' if and only if: given any instance c that instantiates C at a time t, there is some c' such that: c' instantiates C' at time t and c and c' are in spatial proximity").
text_definition_xref2("adjacent_to_some","PMID:15892874").
relation1("contained_in").
instance_instance1("contained_in").
label2("contained_in","contained_in").
inverse_of2("contained_in","contains").
normative_direction_for2("contained_in","containment").
comment2("contained_in","Containment obtains in each case between material and immaterial continuants, for instance: lung contained_in thoracic cavity; bladder contained_in pelvic cavity. Hence containment is not a transitive relation. If c part_of c1 at t then we have also, by our definition and by the axioms of mereology applied to spatial regions, c located_in c1 at t. Thus, many examples of instance-level location relations for continuants are in fact cases of instance-level parthood. For material continuants location and parthood coincide. Containment is location not involving parthood, and arises only where some immaterial continuant is involved. To understand this relation, we first define overlap for continuants as follows: c1 overlap c2 at t =def for some c, c part_of c1 at t and c part_of c2 at t. The containment relation on the instance level can then be defined (see definition):").
exported_identifier2("contained_in","OBO_REL_I:0000010").
text_definition2("contained_in","c contained_in c' at t if and only if: c located_in c' at t, and it is not the case that c *overlaps* c' at t. (c' is a conduit or cavity.)").
text_definition_xref2("contained_in","PMID:15892874").
holds_temporally1("contained_in").
domain2("contained_in",IndependentContinuant).
range2("contained_in",IndependentContinuant).
(contained_in3(x,y,t) <-> located_in3(x,y,t) & -(overlaps3(x,y,t))).
relation1("contained_in_some").
type_type1("contained_in_some").
holds_over2("contained_in_some","contained_in").
all_some_all_times2("contained_in_some","contained_in").
label2("contained_in_some","contained_in").
exported_identifier2("contained_in_some","OBO_REL_C:0000010").
text_definition2("contained_in_some","C contained_in_some C' if and only if: given any instance c that instantiates C at a time t, there is some c' such that: c' instantiates C' at time t and c located_in c' at t, and it is not the case that c *overlaps* c' at t. (c' is a conduit or cavity.)").
text_definition_xref2("contained_in_some","PMID:15892874").
relation1("contains").
instance_instance1("contains").
label2("contains","contains").
inverse_of2("contains","contained_in").
exported_identifier2("contains","OBO_REL_I:0000011").
relation1("contains_some").
type_type1("contains_some").
label2("contains_some","contains").
exported_identifier2("contains_some","OBO_REL_C:0000011").
relation1("located_in").
label2("located_in","located_in").
domain2("located_in",Continuant).
range2("located_in",IndependentContinuant).
inverse_of2("located_in","location_of").
normative_direction_for2("located_in","location").
transitive1("located_in").
reflexive1("located_in").
transitive_over2("located_in","part_of").
comment2("located_in","Location as a relation between instances: The primitive instance-level relation c located_in r at t reflects the fact that each continuant is at any given time associated with exactly one spatial region, namely its exact location. Following we can use this relation to define a further instance-level location relation - not between a continuant and the region which it exactly occupies, but rather between one continuant and another. c is located in c1, in this sense, whenever the spatial region occupied by c is part_of the spatial region occupied by c1. Note that this relation comprehends both the relation of exact location between one continuant and another which obtains when r and r1 are identical (for example, when a portion of fluid exactly fills a cavity), as well as those sorts of inexact location relations which obtain, for example, between brain and head or between ovum and uterus").
exported_identifier2("located_in","OBO_REL_I:0000008").
text_definition2("located_in",Primitive).
text_definition_xref2("located_in","PMID:15892874").
(located_in2(c,c1) <-> part_of2(regionFn1(c),regionFn1(c1))).
relation1("located_in_some").
type_type1("located_in_some").
all_some_all_times2("located_in_some","located_in").
label2("located_in_some","located_in").
type_domain2("located_in_some",Continuant).
type_range2("located_in_some",Continuant).
transitive1("located_in_some").
reflexive1("located_in_some").
transitive_over2("located_in_some","part_of_some").
exported_identifier2("located_in_some","OBO_REL_C:0000008").
text_definition2("located_in_some","C located_in_some C' if and only if: given any c that instantiates C at a time t, there is some c' such that: c' instantiates C' at time t and c *located_in* c'. (Here *located_in* is the instance-level location relation.)").
text_definition_xref2("located_in","PMID:15892874").
relation1("location_of").
label2("location_of","location_of").
domain2("location_of",Continuant).
range2("location_of",Continuant).
inverse_of2("location_of","located_in").
transitive1("location_of").
reflexive1("location_of").
exported_identifier2("location_of","OBO_REL_I:0000009").
relation1("location_of_some").
type_type1("location_of_some").
all_some_all_times2("location_of_some","location_of").
label2("location_of_some","location_of").
type_domain2("location_of_some",Continuant).
type_range2("location_of_some",Continuant).
transitive1("location_of_some").
reflexive1("location_of_some").
text_definition2("location_of_some","C location_of_some C' if and only if: given any c that instantiates C at a time t, there is some c' such that: c' instantiates C' at time t and c *location_of* c'. (Here *location_of* is the instance-level location relation, @OBO_REL_I:0000009@.)").
exported_identifier2("location_of_some","OBO_REL_C:0000009").
relation1("overlaps").
label2("overlaps","overlaps").
domain2("overlaps",IndependentContinuant).
range2("overlaps",IndependentContinuant).
symmetric1("overlaps").
reflexive1("overlaps").
intransitive1("overlaps").
text_definition2("overlaps","x overlaps y if and only if: there is some z such that: z part_of x and z part_of y (i.e. x and y share a part)").
comment2("overlaps","note that the definition of overlaps includes the case where x is part_of y - for example, a nucleus overlaps a cell. We also have the *partial_overlaps* relation for those cases where x and y overlap but neither is part of the other").
exported_identifier2("overlaps","OBO_REL_I:0000201").
(overlaps2(x,y) <-> exists z (part_of2(z,x) & part_of2(z,y))).
(exists_at2(x,t) & all z ((overlaps3(z,x,t) -> overlaps3(y,x,t))) -> part_of3(x,y,t)).
relation1("overlaps_some").
type_type1("overlaps_some").
label2("overlaps_some","overlaps").
comment2("overlaps_some","Note that overlaps is symmetric on the instance level but not the type level").
all_some_all_times2("overlaps_some","overlaps").
reflexive1("overlaps_some").
example2("overlaps_some","uterine tract overlaps urogenital system but NOT urogenital system overlaps uterine tracts").
exported_identifier2("overlaps_some","OBO_REL_C:0000201").
relation1("partially_overlaps").
subrelation2("partially_overlaps","overlaps").
label2("partially_overlaps","partially_overlaps").
example3("partially_overlaps","A National Park whose area is included in two counties would have this relationship to each of the counties.",GAZ).
domain2("partially_overlaps",IndependentContinuant).
range2("partially_overlaps",IndependentContinuant).
intransitive1("partially_overlap").
symmetric1("partially_overlap").
exported_identifier2("partially_overlaps","OBO_REL_I:0000202").
text_definition2("partially_overlaps","x partially_overlaps y if and only if: x overlaps y and neither x is part_of y not y is part_of x").
(partially_overlaps2(x,y) <-> overlaps2(x,y) & -(part_of2(x,y)) & -(part_of2(y,x))).
relation1("underlaps").
label2("underlaps","underlaps").
domain2("underlaps",IndependentContinuant).
range2("underlaps",IndependentContinuant).
symmetric1("underlaps").
reflexive1("underlaps").
intransitive1("underlaps").
exported_identifier2("underlaps","OBO_REL_I:0000210").
(underlaps2(x,y) <-> exists z (part_of2(x,z) & part_of2(y,z))).
relation1("has_participant").
instance_instance1("has_participant").
label2("has_participant","has_participant").
domain2("has_participant",Occurrent).
range2("has_participant",IndependentContinuant).
inverse_of2("has_participant","participates_in").
normative_direction_for2("has_participant","participation").
text_definition2("has_participant","Has_participant is a primitive instance-level relation between a process, a continuant, and a time at which the continuant participates in some way in the process. The relation obtains, for example, when this particular process of oxygen exchange across this particular alveolar membrane has_participant this particular sample of hemoglobin at this particular time.").
exported_identifier2("has_participant","OBO_REL_I:0000019").
text_definition_xref2("has_participant","PMID:15892874").
holds_temporally_between3("has_participant",Occurrent,Continuant).
holds_over_chain3("has_participant","realizes","inheres_in").
transitive_over2("has_participant","part_of").
relation1("has_participant_some").
type_type1("has_participant_some").
all_some2("has_participant_some","has_participant").
label2("has_participant_some","has_participant").
type_domain2("has_participant_some",Occurrent).
type_range2("has_participant_some",IndependentContinuant).
exported_identifier2("has_participant_some","OBO_REL_C:0000019").
text_definition2("has_participant_some","P has_participant_some C if and only if: given any process p that instantiates P there is some continuant c, and some time t, such that: c instantiates C at t and c participates in p at t").
text_definition_xref2("has_participant_some","PMID:15892874").
relation1("participates_in").
instance_instance1("participates_in").
label2("participates_in","participates_in").
domain2("participates_in",IndependentContinuant).
range2("participates_in",Occurrent).
inverse_of2("participates_in","has_participant").
exported_identifier2("participates_in","OBO_REL_I:0000020").
holds_temporally_between3("participates_in",Continuant,Occurrent).
holds_over_chain3("participates_in","has_bearer","realized_by").
relation1("participates_in_some").
type_type1("participates_in_some").
all_some2("participates_in_some","participates_in").
label2("participates_in_some","participates_in").
type_domain2("participates_in_some",IndependentContinuant).
type_range2("participates_in_some",Occurrent).
exported_identifier2("participates_in_some","OBO_REL_C:0000020").
text_definition2("participates_in_some","C participates_in_some P if and only if: given any process p that instantiates P there is some continuant c, and some time t, such that: c instantiates C at t and c participates in p at t").
relation1("has_agent").
instance_instance1("has_agent").
label2("has_agent","has_agent").
subrelation2("has_agent","has_participant").
type_domain2("has_agent",Occurrent).
type_range2("has_agent",IndependentContinuant).
inverse_of2("has_agent","agent_in").
normative_direction_for2("has_agent","agency").
exported_identifier2("has_agent","OBO_REL_I:0000021").
text_definition2("has_agent","As for has_participant, but with the additional condition that the component instance is causally active in the relevant process").
text_definition_xref2("has_agent","PMID:15892874").
relation1("has_agent_some").
type_type1("has_agent_some").
all_some2("has_agent_some","has_agent").
label2("has_agent_some","has_agent").
subrelation2("has_agent_some","has_participant_some").
type_domain2("has_agent_some",Occurrent).
type_range2("has_agent_some",IndependentContinuant).
exported_identifier2("has_agent_some","OBO_REL_C:0000021").
text_definition2("has_agent_some","P has_agent_some C if and only if: given any process p that instantiates P there is some continuant c, and some time t, such that: c instantiates C at t and c has_agent p at t").
text_definition_xref2("has_agent_some","PMID:15892874").
relation1("agent_in").
instance_instance1("agent_in").
label2("agent_in","agent_in").
subrelation2("agent_in","participates_in").
domain2("agent_in",IndependentContinuant).
range2("agent_in",Occurrent).
inverse_of2("agent_in","has_agent").
exported_identifier2("agent_in","OBO_REL_I:0000022").
instance_level1("agent_id").
relation1("agent_in_some").
type_type1("agent_in_some").
all_some2("agent_in_some","agent_in").
label2("agent_in_some","agent_in").
subrelation2("agent_in_some","participates_in_some").
type_domain2("agent_in_some",IndependentContinuant).
type_range2("agent_in_some",Occurrent).
exported_identifier2("agent_in_some","OBO_REL_C:0000022").
relation1("inheres_in").
instance_instance1("inheres_in").
label2("inheres_in","inheres_in").
inverse_of2("inheres_in","bearer_of").
normative_direction_for2("inheres_in","inherence").
comment2("inheres_in","This relation links qualities, functions, dispositions and other dependent continuants to their bearers. Examples: The redness that ineres in a Drosophila eye; Catalytic activity function inheres_in catalytic molecule.").
exact_synonym2("inheres_in","has_bearer").
exported_identifier2("inheres_in","OBO_REL_I:0000026").
text_definition2("inheres_in","A primitive relation that holds between a dependent continuant instance and a bearer").
domain2("inheres_in",DependentContinuant).
holds_temporally_between3("inheres_in",DependentContinuant,Entity).
relation1("inheres_in_some").
type_type1("inheres_in_some").
label2("inheres_in_some","inheres_in").
exported_identifier2("inheres_in_some","OBO_REL_C:0000026").
text_definition2("inheres_in_some","A relation between a dependent continuant D and an entity E. D inheres_in E iff: given any d that instantiates D at t, there exists some e that instantiates E at t and d *inheres_in* e at t. Here *inheres_in* is the primitive instance level relation, OBO_REL_I:0000026.").
all_some_all_times2("inheres_in_some","inheres_in").
relation1("bearer_of").
instance_instance1("bearer_of").
label2("bearer_of","bearer_of").
inverse_of2("bearer_of","inheres_in").
exact_synonym2("bearer_of","has_inherent").
exact_synonym2("bearer_of","has_inherer").
exact_synonym2("bearer_of","bears").
exact_synonym2("bearer_of","is_bearer_of").
exported_identifier2("bearer_of","OBO_REL_I:0000027").
text_definition2("bearer_of","A relation between an entity and a dependent continuant; the reciprocal relation of inheres_in").
range2("bearer_of",DependentContinuant).
relation1("bearer_of_some").
type_type1("bearer_of_some").
label2("bearer_of_some","bearer_of").
comment2("bearer_of_some","Examples: red eye bearer_of_some redness").
exact_synonym2("bearer_of_some","has_inherent").
exact_synonym2("bearer_of_some","has_inherer").
exported_identifier2("bearer_of_some","OBO_REL_C:0000027").
text_definition2("bearer_of_some","C bearer_of_some DC if and only if : given any continuant c that instantiates C at t, there exists some c that instantiates C at t and d *inheres_in* c at t. Here *inheres_in* is the primitive instance level relation, @OBO_REL_I:0000026@.").
all_some_all_times2("bearer_of_some","bearer_of").
relation1("quality_of").
label2("quality_of","quality_of").
equivalent_relation_between4("quality_of","specifically_inheres_in",Quality,Entity).
subrelation2("quality_of","inheres_in").
inverse_of2("quality_of","has_quality").
functional1("quality_of").
normative_direction_for2("quality_of","quality").
exact_synonym2("quality_of","is_quality_of").
exported_identifier2("quality_of","OBO_REL_I:0000028").
text_definition2("quality_of","A relation between a quality Q and an entity E. Q quality_of E iff: Q inheres_in E and Q is a quality").
domain2("quality_of",Quality).
relation1("quality_of_some").
type_type1("quality_of_some").
label2("quality_of_some","quality_of").
subrelation2("quality_of_some","inheres_in_some").
exact_synonym2("quality_of_some","is_all_quality_of").
exported_identifier2("quality_of_some","OBO_REL_C:0000028").
text_definition2("quality_of_some","A relation between a quality Q and an entity E. Q quality_of_some E iff: Q inheres_in E and Q is a quality").
all_some_all_times2("quality_of_some","quality_of").
relation1("has_quality").
label2("has_quality","has_quality").
subrelation2("has_quality","bearer_of").
inverse_of2("has_quality","quality_of").
exported_identifier2("has_quality","OBO_REL_I:0000029").
text_definition2("has_quality","A relation between an entity and a quality. For types: E has_quality Q iff: for any eEt, exists qQt such that q inheres_in e at t. For instances: e has_quality q at t iff q inheres_in e at t and q instance-of Quality").
range2("has_quality",Quality).
relation1("has_quality_some").
type_type1("has_quality_some").
label2("has_quality_some","has_quality").
subrelation2("has_quality_some","bearer_of_some").
exported_identifier2("has_quality_some","OBO_REL_C:0000029").
text_definition2("has_quality_some","A relation between an entity and a quality. For types: E has_quality_some Q iff: for any eEt, exists qQt such that q inheres_in e at t. For instances: e has_quality_some q at t iff q inheres_in e at t and q instance-of Quality").
all_some_all_times2("has_quality_some","has_quality").
relation1("function_of").
label2("function_of","function_of").
subrelation2("function_of","inheres_in").
equivalent_relation_between4("function_of","inheres_in",Function,IndependentContinuant).
inverse_of2("function_of","has_function").
normative_direction_for2("function_of","function").
comment2("function_of","Example: 'to blood pump' function_of 'heart'").
exported_identifier2("function_of","OBO_REL_I:0000030").
text_definition2("function_of","f function_of c at t iff : f inheres_in c at t and f instantiates a function").
domain2("function_of",Function).
range2("function_of",IndependentContinuant).
relation1("function_of_some").
type_type1("function_of_some").
label2("function_of_some","function_of").
subrelation2("function_of_some","inheres_in_some").
comment2("function_of_some","Example: 'to blood pump' function_of_some 'heart'").
exported_identifier2("function_of_some","OBO_REL_C:0000030").
text_definition2("function_of_some","F function_of C iff : for any f, t such that f instantiates F at t, there exists some c such that c instantiates C at t and f *function_of* C at t").
all_some_all_times2("function_of_some","function_of").
relation1("has_function").
label2("has_function","has_function").
subrelation2("has_function","bearer_of").
equivalent_relation_between4("has_function","bearer_of",IndependentContinuant,Function).
inverse_of2("has_function","function_of").
comment2("has_function","heart has_function to-pump-blood").
exported_identifier2("has_function","OBO_REL_I:0000031").
text_definition2("has_function","Relation between an independent continuant and a function.").
domain2("has_function",IndependentContinuant).
range2("has_function",Function).
relation1("has_function_some").
type_type1("has_function_some").
label2("has_function_some","has_function").
subrelation2("has_function_some","bearer_of_some").
comment2("has_function_some","heart has_function_some to-pump-blood").
exported_identifier2("has_function_some","OBO_REL_C:0000031").
text_definition2("has_function_some","Relation between an independent continuant and a function.").
all_some_all_times2("has_function_some","has_function").
relation1("role_of").
functional1("role_of").
label2("role_of","role_of").
subrelation2("role_of","inheres_in").
equivalent_relation_between4("role_of","inheres_in",Role,IndependentContinuant).
inverse_of2("role_of","has_role").
normative_direction_for2("role_of","role").
exported_identifier2("role_of","OBO_REL_I:0000032").
text_definition2("role_of","A relation between a role r and a continuant c. r role_of c at t iff: r inheres_in c at t and r instance_of Role at t").
domain2("role_of",Role).
range2("role_of",IndependentContinuant).
relation1("role_of_some").
type_type1("role_of_some").
label2("role_of_some","role_of").
subrelation2("role_of_some","inheres_in_some").
comment2("role_of_some","Example: 'to blood pump' function_of 'heart'").
exported_identifier2("role_of_some","OBO_REL_C:0000032").
text_definition2("role_of_some","A relation between a role R and an entity E. R role_of_some E iff: R inheres_in_some E and R is_a role").
all_some_all_times2("role_of_some","role_of").
relation1("has_role").
label2("has_role","has_role").
equivalent_relation_between4("has_role","bearer_of",IndependentContinuant,Role).
subrelation2("has_role","bearer_of").
inverse_of2("has_role","role_of").
exported_identifier2("has_role","OBO_REL_I:0000033").
text_definition2("has_role","A relation between a continuant C and a role R. The inverse_of role_of.").
domain2("has_role",IndependentContinuant).
range2("has_role",Role).
relation1("has_role_some").
type_type1("has_role_some").
label2("has_role_some","has_role").
subrelation2("has_role_some","bearer_of_some").
exported_identifier2("has_role_some","OBO_REL_C:0000033").
text_definition2("has_role_some","A relation between a continuant C and a role R. The reciprocal relation of role_of.").
all_some_all_times2("has_role_some","has_role").
relation1("realizes").
label2("realizes","realizes").
inverse_of2("realizes","realized_by").
comment2("realizes","in BFO realizable is the parent of function, role and disposition. We should also have realization_of and has_realizable for consistency. Will the terminology get too confusing?").
narrow_synonym2("realizes","is_realization_of").
narrow_synonym2("realizes","realization_of").
narrow_synonym2("realizes","is_functioning_of").
narrow_synonym2("realizes","executes").
exported_identifier2("realizes","OBO_REL_I:0000034").
text_definition2("realizes","Relation between a process and a realizable entity").
domain2("realizes",Process).
range2("realizes",RealizableEntity).
relation1("realizes_some").
type_type1("realizes_some").
label2("realizes_some","realizes").
comment2("realizes_some","The process of 'histidine catabolism' (GO:0006548) realizes_some the function 'histidine ammonia lyase activity' (GO:0004397) (note: here 'activity' denotes a function and not a process). We leave open the possibility of defining in future the sub-relations directly_realizes_some (as bewteen a function and it's functioning) and indirectly_realizes").
narrow_synonym2("realizes_some","is_realization_of").
narrow_synonym2("realizes_some","realization_of").
narrow_synonym2("realizes_some","has_function_part").
exported_identifier2("realizes_some","OBO_REL_C:0000034").
text_definition2("realizes_some","Relation between a process and a realizable entity. P /realizes_some/ F iff: given any p that instantiates P, there exists some f, t such that f instantiates F at t and p *realizes* f. Here, *realizes* is the primitive instance level relation").
all_some2("realizes_some","realizes").
relation1("realized_by").
label2("realized_by","realized_by").
inverse_of2("realized_by","realizes").
transitive_over2("realized_by","part_of").
normative_direction_for2("realized_by","realization").
related_synonym2("realized_by","executed_during").
narrow_synonym2("realized_by","realized_as").
narrow_synonym2("realized_by","is_realized_as").
narrow_synonym2("realized_by","executed_by").
narrow_synonym2("realized_by","has_realization").
narrow_synonym2("realized_by","has_functioning").
exported_identifier2("realized_by","OBO_REL_I:0000035").
text_definition2("realized_by","Relation between a realizable entity (such as a function or role) and a process.").
domain2("realized_by",RealizableEntity).
range2("realized_by",Process).
relation1("realized_by_some").
type_type1("realized_by_some").
label2("realized_by_some","realized_by").
related_synonym2("realized_by_some","executed_during").
narrow_synonym2("realized_by_some","has_realization").
exported_identifier2("realized_by_some","OBO_REL_C:0000035").
text_definition2("realized_by_some","F realized_by P iff every instance of F is realized_by some instance of P").
all_some2("realized_by_some","realized_by").
relation1("derives_from").
label2("derives_from","derives_from").
label2("derives_from","derives_from").
domain2("derives_from",Continuant).
range2("derives_from",Continuant).
inverse_of2("derives_from","derived_into").
transitive1("derives_from").
normative_direction_for2("derives_from","derives").
comment2("derives_from","Derivation as a relation between instances. The temporal relation of derivation is more complex. Transformation, on the instance level, is just the relation of identity: each adult is identical to some child existing at some earlier time. Derivation on the instance-level is a relation holding between non-identicals. More precisely, it holds between distinct material continuants when one succeeds the other across a temporal divide in such a way that at least a biologically significant portion of the matter of the earlier continuant is inherited by the later. Thus we will have axioms to the effect that from c derives_from c1 we can infer that c and c1 are not identical and that there is some instant of time t such that c1 exists only prior to and c only subsequent to t. We will also be able to infer that the spatial region occupied by c as it begins to exist at t overlaps with the spatial region occupied by c1 as it ceases to exist in the same instant.").
exact_synonym2("derives_from","derived_from").
exported_identifier2("derives_from","OBO_REL_I:0000015").
text_definition2("derives_from","Derivation on the instance level (*derives_from*) holds between distinct material continuants when one succeeds the other across a temporal divide in such a way that at least a biologically significant portion of the matter of the earlier continuant is inherited by the later.").
text_definition_xref2("derives_from","PMID:15892874").
(derives_from2(c,c1) -> exists t (only_exists_prior_to2(c1,t) & only_exists_subsequent_to2(c,t))).
(only_exists_prior_to2(c,t) <-> exists t1 (exists_at2(c,t1) & earlier_than2(t1,t)) & (exists_at2(c,t2) -> earlier_than2(t,t2))).
(only_exists_subsequent_to2(c,t) <-> exists t1 (exists_at2(c,t1) & earlier_than2(t,t1)) & (exists_at2(c,t2) -> earlier_than2(t2,t))).
relation1("derives_from_some").
type_type1("derives_from_some").
label2("derives_from_some","derives_from").
transitive1("derives_from_some").
comment2("derives_from_some","C derives_from_some class C' if instances of C are connected to instances of C' via some chain of instance-level derivation relations. Example: osteocyte derives_from_some osteoblast").
exact_synonym2("derives_from_some","derived_from").
exported_identifier2("derives_from_some","OBO_REL_C:0000015").
text_definition2("derives_from_some","C derives_immediately_from C' if and only if: given any c and any t, if c instantiates C at time t, then there is some c' and some t', such that c' instantiates C' at t' and t' earlier-than t and c *derives_from* c'. C derives_from_some C' if and only if: there is an chain of immediate derivation relations connecting C to C'.").
text_definition_xref2("derives_from_some","PMID:15892874").
image_xref2("derives_from_some","http://genomebiology.com/content/figures/gb-2005-6-5-r46-3.jpg").
relation1("derived_into").
label2("derived_into","derived_into").
domain2("derived_into",Continuant).
range2("derived_into",Continuant).
inverse_of2("derived_into","derives_from").
transitive1("derived_into").
exported_identifier2("derived_into","OBO_REL_I:0000016").
relation1("transformation_of").
type_type1("transformation_of").
type_level_only1("transformation_of").
label2("transformation_of","transformation_of").
instance_domain2("transformation_of",Continuant).
instance_range2("transformation_of",Continuant).
transitive1("transformation_of").
comment2("transformation_of","When an embryonic oenocyte (a type of insect cell) is transformed into a larval oenocyte, one and the same continuant entity preserves its identity while instantiating distinct classes at distinct times. The class-level relation transformation_of obtains between continuant classes C and C1 wherever each instance of the class C is such as to have existed at some earlier time as an instance of the distinct class C1 (see Figure 2 in paper). This relation is illustrated first of all at the molecular level of granularity by the relation between mature RNA and the pre-RNA from which it is processed, or between (UV-induced) thymine-dimer and thymine dinucleotide. At coarser levels of granularity it is illustrated by the transformations involved in the creation of red blood cells, for example, from reticulocyte to erythrocyte, and by processes of development, for example, from larva to pupa, or from (post-gastrular) embryo to fetus or from child to adult. It is also manifest in pathological transformations, for example, of normal colon into carcinomatous colon. In each such case, one and the same continuant entity instantiates distinct classes at different times in virtue of phenotypic changes.").
exported_identifier2("transformation_of","OBO_REL_C:0000013").
text_definition2("transformation_of","Relation between two classes, in which instances retain their identity yet change their classification by virtue of some kind of transformation. Formally: C transformation_of C' if and only if given any c and any t, if c instantiates C at time t, then for some t', c instantiates C' at t' and t' earlier t, and there is no t2 such that c instantiates C at t2 and c instantiates C' at t2.").
text_definition_xref2("transformation_of","PMID:15892874").
image_xref2("transformation_of","http://genomebiology.com/content/figures/gb-2005-6-5-r46-2-l.jpg").
(transformation_of2(uC,uC1) <-> (instance_of3(c,uC,t) -> exists t1 (instance_of3(c,uC1,t1) & earlier_than2(t1,t) & -( exists t2 (instance_of3(c,uC,t2) & instance_of3(c,uC1,t2)))))).
relation1("exists_at").
text_definition2("exists_at","A primitive relation between a continuant and an instant of time.").
label2("exists_at","exists_at").
domain2("exists_at",Continuant).
range2("exists_at",TemporalInstant).
exported_identifier2("exists_at","OBO_REL_I:0000040").
(exists_at2(i,t) <-> exists uU (instance_of3(i,uU,t))).
(exists_at2(c,t) <-> exists p (has_participant3(p,c,t))).
relation1("occurs_at").
label2("occurs_at","occurs_at").
domain2("occurs_at",Occurrent).
range2("occurs_at",TemporalInstant).
exported_identifier2("occurs_at","OBO_REL_I:0000041").
(occurs_at2(p,t) <-> exists c (has_participant3(p,c,t))).
relation1("preceded_by").
label2("preceded_by","preceded_by").
domain2("preceded_by",Occurrent).
range2("preceded_by",Occurrent).
inverse_of2("preceded_by","precedes").
transitive1("preceded_by").
comment2("preceded_by","An example is: translation preceded_by transcription; aging preceded_by development (not however death preceded_by aging). Where derives_from links classes of continuants, preceded_by links classes of processes. Clearly, however, these two relations are not independent of each other. Thus if cells of type C1 derive_from cells of type C, then any cell division involving an instance of C1 in a given lineage is preceded_by cellular processes involving an instance of C. The assertion P preceded_by P1 tells us something about Ps in general: that is, it tells us something about what happened earlier, given what we know about what happened later. Thus it does not provide information pointing in the opposite direction, concerning instances of P1 in general; that is, that each is such as to be succeeded by some instance of P. Note that an assertion to the effect that P preceded_by P1 is rather weak; it tells us little about the relations between the underlying instances in virtue of which the preceded_by relation obtains. Typically we will be interested in stronger relations, for example in the relation immediately_preceded_by, or in relations which combine preceded_by with a condition to the effect that the corresponding instances of P and P1 share participants, or that their participants are connected by relations of derivation, or (as a first step along the road to a treatment of causality) that the one process in some way affects (for example, initiates or regulates) the other.").
exported_identifier2("preceded_by","OBO_REL_I:0000017").
text_definition2("preceded_by","P preceded_by P' if and only if: given any process p that instantiates P at a time t, there is some process p' such that p' instantiates P' at time t', and t' is earlier than t. ").
text_definition_xref2("preceded_by","PMID:15892874").
(preceded_by2(p,p1) <-> (occurs_at2(p,t) & occurs_at2(p1,t1) -> earlier_than2(t1,t))).
relation1("first_instant_of").
label2("first_instant_of","first_instant_of").
exported_identifier2("first_instant_of","OBO_REL_I:0000042").
(first_instant_of2(t,p) <-> occurs_at2(p,t) & (earlier_than2(t1,t) -> -(occurs_at2(p,t1)))).
relation1("last_instant_of").
label2("last_instant_of","last_instant_of").
exported_identifier2("last_instant_of","OBO_REL_I:0000043").
(last_instant_of2(t,p) <-> occurs_at2(p,t) & (earlier_than2(t,t1) -> -(occurs_at2(p,t1)))).
relation1("immediately_preceded_by").
label2("immediately_preceded_by","immediately_preceded_by").
exported_identifier2("immediately_preceded_by","OBO_REL_I:0000044").
(immediately_preceded_by2(p,p1) <-> exists t (first_instant_of2(t,p) & last_instant_of2(t,p1))).
relation1("has_duration").
label2("has_duration","has_duration").
domain2("has_duration",Occurrent).
range2("has_duration",TemporalInterval).
text_definition2("has_duration","Instance level relation between an occurrent and a temporal interval, such that the two temporally coincide. The interval is defined by the start and end of the process.").
exported_identifier2("has_duration","OBO_REL_I:0000045").
(has_duration2(p,y) <-> instance_of2(p,Occurrent) & exists t1 (first_instant_of2(t1,p)) & exists t2 (last_instant_of2(t2,p)) & (earlier_than2(t1,t) & earlier_than2(t,t2) -> occurs_at2(p,t)) & (y = interval2(t1,t2))).
relation1("preceded_by_some").
type_type1("preceded_by_some").
label2("preceded_by_some","preceded_by").
type_domain2("preceded_by_some",Occurrent).
type_range2("preceded_by_some",Occurrent).
transitive1("preceded_by_some").
comment2("preceded_by_some","An example is: translation preceded_by_some transcription; aging preceded_by_some development (not however death preceded_by_some aging). Where derives_from links classes of continuants, preceded_by links classes of processes. Clearly, however, these two relations are not independent of each other. Thus if cells of type C1 derive_from cells of type C, then any cell division involving an instance of C1 in a given lineage is preceded_by cellular processes involving an instance of C. The assertion P preceded_by P1 tells us something about Ps in general: that is, it tells us something about what happened earlier, given what we know about what happened later. Thus it does not provide information pointing in the opposite direction, concerning instances of P1 in general; that is, that each is such as to be succeeded by some instance of P. Note that an assertion to the effect that P preceded_by P1 is rather weak; it tells us little about the relations between the underlying instances in virtue of which the preceded_by relation obtains. Typically we will be interested in stronger relations, for example in the relation immediately_preceded_by, or in relations which combine preceded_by with a condition to the effect that the corresponding instances of P and P1 share participants, or that their participants are connected by relations of derivation, or (as a first step along the road to a treatment of causality) that the one process in some way affects (for example, initiates or regulates) the other.").
exported_identifier2("preceded_by_some","OBO_REL_C:0000017").
text_definition2("preceded_by_some","P preceded_by_some P' if and only if: given any process p that instantiates P at a time t, there is some process p' such that p' instantiates P' at time t', and t' is earlier than t. ").
text_definition_xref2("preceded_by_some","PMID:15892874").
relation1("precedes").
label2("precedes","precedes").
domain2("precedes",Occurrent).
range2("precedes",Occurrent).
inverse_of2("precedes","preceded_by").
transitive1("precedes").
exported_identifier2("precedes","OBO_REL_I:0000018").
relation1("earlier_than").
label2("earlier_than","earlier_than").
broad_synonym2("earlier_than","<").
exact_synonym2("earlier_than","earlier").
exact_synonym2("earlier_than","before").
domain2("earlier_than",TemporalInstant).
range2("earlier_than",TemporalInstant).
transitive1("earlier_than").
comment2("earlier_than","earlier_than is treated as a primitive in RO. Neuhaus & Osumi-Sutherland treat befsim as the primitive").
text_definition_xref2("earlier_than","PMID:15892874").
relation1("occurs_in").
label2("occurs_in","occurs_in").
exact_synonym2("occurs_in","unfolds_in").
exact_synonym2("occurs_in","process_located_in").
holds_over_chain3("occurs_in","has_participant","located_in").
exported_identifier2("occurs_in","OBO_REL_I:0000064").
text_definition2("occurs_in","p occurs_in s at t : the participants of of p are spatially contained by s at t.").
(occurs_in3(p,s,t) <-> all c ((has_participant3(p,c,t) -> located_in3(c,s,t)))).
relation1("occurs_in_some").
type_type1("occurs_in_some").
all_some_all_times2("occurs_in_some","occurs_in").
comment2("occurs_in_some","Example: oocyte axis determination : The establishment, maintenance and elaboration of an axis in the oocyte. This process occurs_in the oocyte").
holds_over_chain3("occurs_in_some","has_participant_some","located_in_some").
exported_identifier2("occurs_in_some","OBO_REL_C:0000064").
label2("occurs_in_some","occurs_in_some").
% functional(quality_of)
(quality_of2(x,y) & quality_of2(x,z) -> (y = z)).
% functional(role_of)
(role_of2(x,y) & role_of2(x,z) -> (y = z)).
% functional(quality_of)
(quality_of3(x,y,t) & quality_of3(x,z,t) -> (y = z)).
% functional(role_of)
(role_of3(x,y,t) & role_of3(x,z,t) -> (y = z)).
% transitive(is_a)
(is_a2(x,y) & is_a2(y,z) -> is_a2(x,z)).
% transitive(part_of)
(part_of2(x,y) & part_of2(y,z) -> part_of2(x,z)).
% transitive(part_of_some)
(part_of_some2(x,y) & part_of_some2(y,z) -> part_of_some2(x,z)).
% transitive(has_part)
(has_part2(x,y) & has_part2(y,z) -> has_part2(x,z)).
% transitive(has_part_some)
(has_part_some2(x,y) & has_part_some2(y,z) -> has_part_some2(x,z)).
% transitive(integral_part_of)
(integral_part_of2(x,y) & integral_part_of2(y,z) -> integral_part_of2(x,z)).
% transitive(has_integral_part)
(has_integral_part2(x,y) & has_integral_part2(y,z) -> has_integral_part2(x,z)).
% transitive(proper_part_of)
(proper_part_of2(x,y) & proper_part_of2(y,z) -> proper_part_of2(x,z)).
% transitive(proper_part_of_some)
(proper_part_of_some2(x,y) & proper_part_of_some2(y,z) -> proper_part_of_some2(x,z)).
% transitive(has_proper_part)
(has_proper_part2(x,y) & has_proper_part2(y,z) -> has_proper_part2(x,z)).
% transitive(has_proper_part_some)
(has_proper_part_some2(x,y) & has_proper_part_some2(y,z) -> has_proper_part_some2(x,z)).
% transitive(located_in)
(located_in2(x,y) & located_in2(y,z) -> located_in2(x,z)).
% transitive(located_in_some)
(located_in_some2(x,y) & located_in_some2(y,z) -> located_in_some2(x,z)).
% transitive(location_of)
(location_of2(x,y) & location_of2(y,z) -> location_of2(x,z)).
% transitive(location_of_some)
(location_of_some2(x,y) & location_of_some2(y,z) -> location_of_some2(x,z)).
% transitive(derives_from)
(derives_from2(x,y) & derives_from2(y,z) -> derives_from2(x,z)).
% transitive(derives_from_some)
(derives_from_some2(x,y) & derives_from_some2(y,z) -> derives_from_some2(x,z)).
% transitive(derived_into)
(derived_into2(x,y) & derived_into2(y,z) -> derived_into2(x,z)).
% transitive(transformation_of)
(transformation_of2(x,y) & transformation_of2(y,z) -> transformation_of2(x,z)).
% transitive(preceded_by)
(preceded_by2(x,y) & preceded_by2(y,z) -> preceded_by2(x,z)).
% transitive(preceded_by_some)
(preceded_by_some2(x,y) & preceded_by_some2(y,z) -> preceded_by_some2(x,z)).
% transitive(precedes)
(precedes2(x,y) & precedes2(y,z) -> precedes2(x,z)).
% transitive(earlier_than)
(earlier_than2(x,y) & earlier_than2(y,z) -> earlier_than2(x,z)).
% transitive(is_a)
(is_a3(x,y,t) & is_a3(y,z,t) -> is_a3(x,z,t)).
% transitive(part_of)
(part_of3(x,y,t) & part_of3(y,z,t) -> part_of3(x,z,t)).
% transitive(part_of_some)
(part_of_some3(x,y,t) & part_of_some3(y,z,t) -> part_of_some3(x,z,t)).
% transitive(has_part)
(has_part3(x,y,t) & has_part3(y,z,t) -> has_part3(x,z,t)).
% transitive(has_part_some)
(has_part_some3(x,y,t) & has_part_some3(y,z,t) -> has_part_some3(x,z,t)).
% transitive(integral_part_of)
(integral_part_of3(x,y,t) & integral_part_of3(y,z,t) -> integral_part_of3(x,z,t)).
% transitive(has_integral_part)
(has_integral_part3(x,y,t) & has_integral_part3(y,z,t) -> has_integral_part3(x,z,t)).
% transitive(proper_part_of)
(proper_part_of3(x,y,t) & proper_part_of3(y,z,t) -> proper_part_of3(x,z,t)).
% transitive(proper_part_of_some)
(proper_part_of_some3(x,y,t) & proper_part_of_some3(y,z,t) -> proper_part_of_some3(x,z,t)).
% transitive(has_proper_part)
(has_proper_part3(x,y,t) & has_proper_part3(y,z,t) -> has_proper_part3(x,z,t)).
% transitive(has_proper_part_some)
(has_proper_part_some3(x,y,t) & has_proper_part_some3(y,z,t) -> has_proper_part_some3(x,z,t)).
% transitive(located_in)
(located_in3(x,y,t) & located_in3(y,z,t) -> located_in3(x,z,t)).
% transitive(located_in_some)
(located_in_some3(x,y,t) & located_in_some3(y,z,t) -> located_in_some3(x,z,t)).
% transitive(location_of)
(location_of3(x,y,t) & location_of3(y,z,t) -> location_of3(x,z,t)).
% transitive(location_of_some)
(location_of_some3(x,y,t) & location_of_some3(y,z,t) -> location_of_some3(x,z,t)).
% transitive(derives_from)
(derives_from3(x,y,t) & derives_from3(y,z,t) -> derives_from3(x,z,t)).
% transitive(derives_from_some)
(derives_from_some3(x,y,t) & derives_from_some3(y,z,t) -> derives_from_some3(x,z,t)).
% transitive(derived_into)
(derived_into3(x,y,t) & derived_into3(y,z,t) -> derived_into3(x,z,t)).
% transitive(transformation_of)
(transformation_of3(x,y,t) & transformation_of3(y,z,t) -> transformation_of3(x,z,t)).
% transitive(preceded_by)
(preceded_by3(x,y,t) & preceded_by3(y,z,t) -> preceded_by3(x,z,t)).
% transitive(preceded_by_some)
(preceded_by_some3(x,y,t) & preceded_by_some3(y,z,t) -> preceded_by_some3(x,z,t)).
% transitive(precedes)
(precedes3(x,y,t) & precedes3(y,z,t) -> precedes3(x,z,t)).
% transitive(earlier_than)
(earlier_than3(x,y,t) & earlier_than3(y,z,t) -> earlier_than3(x,z,t)).
% subrelation(integral_part_of, part_of_some)
(integral_part_of3(x,y,t) -> part_of_some3(x,y,t)).
% subrelation(has_integral_part, has_part_some)
(has_integral_part3(x,y,t) -> has_part_some3(x,y,t)).
% subrelation(proper_part_of, part_of)
(proper_part_of3(x,y,t) -> part_of3(x,y,t)).
% subrelation(proper_part_of_some, part_of_some)
(proper_part_of_some3(x,y,t) -> part_of_some3(x,y,t)).
% subrelation(has_proper_part, has_part)
(has_proper_part3(x,y,t) -> has_part3(x,y,t)).
% subrelation(has_proper_part_some, has_part_some)
(has_proper_part_some3(x,y,t) -> has_part_some3(x,y,t)).
% subrelation(partially_overlaps, overlaps)
(partially_overlaps3(x,y,t) -> overlaps3(x,y,t)).
% subrelation(has_agent, has_participant)
(has_agent3(x,y,t) -> has_participant3(x,y,t)).
% subrelation(has_agent_some, has_participant_some)
(has_agent_some3(x,y,t) -> has_participant_some3(x,y,t)).
% subrelation(agent_in, participates_in)
(agent_in3(x,y,t) -> participates_in3(x,y,t)).
% subrelation(agent_in_some, participates_in_some)
(agent_in_some3(x,y,t) -> participates_in_some3(x,y,t)).
% subrelation(quality_of, inheres_in)
(quality_of3(x,y,t) -> inheres_in3(x,y,t)).
% subrelation(quality_of_some, inheres_in_some)
(quality_of_some3(x,y,t) -> inheres_in_some3(x,y,t)).
% subrelation(has_quality, bearer_of)
(has_quality3(x,y,t) -> bearer_of3(x,y,t)).
% subrelation(has_quality_some, bearer_of_some)
(has_quality_some3(x,y,t) -> bearer_of_some3(x,y,t)).
% subrelation(function_of, inheres_in)
(function_of3(x,y,t) -> inheres_in3(x,y,t)).
% subrelation(function_of_some, inheres_in_some)
(function_of_some3(x,y,t) -> inheres_in_some3(x,y,t)).
% subrelation(has_function, bearer_of)
(has_function3(x,y,t) -> bearer_of3(x,y,t)).
% subrelation(has_function_some, bearer_of_some)
(has_function_some3(x,y,t) -> bearer_of_some3(x,y,t)).
% subrelation(role_of, inheres_in)
(role_of3(x,y,t) -> inheres_in3(x,y,t)).
% subrelation(role_of_some, inheres_in_some)
(role_of_some3(x,y,t) -> inheres_in_some3(x,y,t)).
% subrelation(has_role, bearer_of)
(has_role3(x,y,t) -> bearer_of3(x,y,t)).
% subrelation(has_role_some, bearer_of_some)
(has_role_some3(x,y,t) -> bearer_of_some3(x,y,t)).
% subrelation(integral_part_of, part_of_some)
(integral_part_of2(x,y) -> part_of_some2(x,y)).
% subrelation(has_integral_part, has_part_some)
(has_integral_part2(x,y) -> has_part_some2(x,y)).
% subrelation(proper_part_of, part_of)
(proper_part_of2(x,y) -> part_of2(x,y)).
% subrelation(proper_part_of_some, part_of_some)
(proper_part_of_some2(x,y) -> part_of_some2(x,y)).
% subrelation(has_proper_part, has_part)
(has_proper_part2(x,y) -> has_part2(x,y)).
% subrelation(has_proper_part_some, has_part_some)
(has_proper_part_some2(x,y) -> has_part_some2(x,y)).
% subrelation(partially_overlaps, overlaps)
(partially_overlaps2(x,y) -> overlaps2(x,y)).
% subrelation(has_agent, has_participant)
(has_agent2(x,y) -> has_participant2(x,y)).
% subrelation(has_agent_some, has_participant_some)
(has_agent_some2(x,y) -> has_participant_some2(x,y)).
% subrelation(agent_in, participates_in)
(agent_in2(x,y) -> participates_in2(x,y)).
% subrelation(agent_in_some, participates_in_some)
(agent_in_some2(x,y) -> participates_in_some2(x,y)).
% subrelation(quality_of, inheres_in)
(quality_of2(x,y) -> inheres_in2(x,y)).
% subrelation(quality_of_some, inheres_in_some)
(quality_of_some2(x,y) -> inheres_in_some2(x,y)).
% subrelation(has_quality, bearer_of)
(has_quality2(x,y) -> bearer_of2(x,y)).
% subrelation(has_quality_some, bearer_of_some)
(has_quality_some2(x,y) -> bearer_of_some2(x,y)).
% subrelation(function_of, inheres_in)
(function_of2(x,y) -> inheres_in2(x,y)).
% subrelation(function_of_some, inheres_in_some)
(function_of_some2(x,y) -> inheres_in_some2(x,y)).
% subrelation(has_function, bearer_of)
(has_function2(x,y) -> bearer_of2(x,y)).
% subrelation(has_function_some, bearer_of_some)
(has_function_some2(x,y) -> bearer_of_some2(x,y)).
% subrelation(role_of, inheres_in)
(role_of2(x,y) -> inheres_in2(x,y)).
% subrelation(role_of_some, inheres_in_some)
(role_of_some2(x,y) -> inheres_in_some2(x,y)).
% subrelation(has_role, bearer_of)
(has_role2(x,y) -> bearer_of2(x,y)).
% subrelation(has_role_some, bearer_of_some)
(has_role_some2(x,y) -> bearer_of_some2(x,y)).
% proper_subrelation(proper_part_of, part_of)
(proper_part_of2(x,y) -> part_of2(x,y) & -((x = y))).
% holds_over_chain(has_participant, realizes, inheres_in)
(realizes3(x,y,t) & inheres_in3(y,z,t) -> has_participant3(x,z,t)).
% holds_over_chain(participates_in, has_bearer, realized_by)
(has_bearer3(x,y,t) & realized_by3(y,z,t) -> participates_in3(x,z,t)).
% holds_over_chain(occurs_in, has_participant, located_in)
(has_participant3(x,y,t) & located_in3(y,z,t) -> occurs_in3(x,z,t)).
% holds_over_chain(occurs_in_some, has_participant_some, located_in_some)
(has_participant_some3(x,y,t) & located_in_some3(y,z,t) -> occurs_in_some3(x,z,t)).
% holds_over_chain(has_participant, realizes, inheres_in)
(realizes2(x,y) & inheres_in2(y,z) -> has_participant2(x,z)).
% holds_over_chain(participates_in, has_bearer, realized_by)
(has_bearer2(x,y) & realized_by2(y,z) -> participates_in2(x,z)).
% holds_over_chain(occurs_in, has_participant, located_in)
(has_participant2(x,y) & located_in2(y,z) -> occurs_in2(x,z)).
% holds_over_chain(occurs_in_some, has_participant_some, located_in_some)
(has_participant_some2(x,y) & located_in_some2(y,z) -> occurs_in_some2(x,z)).
% transitive_over(located_in, part_of)
(located_in3(x,y,t) & part_of3(y,z,t) -> located_in3(x,z,t)).
% transitive_over(located_in_some, part_of_some)
(located_in_some3(x,y,t) & part_of_some3(y,z,t) -> located_in_some3(x,z,t)).
% transitive_over(has_participant, part_of)
(has_participant3(x,y,t) & part_of3(y,z,t) -> has_participant3(x,z,t)).
% transitive_over(realized_by, part_of)
(realized_by3(x,y,t) & part_of3(y,z,t) -> realized_by3(x,z,t)).
% transitive_over(located_in, part_of)
(located_in2(x,y) & part_of2(y,z) -> located_in2(x,z)).
% transitive_over(located_in_some, part_of_some)
(located_in_some2(x,y) & part_of_some2(y,z) -> located_in_some2(x,z)).
% transitive_over(has_participant, part_of)
(has_participant2(x,y) & part_of2(y,z) -> has_participant2(x,z)).
% transitive_over(realized_by, part_of)
(realized_by2(x,y) & part_of2(y,z) -> realized_by2(x,z)).
% symmetric(adjacent_to)
(adjacent_to2(x,y) -> adjacent_to2(y,x)).
% symmetric(overlaps)
(overlaps2(x,y) -> overlaps2(y,x)).
% symmetric(partially_overlap)
(partially_overlap2(x,y) -> partially_overlap2(y,x)).
% symmetric(underlaps)
(underlaps2(x,y) -> underlaps2(y,x)).
% symmetric(adjacent_to)
(adjacent_to3(x,y,t) -> adjacent_to3(y,x,t)).
% symmetric(overlaps)
(overlaps3(x,y,t) -> overlaps3(y,x,t)).
% symmetric(partially_overlap)
(partially_overlap3(x,y,t) -> partially_overlap3(y,x,t)).
% symmetric(underlaps)
(underlaps3(x,y,t) -> underlaps3(y,x,t)).
% inverse_of(part_of, has_part)
(part_of2(x,y) <-> has_part2(y,x)).
% inverse_of(has_part, part_of)
(has_part2(x,y) <-> part_of2(y,x)).
% inverse_of(integral_part_of, has_integral_part)
(integral_part_of2(x,y) <-> has_integral_part2(y,x)).
% inverse_of(proper_part_of, has_proper_part)
(proper_part_of2(x,y) <-> has_proper_part2(y,x)).
% inverse_of(has_proper_part, proper_part_of)
(has_proper_part2(x,y) <-> proper_part_of2(y,x)).
% inverse_of(contained_in, contains)
(contained_in2(x,y) <-> contains2(y,x)).
% inverse_of(contains, contained_in)
(contains2(x,y) <-> contained_in2(y,x)).
% inverse_of(located_in, location_of)
(located_in2(x,y) <-> location_of2(y,x)).
% inverse_of(location_of, located_in)
(location_of2(x,y) <-> located_in2(y,x)).
% inverse_of(has_participant, participates_in)
(has_participant2(x,y) <-> participates_in2(y,x)).
% inverse_of(participates_in, has_participant)
(participates_in2(x,y) <-> has_participant2(y,x)).
% inverse_of(has_agent, agent_in)
(has_agent2(x,y) <-> agent_in2(y,x)).
% inverse_of(agent_in, has_agent)
(agent_in2(x,y) <-> has_agent2(y,x)).
% inverse_of(inheres_in, bearer_of)
(inheres_in2(x,y) <-> bearer_of2(y,x)).
% inverse_of(bearer_of, inheres_in)
(bearer_of2(x,y) <-> inheres_in2(y,x)).
% inverse_of(quality_of, has_quality)
(quality_of2(x,y) <-> has_quality2(y,x)).
% inverse_of(has_quality, quality_of)
(has_quality2(x,y) <-> quality_of2(y,x)).
% inverse_of(function_of, has_function)
(function_of2(x,y) <-> has_function2(y,x)).
% inverse_of(has_function, function_of)
(has_function2(x,y) <-> function_of2(y,x)).
% inverse_of(role_of, has_role)
(role_of2(x,y) <-> has_role2(y,x)).
% inverse_of(has_role, role_of)
(has_role2(x,y) <-> role_of2(y,x)).
% inverse_of(realizes, realized_by)
(realizes2(x,y) <-> realized_by2(y,x)).
% inverse_of(realized_by, realizes)
(realized_by2(x,y) <-> realizes2(y,x)).
% inverse_of(derives_from, derived_into)
(derives_from2(x,y) <-> derived_into2(y,x)).
% inverse_of(derived_into, derives_from)
(derived_into2(x,y) <-> derives_from2(y,x)).
% inverse_of(preceded_by, precedes)
(preceded_by2(x,y) <-> precedes2(y,x)).
% inverse_of(precedes, preceded_by)
(precedes2(x,y) <-> preceded_by2(y,x)).
% inverse_of(part_of, has_part)
(part_of3(x,y,t) <-> has_part3(y,x,t)).
% inverse_of(has_part, part_of)
(has_part3(x,y,t) <-> part_of3(y,x,t)).
% inverse_of(integral_part_of, has_integral_part)
(integral_part_of3(x,y,t) <-> has_integral_part3(y,x,t)).
% inverse_of(proper_part_of, has_proper_part)
(proper_part_of3(x,y,t) <-> has_proper_part3(y,x,t)).
% inverse_of(has_proper_part, proper_part_of)
(has_proper_part3(x,y,t) <-> proper_part_of3(y,x,t)).
% inverse_of(contained_in, contains)
(contained_in3(x,y,t) <-> contains3(y,x,t)).
% inverse_of(contains, contained_in)
(contains3(x,y,t) <-> contained_in3(y,x,t)).
% inverse_of(located_in, location_of)
(located_in3(x,y,t) <-> location_of3(y,x,t)).
% inverse_of(location_of, located_in)
(location_of3(x,y,t) <-> located_in3(y,x,t)).
% inverse_of(has_participant, participates_in)
(has_participant3(x,y,t) <-> participates_in3(y,x,t)).
% inverse_of(participates_in, has_participant)
(participates_in3(x,y,t) <-> has_participant3(y,x,t)).
% inverse_of(has_agent, agent_in)
(has_agent3(x,y,t) <-> agent_in3(y,x,t)).
% inverse_of(agent_in, has_agent)
(agent_in3(x,y,t) <-> has_agent3(y,x,t)).
% inverse_of(inheres_in, bearer_of)
(inheres_in3(x,y,t) <-> bearer_of3(y,x,t)).
% inverse_of(bearer_of, inheres_in)
(bearer_of3(x,y,t) <-> inheres_in3(y,x,t)).
% inverse_of(quality_of, has_quality)
(quality_of3(x,y,t) <-> has_quality3(y,x,t)).
% inverse_of(has_quality, quality_of)
(has_quality3(x,y,t) <-> quality_of3(y,x,t)).
% inverse_of(function_of, has_function)
(function_of3(x,y,t) <-> has_function3(y,x,t)).
% inverse_of(has_function, function_of)
(has_function3(x,y,t) <-> function_of3(y,x,t)).
% inverse_of(role_of, has_role)
(role_of3(x,y,t) <-> has_role3(y,x,t)).
% inverse_of(has_role, role_of)
(has_role3(x,y,t) <-> role_of3(y,x,t)).
% inverse_of(realizes, realized_by)
(realizes3(x,y,t) <-> realized_by3(y,x,t)).
% inverse_of(realized_by, realizes)
(realized_by3(x,y,t) <-> realizes3(y,x,t)).
% inverse_of(derives_from, derived_into)
(derives_from3(x,y,t) <-> derived_into3(y,x,t)).
% inverse_of(derived_into, derives_from)
(derived_into3(x,y,t) <-> derives_from3(y,x,t)).
% inverse_of(preceded_by, precedes)
(preceded_by3(x,y,t) <-> precedes3(y,x,t)).
% inverse_of(precedes, preceded_by)
(precedes3(x,y,t) <-> preceded_by3(y,x,t)).
% homeomorphic_for(part_of, IndependentContinuant)
(part_of3(x,y,t) & instance_of3(x,IndependentContinuant,t) -> instance_of3(y,IndependentContinuant,t)).
% homeomorphic_for(part_of, DependentContinuant)
(part_of3(x,y,t) & instance_of3(x,DependentContinuant,t) -> instance_of3(y,DependentContinuant,t)).
% homeomorphic_for(part_of, Occurrent)
(part_of3(x,y,t) & instance_of3(x,Occurrent,t) -> instance_of3(y,Occurrent,t)).
% homeomorphic_for(part_of, Process)
(part_of3(x,y,t) & instance_of3(x,Process,t) -> instance_of3(y,Process,t)).
% homeomorphic_for(part_of, Role)
(part_of3(x,y,t) & instance_of3(x,Role,t) -> instance_of3(y,Role,t)).
% homeomorphic_for(part_of, Quality)
(part_of3(x,y,t) & instance_of3(x,Quality,t) -> instance_of3(y,Quality,t)).
% homeomorphic_for(part_of, RealizableEntity)
(part_of3(x,y,t) & instance_of3(x,RealizableEntity,t) -> instance_of3(y,RealizableEntity,t)).
% homeomorphic_for(part_of, SpatialRegion)
(part_of3(x,y,t) & instance_of3(x,SpatialRegion,t) -> instance_of3(y,SpatialRegion,t)).
% homeomorphic_for(part_of, ProcessualEntity)
(part_of3(x,y,t) & instance_of3(x,ProcessualEntity,t) -> instance_of3(y,ProcessualEntity,t)).
% homeomorphic_for(part_of, IndependentContinuant)
(part_of2(x,y) & instance_of2(x,IndependentContinuant) -> instance_of2(y,IndependentContinuant)).
% homeomorphic_for(part_of, DependentContinuant)
(part_of2(x,y) & instance_of2(x,DependentContinuant) -> instance_of2(y,DependentContinuant)).
% homeomorphic_for(part_of, Occurrent)
(part_of2(x,y) & instance_of2(x,Occurrent) -> instance_of2(y,Occurrent)).
% homeomorphic_for(part_of, Process)
(part_of2(x,y) & instance_of2(x,Process) -> instance_of2(y,Process)).
% homeomorphic_for(part_of, Role)
(part_of2(x,y) & instance_of2(x,Role) -> instance_of2(y,Role)).
% homeomorphic_for(part_of, Quality)
(part_of2(x,y) & instance_of2(x,Quality) -> instance_of2(y,Quality)).
% homeomorphic_for(part_of, RealizableEntity)
(part_of2(x,y) & instance_of2(x,RealizableEntity) -> instance_of2(y,RealizableEntity)).
% homeomorphic_for(part_of, SpatialRegion)
(part_of2(x,y) & instance_of2(x,SpatialRegion) -> instance_of2(y,SpatialRegion)).
% homeomorphic_for(part_of, ProcessualEntity)
(part_of2(x,y) & instance_of2(x,ProcessualEntity) -> instance_of2(y,ProcessualEntity)).
% holds_atemporally_between(part_of, Occurrent, Occurrent)
(part_of2(x,y) -> instance_of2(x,Occurrent) & instance_of2(y,Occurrent)).
% domain(adjacent_to, IndependentContinuant)
(adjacent_to2(x,u_) -> instance_of2(x,IndependentContinuant)).
% domain(contained_in, IndependentContinuant)
(contained_in2(x,u_) -> instance_of2(x,IndependentContinuant)).
% domain(located_in, Continuant)
(located_in2(x,u_) -> instance_of2(x,Continuant)).
% domain(location_of, Continuant)
(location_of2(x,u_) -> instance_of2(x,Continuant)).
% domain(overlaps, IndependentContinuant)
(overlaps2(x,u_) -> instance_of2(x,IndependentContinuant)).
% domain(partially_overlaps, IndependentContinuant)
(partially_overlaps2(x,u_) -> instance_of2(x,IndependentContinuant)).
% domain(underlaps, IndependentContinuant)
(underlaps2(x,u_) -> instance_of2(x,IndependentContinuant)).
% domain(has_participant, Occurrent)
(has_participant2(x,u_) -> instance_of2(x,Occurrent)).
% domain(participates_in, IndependentContinuant)
(participates_in2(x,u_) -> instance_of2(x,IndependentContinuant)).
% domain(agent_in, IndependentContinuant)
(agent_in2(x,u_) -> instance_of2(x,IndependentContinuant)).
% domain(inheres_in, DependentContinuant)
(inheres_in2(x,u_) -> instance_of2(x,DependentContinuant)).
% domain(quality_of, Quality)
(quality_of2(x,u_) -> instance_of2(x,Quality)).
% domain(function_of, Function)
(function_of2(x,u_) -> instance_of2(x,Function)).
% domain(has_function, IndependentContinuant)
(has_function2(x,u_) -> instance_of2(x,IndependentContinuant)).
% domain(role_of, Role)
(role_of2(x,u_) -> instance_of2(x,Role)).
% domain(has_role, IndependentContinuant)
(has_role2(x,u_) -> instance_of2(x,IndependentContinuant)).
% domain(realizes, Process)
(realizes2(x,u_) -> instance_of2(x,Process)).
% domain(realized_by, RealizableEntity)
(realized_by2(x,u_) -> instance_of2(x,RealizableEntity)).
% domain(derives_from, Continuant)
(derives_from2(x,u_) -> instance_of2(x,Continuant)).
% domain(derived_into, Continuant)
(derived_into2(x,u_) -> instance_of2(x,Continuant)).
% domain(exists_at, Continuant)
(exists_at2(x,u_) -> instance_of2(x,Continuant)).
% domain(occurs_at, Occurrent)
(occurs_at2(x,u_) -> instance_of2(x,Occurrent)).
% domain(preceded_by, Occurrent)
(preceded_by2(x,u_) -> instance_of2(x,Occurrent)).
% domain(has_duration, Occurrent)
(has_duration2(x,u_) -> instance_of2(x,Occurrent)).
% domain(precedes, Occurrent)
(precedes2(x,u_) -> instance_of2(x,Occurrent)).
% domain(earlier_than, TemporalInstant)
(earlier_than2(x,u_) -> instance_of2(x,TemporalInstant)).
% range(adjacent_to, IndependentContinuant)
(adjacent_to2(u_,x) -> instance_of2(x,IndependentContinuant)).
% range(contained_in, IndependentContinuant)
(contained_in2(u_,x) -> instance_of2(x,IndependentContinuant)).
% range(located_in, IndependentContinuant)
(located_in2(u_,x) -> instance_of2(x,IndependentContinuant)).
% range(location_of, Continuant)
(location_of2(u_,x) -> instance_of2(x,Continuant)).
% range(overlaps, IndependentContinuant)
(overlaps2(u_,x) -> instance_of2(x,IndependentContinuant)).
% range(partially_overlaps, IndependentContinuant)
(partially_overlaps2(u_,x) -> instance_of2(x,IndependentContinuant)).
% range(underlaps, IndependentContinuant)
(underlaps2(u_,x) -> instance_of2(x,IndependentContinuant)).
% range(has_participant, IndependentContinuant)
(has_participant2(u_,x) -> instance_of2(x,IndependentContinuant)).
% range(participates_in, Occurrent)
(participates_in2(u_,x) -> instance_of2(x,Occurrent)).
% range(agent_in, Occurrent)
(agent_in2(u_,x) -> instance_of2(x,Occurrent)).
% range(bearer_of, DependentContinuant)
(bearer_of2(u_,x) -> instance_of2(x,DependentContinuant)).
% range(has_quality, Quality)
(has_quality2(u_,x) -> instance_of2(x,Quality)).
% range(function_of, IndependentContinuant)
(function_of2(u_,x) -> instance_of2(x,IndependentContinuant)).
% range(has_function, Function)
(has_function2(u_,x) -> instance_of2(x,Function)).
% range(role_of, IndependentContinuant)
(role_of2(u_,x) -> instance_of2(x,IndependentContinuant)).
% range(has_role, Role)
(has_role2(u_,x) -> instance_of2(x,Role)).
% range(realizes, RealizableEntity)
(realizes2(u_,x) -> instance_of2(x,RealizableEntity)).
% range(realized_by, Process)
(realized_by2(u_,x) -> instance_of2(x,Process)).
% range(derives_from, Continuant)
(derives_from2(u_,x) -> instance_of2(x,Continuant)).
% range(derived_into, Continuant)
(derived_into2(u_,x) -> instance_of2(x,Continuant)).
% range(exists_at, TemporalInstant)
(exists_at2(u_,x) -> instance_of2(x,TemporalInstant)).
% range(occurs_at, TemporalInstant)
(occurs_at2(u_,x) -> instance_of2(x,TemporalInstant)).
% range(preceded_by, Occurrent)
(preceded_by2(u_,x) -> instance_of2(x,Occurrent)).
% range(has_duration, TemporalInterval)
(has_duration2(u_,x) -> instance_of2(x,TemporalInterval)).
% range(precedes, Occurrent)
(precedes2(u_,x) -> instance_of2(x,Occurrent)).
% range(earlier_than, TemporalInstant)
(earlier_than2(u_,x) -> instance_of2(x,TemporalInstant)).
% all_some_all_times(part_of_some, part_of)
(part_of_some2(uX,uY) <-> all x all t ((instance_of3(x,uX,t) -> exists y (part_of3(x,y,t) & instance_of3(y,uY,t))))).
% all_some_all_times(has_part_some, has_part)
(has_part_some2(uX,uY) <-> all x all t ((instance_of3(x,uX,t) -> exists y (has_part3(x,y,t) & instance_of3(y,uY,t))))).
% all_some_all_times(adjacent_to_some, adjacent_to)
(adjacent_to_some2(uX,uY) <-> all x all t ((instance_of3(x,uX,t) -> exists y (adjacent_to3(x,y,t) & instance_of3(y,uY,t))))).
% all_some_all_times(contained_in_some, contained_in)
(contained_in_some2(uX,uY) <-> all x all t ((instance_of3(x,uX,t) -> exists y (contained_in3(x,y,t) & instance_of3(y,uY,t))))).
% all_some_all_times(located_in_some, located_in)
(located_in_some2(uX,uY) <-> all x all t ((instance_of3(x,uX,t) -> exists y (located_in3(x,y,t) & instance_of3(y,uY,t))))).
% all_some_all_times(location_of_some, location_of)
(location_of_some2(uX,uY) <-> all x all t ((instance_of3(x,uX,t) -> exists y (location_of3(x,y,t) & instance_of3(y,uY,t))))).
% all_some_all_times(overlaps_some, overlaps)
(overlaps_some2(uX,uY) <-> all x all t ((instance_of3(x,uX,t) -> exists y (overlaps3(x,y,t) & instance_of3(y,uY,t))))).
% all_some_all_times(inheres_in_some, inheres_in)
(inheres_in_some2(uX,uY) <-> all x all t ((instance_of3(x,uX,t) -> exists y (inheres_in3(x,y,t) & instance_of3(y,uY,t))))).
% all_some_all_times(bearer_of_some, bearer_of)
(bearer_of_some2(uX,uY) <-> all x all t ((instance_of3(x,uX,t) -> exists y (bearer_of3(x,y,t) & instance_of3(y,uY,t))))).
% all_some_all_times(quality_of_some, quality_of)
(quality_of_some2(uX,uY) <-> all x all t ((instance_of3(x,uX,t) -> exists y (quality_of3(x,y,t) & instance_of3(y,uY,t))))).
% all_some_all_times(has_quality_some, has_quality)
(has_quality_some2(uX,uY) <-> all x all t ((instance_of3(x,uX,t) -> exists y (has_quality3(x,y,t) & instance_of3(y,uY,t))))).
% all_some_all_times(function_of_some, function_of)
(function_of_some2(uX,uY) <-> all x all t ((instance_of3(x,uX,t) -> exists y (function_of3(x,y,t) & instance_of3(y,uY,t))))).
% all_some_all_times(has_function_some, has_function)
(has_function_some2(uX,uY) <-> all x all t ((instance_of3(x,uX,t) -> exists y (has_function3(x,y,t) & instance_of3(y,uY,t))))).
% all_some_all_times(role_of_some, role_of)
(role_of_some2(uX,uY) <-> all x all t ((instance_of3(x,uX,t) -> exists y (role_of3(x,y,t) & instance_of3(y,uY,t))))).
% all_some_all_times(has_role_some, has_role)
(has_role_some2(uX,uY) <-> all x all t ((instance_of3(x,uX,t) -> exists y (has_role3(x,y,t) & instance_of3(y,uY,t))))).
% all_some_all_times(occurs_in_some, occurs_in)
(occurs_in_some2(uX,uY) <-> all x all t ((instance_of3(x,uX,t) -> exists y (occurs_in3(x,y,t) & instance_of3(y,uY,t))))).
% all_some(part_of_some, part_of)
(part_of_some2(uX,uY) <-> all x ((instance_of2(x,uX) -> exists y (part_of2(x,y) & instance_of2(y,uY))))).
% all_some(proper_part_of_some, proper_part_of)
(proper_part_of_some2(uX,uY) <-> all x ((instance_of2(x,uX) -> exists y (proper_part_of2(x,y) & instance_of2(y,uY))))).
% all_some(has_proper_part_some, has_proper_part)
(has_proper_part_some2(uX,uY) <-> all x ((instance_of2(x,uX) -> exists y (has_proper_part2(x,y) & instance_of2(y,uY))))).
% all_some(has_participant_some, has_participant)
(has_participant_some2(uX,uY) <-> all x ((instance_of2(x,uX) -> exists y (has_participant2(x,y) & instance_of2(y,uY))))).
% all_some(participates_in_some, participates_in)
(participates_in_some2(uX,uY) <-> all x ((instance_of2(x,uX) -> exists y (participates_in2(x,y) & instance_of2(y,uY))))).
% all_some(has_agent_some, has_agent)
(has_agent_some2(uX,uY) <-> all x ((instance_of2(x,uX) -> exists y (has_agent2(x,y) & instance_of2(y,uY))))).
% all_some(agent_in_some, agent_in)
(agent_in_some2(uX,uY) <-> all x ((instance_of2(x,uX) -> exists y (agent_in2(x,y) & instance_of2(y,uY))))).
% all_some(realizes_some, realizes)
(realizes_some2(uX,uY) <-> all x ((instance_of2(x,uX) -> exists y (realizes2(x,y) & instance_of2(y,uY))))).
% all_some(realized_by_some, realized_by)
(realized_by_some2(uX,uY) <-> all x ((instance_of2(x,uX) -> exists y (realized_by2(x,y) & instance_of2(y,uY))))).
end_of_list.