Code Monkey home page Code Monkey logo

bfo-2020's People

Contributors

alanruttenberg avatar johnbeve avatar rorudn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bfo-2020's Issues

Typo in Relational Quality Definition

The text definition for Relational Quality reads:
"b is a relational quality =Def b is a quality and there exists c and d such that b and c are not identical, & b s-depends on c & b s-depends on d"

I think this should say that the two relata, c and d, are not identical, rather than the b, the relational quality, isn't identical to one of the relata. (If what's intended is that no relational quality relates itself to anything else, then the definition should include that b and d are not identical, as well. However, I don't think that was the idea.)

Most all-times relations erroneously predicated on existence of object rather than subject

The at-all-times relations were predicated on the existence of the object instead of the subject.
e.g.

 (iff (has-material-basis-at-all-times p q)
  (and (exists (t) (and (has-material-basis p q t) (exists-at p t)))
   (forall (t) (if (exists-at q t) (has-material-basis p q t))))))

should be

 (iff (has-material-basis-at-all-times p q)
  (and (exists (t) (and (has-material-basis p q t) (exists-at p t)))
   (forall (t) (if (exists-at p t) (has-material-basis p q t))))))

Note the different in the argument to exists-at in the third line.

Axiom parts-of-common-whole-and-located-in-one-means-part-of-it is wrong.

Is this axiom correct? If it is correct, explain why. If not, remove it.

    (forall (x y t)
     (if
      (exists (w)
       (and (continuant-part-of x w t) (continuant-part-of y w t)))
      (and (if (located-in x y t) (continuant-part-of x y t))
       (if (located-in y x t) (continuant-part-of y x t)))))

Question from Hedi Karray

concretizes definition too restricted

The definition of concretizes at all times in bfo-2020.ttl states:

"an s-dependent continuant b concretizes a g-dependent continuant c at all times =Def for all times t, b exists at t implies (c is the pattern or content which b shares at t with actual or potential copies)"

From this definition, one would understand the domain to be SDC and the range GDC.

However, the domain in OWL is restricted to SDC or Process.

Hence, the definition needs to be expanded to allow 'b' to be a process and specify the conditions under which a process can concretize a GDC.

The same holds for concretizes at some times .

Find and eliminate cases where and/or is used with a single clause.

Werner Ceusters points one out

(cl:comment "quality, realizable-entity are mutually disjoint [ksk-1]"
  (and
   (not
    (exists (x t)
     (and (instance-of x quality t)
      (instance-of x realizable-entity t))))))

It's possible that there are axioms generated by a macro that might include multiple clauses but didn't go to the effort of not having the "and" in the case there was one. It's logically well-defined so it's a cosmetic fix rather than something that affects the logic.

Covering axioms missing

Looks like some covering axioms were excluded. Looks like they were marked "universal-covering" and I included "covering". Thanks to Dave Lutz.

Request for a picture of BFO2020

It would be very helpful for users to have a picture of the classes in BFO 2020 on one page. If it could be made in a program CMaps and the cmaps file made available (in addition to jpg, pdf etc) that would be very useful. Thanks.

show that the bearer of an sdc/gdc must participate in a process

@alanruttenberg Following up on this COB issue.

The domain of the participates in relations are sdc, gdc, or ic but not spatial region. Together with the axioms that there must be a participant and that sdc and gdc participants imply a bearer participates, and bearers are material, one would conclude that it must be a material entity. When I'm next doing that sort of thing, I'll try to show it's provable.

These two CL axioms seem to prove this: SDC, GDC

Are you going to show how to run the theorem prover that uses the CL files?
Should object property chain be created in the OWL version that reflects this?

Can sites and boundaries have dispositions?

Models with sites that have specific dependents aren't inconsistent currently, but the elucidation of disposition says

(Elucidation) b is a disposition means: b is a realizable entity & b's bearer is some material entity & b is such that if it ceases to exist, then its bearer is physically changed, & b's realization occurs when and because this bearer is in some special physical circumstances, & this realization occurs in virtue of the bearer's physical make-up

This would seem to rule out sites and boundaries with functions. A decision has to be made and then then either the elucidation of disposition needs to be modified to remove the material entity clause or axioms have to be added to rule out models where sites or boundaries have specific dependents.

FWIW I've always though that sites and boundaries can have dependents. They are independent continuants, and there are border lengths and surface areas (qualities) and that tapping wood creates a site one function of which is to put the screw into it, loosely speaking.

Organizations as Object Aggregates

Given extensional mereology for object aggregates, if organizations are object aggregates, then if two organizations (x and y) have member parts at all times the same set of members, then x=y.

Are there compelling counterexamples here?

These would need to be cases where:

  • X and Y are instances of Organization.
  • X and Y come to exist at the same time.
  • X and Y cease to exist at the same time.
  • X and Y share membership.
  • X is not identical to Y.

Is spatial region an independent continuant?

Several relations have a domain or range of “independent continuant that is not a spatial region.“

Meaning “material entity or immaterial entity”?

”spatial region is an independent continuant” is not defined or elucidated.

Either the elucidation for spatial region is incomplete, or the domain and/or range is off for several relations.

7726E05D-AF50-49F8-8859-940AB6A5CB68
6EADE8BE-E4AD-4E77-9A2F-B3EF7C1D7371
60EF017E-7B25-4605-9087-348A7052C72D

Meaningless prefix

In all the OWL files, the prefix for namespace http://www.w3.org/2004/02/skos/core# is j.0. Can it be changed to skos?

Identity criteria for temporal parts of processes?

In CommonCoreOntology/CommonCoreOntologies#112 (comment) I mention that I think that the following make sense. I don't remember if there's already an axiom to that effect or whether it is entailed, so this issue is a reminder to check, and to have a place for possible objections to this if it isn't.

if p1 is a temporal part of p that occupies temporal region t and p2 is a temporal part of p that occupies temporal region that also occupies t, then p1 = p2.

Use of distinct predicate

The CL axiomatisation uses the 'distinct' predicate:

(cl:comment "continuant, material-entity, object, fiat-object-part, object-aggregate, site, immaterial-entity, continuant-fiat-boundary, fiat-surface, fiat-line, fiat-point, spatial-region, three-dimensional-spatial-region, two-dimensional-spatial-region, one-dimensional-spatial-region, zero-dimensional-spatial-region, independent-continuant, generically-dependent-continuant, specifically-dependent-continuant, quality, relational-quality, function, disposition, realizable-entity, role, occurrent, process, process-boundary, temporal-region, zero-dimensional-temporal-region, temporal-instant, one-dimensional-temporal-region, temporal-interval, history, spatiotemporal-region are all different [xtf-1]"
(distinct continuant material-entity object fiat-object-part
object-aggregate site immaterial-entity continuant-fiat-boundary
fiat-surface fiat-line fiat-point spatial-region
three-dimensional-spatial-region two-dimensional-spatial-region
one-dimensional-spatial-region zero-dimensional-spatial-region
independent-continuant generically-dependent-continuant
specifically-dependent-continuant quality relational-quality
function disposition realizable-entity role occurrent process
process-boundary temporal-region zero-dimensional-temporal-region
temporal-instant one-dimensional-temporal-region temporal-interval
history spatiotemporal-region))

Note that CL does not provide any semantics for this predicate, so if the intention was to convey the same constraint as in:

% continuant, material-entity, object, fiat-object-part, object-aggregate, site, immaterial-entity, continuant-fiat-boundary, fiat-surface, fiat-line, fiat-point, spatial-region, three-dimensional-spatial-region, two-dimensional-spatial-region, one-dimensional-spatial-region, zero-dimensional-spatial-region, independent-continuant, generically-dependent-continuant, specifically-dependent-continuant, quality, relational-quality, function, disposition, realizable-entity, role, occurrent, process, process-boundary, temporal-region, zero-dimensional-temporal-region, temporal-instant, one-dimensional-temporal-region, temporal-interval, history, spatiotemporal-region are all different
((-((continuant) = (materialEntity))) & (-((continuant) = (object))) & (-((continuant) = (fiatObjectPart))) & (-((continuant) = (objectAggregate))) & (-((continuant) = (site))) & (-((continuant) = (immaterialEntity))) & (-((continuant) = (continuantFiatBoundary))) & (-((continuant) = (fiatSurface))) & (-((continuant) = (fiatLine))) & (-((continuant) = (fiatPoint))) & (-((continuant) = (spatialRegion))) & (-((continuant) = (threeDimensionalSpatialRegion))) & (-((continuant) = (twoDimensionalSpatialRegion))) & (-((continuant) = (oneDimensionalSpatialRegion))) & (-((continuant) = (zeroDimensionalSpatialRegion))) & (-((continuant) = (independentContinuant))) & (-((continuant) = (genericallyDependentContinuant))) & (-((continuant) = (specificallyDependentContinuant))) & (-((continuant) = (quality))) & (-((continuant) = (relationalQuality))) & (-((continuant) = (function))) & (-((continuant) = (disposition))) & (-((continuant) = (realizableEntity))) & (-((continuant) = (role))) & (-((continuant) = (occurrent))) & (-((continuant) = (process))) & (-((continuant) = (processBoundary))) & (-((continuant) = (temporalRegion))) & (-((continuant) = (zeroDimensionalTemporalRegion))) & (-((continuant) = (temporalInstant))) & (-((continuant) = (oneDimensionalTemporalRegion))) & (-((continuant) = (temporalInterval))) & (-((continuant) = (history))) & (-((continuant) = (spatiotemporalRegion))) & (-((materialEntity) = (object))) & (-((materialEntity) = (fiatObjectPart))) & (-((materialEntity) = (objectAggregate))) & (-((materialEntity) = (site))) & (-((materialEntity) = (immaterialEntity))) & (-((materialEntity) = (continuantFiatBoundary))) & (-((materialEntity) = (fiatSurface))) & (-((materialEntity) = (fiatLine))) & (-((materialEntity) = (fiatPoint))) & (-((materialEntity) = (spatialRegion))) & (-((materialEntity) = (threeDimensionalSpatialRegion))) & (-((materialEntity) = (twoDimensionalSpatialRegion))) & (-((materialEntity) = (oneDimensionalSpatialRegion))) & (-((materialEntity) = (zeroDimensionalSpatialRegion))) & (-((materialEntity) = (independentContinuant))) & (-((materialEntity) = (genericallyDependentContinuant))) & (-((materialEntity) = (specificallyDependentContinuant))) & (-((materialEntity) = (quality))) & (-((materialEntity) = (relationalQuality))) & (-((materialEntity) = (function))) & (-((materialEntity) = (disposition))) & (-((materialEntity) = (realizableEntity))) & (-((materialEntity) = (role))) & (-((materialEntity) = (occurrent))) & (-((materialEntity) = (process))) & (-((materialEntity) = (processBoundary))) & (-((materialEntity) = (temporalRegion))) & (-((materialEntity) = (zeroDimensionalTemporalRegion))) & (-((materialEntity) = (temporalInstant))) & (-((materialEntity) = (oneDimensionalTemporalRegion))) & (-((materialEntity) = (temporalInterval))) & (-((materialEntity) = (history))) & (-((materialEntity) = (spatiotemporalRegion))) & (-((object) = (fiatObjectPart))) & (-((object) = (objectAggregate))) & (-((object) = (site))) & (-((object) = (immaterialEntity))) & (-((object) = (continuantFiatBoundary))) & (-((object) = (fiatSurface))) & (-((object) = (fiatLine))) & (-((object) = (fiatPoint))) & (-((object) = (spatialRegion))) & (-((object) = (threeDimensionalSpatialRegion))) & (-((object) = (twoDimensionalSpatialRegion))) & (-((object) = (oneDimensionalSpatialRegion))) & (-((object) = (zeroDimensionalSpatialRegion))) & (-((object) = (independentContinuant))) & (-((object) = (genericallyDependentContinuant))) & (-((object) = (specificallyDependentContinuant))) & (-((object) = (quality))) & (-((object) = (relationalQuality))) & (-((object) = (function))) & (-((object) = (disposition))) & (-((object) = (realizableEntity))) & (-((object) = (role))) & (-((object) = (occurrent))) & (-((object) = (process))) & (-((object) = (processBoundary))) & (-((object) = (temporalRegion))) & (-((object) = (zeroDimensionalTemporalRegion))) & (-((object) = (temporalInstant))) & (-((object) = (oneDimensionalTemporalRegion))) & (-((object) = (temporalInterval))) & (-((object) = (history))) & (-((object) = (spatiotemporalRegion))) & (-((fiatObjectPart) = (objectAggregate))) & (-((fiatObjectPart) = (site))) & (-((fiatObjectPart) = (immaterialEntity))) & (-((fiatObjectPart) = (continuantFiatBoundary))) & (-((fiatObjectPart) = (fiatSurface))) & (-((fiatObjectPart) = (fiatLine))) & (-((fiatObjectPart) = (fiatPoint))) & (-((fiatObjectPart) = (spatialRegion))) & (-((fiatObjectPart) = (threeDimensionalSpatialRegion))) & (-((fiatObjectPart) = (twoDimensionalSpatialRegion))) & (-((fiatObjectPart) = (oneDimensionalSpatialRegion))) & (-((fiatObjectPart) = (zeroDimensionalSpatialRegion))) & (-((fiatObjectPart) = (independentContinuant))) & (-((fiatObjectPart) = (genericallyDependentContinuant))) & (-((fiatObjectPart) = (specificallyDependentContinuant))) & (-((fiatObjectPart) = (quality))) & (-((fiatObjectPart) = (relationalQuality))) & (-((fiatObjectPart) = (function))) & (-((fiatObjectPart) = (disposition))) & (-((fiatObjectPart) = (realizableEntity))) & (-((fiatObjectPart) = (role))) & (-((fiatObjectPart) = (occurrent))) & (-((fiatObjectPart) = (process))) & (-((fiatObjectPart) = (processBoundary))) & (-((fiatObjectPart) = (temporalRegion))) & (-((fiatObjectPart) = (zeroDimensionalTemporalRegion))) & (-((fiatObjectPart) = (temporalInstant))) & (-((fiatObjectPart) = (oneDimensionalTemporalRegion))) & (-((fiatObjectPart) = (temporalInterval))) & (-((fiatObjectPart) = (history))) & (-((fiatObjectPart) = (spatiotemporalRegion))) & (-((objectAggregate) = (site))) & (-((objectAggregate) = (immaterialEntity))) & (-((objectAggregate) = (continuantFiatBoundary))) & (-((objectAggregate) = (fiatSurface))) & (-((objectAggregate) = (fiatLine))) & (-((objectAggregate) = (fiatPoint))) & (-((objectAggregate) = (spatialRegion))) & (-((objectAggregate) = (threeDimensionalSpatialRegion))) & (-((objectAggregate) = (twoDimensionalSpatialRegion))) & (-((objectAggregate) = (oneDimensionalSpatialRegion))) & (-((objectAggregate) = (zeroDimensionalSpatialRegion))) & (-((objectAggregate) = (independentContinuant))) & (-((objectAggregate) = (genericallyDependentContinuant))) & (-((objectAggregate) = (specificallyDependentContinuant))) & (-((objectAggregate) = (quality))) & (-((objectAggregate) = (relationalQuality))) & (-((objectAggregate) = (function))) & (-((objectAggregate) = (disposition))) & (-((objectAggregate) = (realizableEntity))) & (-((objectAggregate) = (role))) & (-((objectAggregate) = (occurrent))) & (-((objectAggregate) = (process))) & (-((objectAggregate) = (processBoundary))) & (-((objectAggregate) = (temporalRegion))) & (-((objectAggregate) = (zeroDimensionalTemporalRegion))) & (-((objectAggregate) = (temporalInstant))) & (-((objectAggregate) = (oneDimensionalTemporalRegion))) & (-((objectAggregate) = (temporalInterval))) & (-((objectAggregate) = (history))) & (-((objectAggregate) = (spatiotemporalRegion))) & (-((site) = (immaterialEntity))) & (-((site) = (continuantFiatBoundary))) & (-((site) = (fiatSurface))) & (-((site) = (fiatLine))) & (-((site) = (fiatPoint))) & (-((site) = (spatialRegion))) & (-((site) = (threeDimensionalSpatialRegion))) & (-((site) = (twoDimensionalSpatialRegion))) & (-((site) = (oneDimensionalSpatialRegion))) & (-((site) = (zeroDimensionalSpatialRegion))) & (-((site) = (independentContinuant))) & (-((site) = (genericallyDependentContinuant))) & (-((site) = (specificallyDependentContinuant))) & (-((site) = (quality))) & (-((site) = (relationalQuality))) & (-((site) = (function))) & (-((site) = (disposition))) & (-((site) = (realizableEntity))) & (-((site) = (role))) & (-((site) = (occurrent))) & (-((site) = (process))) & (-((site) = (processBoundary))) & (-((site) = (temporalRegion))) & (-((site) = (zeroDimensionalTemporalRegion))) & (-((site) = (temporalInstant))) & (-((site) = (oneDimensionalTemporalRegion))) & (-((site) = (temporalInterval))) & (-((site) = (history))) & (-((site) = (spatiotemporalRegion))) & (-((immaterialEntity) = (continuantFiatBoundary))) & (-((immaterialEntity) = (fiatSurface))) & (-((immaterialEntity) = (fiatLine))) & (-((immaterialEntity) = (fiatPoint))) & (-((immaterialEntity) = (spatialRegion))) & (-((immaterialEntity) = (threeDimensionalSpatialRegion))) & (-((immaterialEntity) = (twoDimensionalSpatialRegion))) & (-((immaterialEntity) = (oneDimensionalSpatialRegion))) & (-((immaterialEntity) = (zeroDimensionalSpatialRegion))) & (-((immaterialEntity) = (independentContinuant))) & (-((immaterialEntity) = (genericallyDependentContinuant))) & (-((immaterialEntity) = (specificallyDependentContinuant))) & (-((immaterialEntity) = (quality))) & (-((immaterialEntity) = (relationalQuality))) & (-((immaterialEntity) = (function))) & (-((immaterialEntity) = (disposition))) & (-((immaterialEntity) = (realizableEntity))) & (-((immaterialEntity) = (role))) & (-((immaterialEntity) = (occurrent))) & (-((immaterialEntity) = (process))) & (-((immaterialEntity) = (processBoundary))) & (-((immaterialEntity) = (temporalRegion))) & (-((immaterialEntity) = (zeroDimensionalTemporalRegion))) & (-((immaterialEntity) = (temporalInstant))) & (-((immaterialEntity) = (oneDimensionalTemporalRegion))) & (-((immaterialEntity) = (temporalInterval))) & (-((immaterialEntity) = (history))) & (-((immaterialEntity) = (spatiotemporalRegion))) & (-((continuantFiatBoundary) = (fiatSurface))) & (-((continuantFiatBoundary) = (fiatLine))) & (-((continuantFiatBoundary) = (fiatPoint))) & (-((continuantFiatBoundary) = (spatialRegion))) & (-((continuantFiatBoundary) = (threeDimensionalSpatialRegion))) & (-((continuantFiatBoundary) = (twoDimensionalSpatialRegion))) & (-((continuantFiatBoundary) = (oneDimensionalSpatialRegion))) & (-((continuantFiatBoundary) = (zeroDimensionalSpatialRegion))) & (-((continuantFiatBoundary) = (independentContinuant))) & (-((continuantFiatBoundary) = (genericallyDependentContinuant))) & (-((continuantFiatBoundary) = (specificallyDependentContinuant))) & (-((continuantFiatBoundary) = (quality))) & (-((continuantFiatBoundary) = (relationalQuality))) & (-((continuantFiatBoundary) = (function))) & (-((continuantFiatBoundary) = (disposition))) & (-((continuantFiatBoundary) = (realizableEntity))) & (-((continuantFiatBoundary) = (role))) & (-((continuantFiatBoundary) = (occurrent))) & (-((continuantFiatBoundary) = (process))) & (-((continuantFiatBoundary) = (processBoundary))) & (-((continuantFiatBoundary) = (temporalRegion))) & (-((continuantFiatBoundary) = (zeroDimensionalTemporalRegion))) & (-((continuantFiatBoundary) = (temporalInstant))) & (-((continuantFiatBoundary) = (oneDimensionalTemporalRegion))) & (-((continuantFiatBoundary) = (temporalInterval))) & (-((continuantFiatBoundary) = (history))) & (-((continuantFiatBoundary) = (spatiotemporalRegion))) & (-((fiatSurface) = (fiatLine))) & (-((fiatSurface) = (fiatPoint))) & (-((fiatSurface) = (spatialRegion))) & (-((fiatSurface) = (threeDimensionalSpatialRegion))) & (-((fiatSurface) = (twoDimensionalSpatialRegion))) & (-((fiatSurface) = (oneDimensionalSpatialRegion))) & (-((fiatSurface) = (zeroDimensionalSpatialRegion))) & (-((fiatSurface) = (independentContinuant))) & (-((fiatSurface) = (genericallyDependentContinuant))) & (-((fiatSurface) = (specificallyDependentContinuant))) & (-((fiatSurface) = (quality))) & (-((fiatSurface) = (relationalQuality))) & (-((fiatSurface) = (function))) & (-((fiatSurface) = (disposition))) & (-((fiatSurface) = (realizableEntity))) & (-((fiatSurface) = (role))) & (-((fiatSurface) = (occurrent))) & (-((fiatSurface) = (process))) & (-((fiatSurface) = (processBoundary))) & (-((fiatSurface) = (temporalRegion))) & (-((fiatSurface) = (zeroDimensionalTemporalRegion))) & (-((fiatSurface) = (temporalInstant))) & (-((fiatSurface) = (oneDimensionalTemporalRegion))) & (-((fiatSurface) = (temporalInterval))) & (-((fiatSurface) = (history))) & (-((fiatSurface) = (spatiotemporalRegion))) & (-((fiatLine) = (fiatPoint))) & (-((fiatLine) = (spatialRegion))) & (-((fiatLine) = (threeDimensionalSpatialRegion))) & (-((fiatLine) = (twoDimensionalSpatialRegion))) & (-((fiatLine) = (oneDimensionalSpatialRegion))) & (-((fiatLine) = (zeroDimensionalSpatialRegion))) & (-((fiatLine) = (independentContinuant))) & (-((fiatLine) = (genericallyDependentContinuant))) & (-((fiatLine) = (specificallyDependentContinuant))) & (-((fiatLine) = (quality))) & (-((fiatLine) = (relationalQuality))) & (-((fiatLine) = (function))) & (-((fiatLine) = (disposition))) & (-((fiatLine) = (realizableEntity))) & (-((fiatLine) = (role))) & (-((fiatLine) = (occurrent))) & (-((fiatLine) = (process))) & (-((fiatLine) = (processBoundary))) & (-((fiatLine) = (temporalRegion))) & (-((fiatLine) = (zeroDimensionalTemporalRegion))) & (-((fiatLine) = (temporalInstant))) & (-((fiatLine) = (oneDimensionalTemporalRegion))) & (-((fiatLine) = (temporalInterval))) & (-((fiatLine) = (history))) & (-((fiatLine) = (spatiotemporalRegion))) & (-((fiatPoint) = (spatialRegion))) & (-((fiatPoint) = (threeDimensionalSpatialRegion))) & (-((fiatPoint) = (twoDimensionalSpatialRegion))) & (-((fiatPoint) = (oneDimensionalSpatialRegion))) & (-((fiatPoint) = (zeroDimensionalSpatialRegion))) & (-((fiatPoint) = (independentContinuant))) & (-((fiatPoint) = (genericallyDependentContinuant))) & (-((fiatPoint) = (specificallyDependentContinuant))) & (-((fiatPoint) = (quality))) & (-((fiatPoint) = (relationalQuality))) & (-((fiatPoint) = (function))) & (-((fiatPoint) = (disposition))) & (-((fiatPoint) = (realizableEntity))) & (-((fiatPoint) = (role))) & (-((fiatPoint) = (occurrent))) & (-((fiatPoint) = (process))) & (-((fiatPoint) = (processBoundary))) & (-((fiatPoint) = (temporalRegion))) & (-((fiatPoint) = (zeroDimensionalTemporalRegion))) & (-((fiatPoint) = (temporalInstant))) & (-((fiatPoint) = (oneDimensionalTemporalRegion))) & (-((fiatPoint) = (temporalInterval))) & (-((fiatPoint) = (history))) & (-((fiatPoint) = (spatiotemporalRegion))) & (-((spatialRegion) = (threeDimensionalSpatialRegion))) & (-((spatialRegion) = (twoDimensionalSpatialRegion))) & (-((spatialRegion) = (oneDimensionalSpatialRegion))) & (-((spatialRegion) = (zeroDimensionalSpatialRegion))) & (-((spatialRegion) = (independentContinuant))) & (-((spatialRegion) = (genericallyDependentContinuant))) & (-((spatialRegion) = (specificallyDependentContinuant))) & (-((spatialRegion) = (quality))) & (-((spatialRegion) = (relationalQuality))) & (-((spatialRegion) = (function))) & (-((spatialRegion) = (disposition))) & (-((spatialRegion) = (realizableEntity))) & (-((spatialRegion) = (role))) & (-((spatialRegion) = (occurrent))) & (-((spatialRegion) = (process))) & (-((spatialRegion) = (processBoundary))) & (-((spatialRegion) = (temporalRegion))) & (-((spatialRegion) = (zeroDimensionalTemporalRegion))) & (-((spatialRegion) = (temporalInstant))) & (-((spatialRegion) = (oneDimensionalTemporalRegion))) & (-((spatialRegion) = (temporalInterval))) & (-((spatialRegion) = (history))) & (-((spatialRegion) = (spatiotemporalRegion))) & (-((threeDimensionalSpatialRegion) = (twoDimensionalSpatialRegion))) & (-((threeDimensionalSpatialRegion) = (oneDimensionalSpatialRegion))) & (-((threeDimensionalSpatialRegion) = (zeroDimensionalSpatialRegion))) & (-((threeDimensionalSpatialRegion) = (independentContinuant))) & (-((threeDimensionalSpatialRegion) = (genericallyDependentContinuant))) & (-((threeDimensionalSpatialRegion) = (specificallyDependentContinuant))) & (-((threeDimensionalSpatialRegion) = (quality))) & (-((threeDimensionalSpatialRegion) = (relationalQuality))) & (-((threeDimensionalSpatialRegion) = (function))) & (-((threeDimensionalSpatialRegion) = (disposition))) & (-((threeDimensionalSpatialRegion) = (realizableEntity))) & (-((threeDimensionalSpatialRegion) = (role))) & (-((threeDimensionalSpatialRegion) = (occurrent))) & (-((threeDimensionalSpatialRegion) = (process))) & (-((threeDimensionalSpatialRegion) = (processBoundary))) & (-((threeDimensionalSpatialRegion) = (temporalRegion))) & (-((threeDimensionalSpatialRegion) = (zeroDimensionalTemporalRegion))) & (-((threeDimensionalSpatialRegion) = (temporalInstant))) & (-((threeDimensionalSpatialRegion) = (oneDimensionalTemporalRegion))) & (-((threeDimensionalSpatialRegion) = (temporalInterval))) & (-((threeDimensionalSpatialRegion) = (history))) & (-((threeDimensionalSpatialRegion) = (spatiotemporalRegion))) & (-((twoDimensionalSpatialRegion) = (oneDimensionalSpatialRegion))) & (-((twoDimensionalSpatialRegion) = (zeroDimensionalSpatialRegion))) & (-((twoDimensionalSpatialRegion) = (independentContinuant))) & (-((twoDimensionalSpatialRegion) = (genericallyDependentContinuant))) & (-((twoDimensionalSpatialRegion) = (specificallyDependentContinuant))) & (-((twoDimensionalSpatialRegion) = (quality))) & (-((twoDimensionalSpatialRegion) = (relationalQuality))) & (-((twoDimensionalSpatialRegion) = (function))) & (-((twoDimensionalSpatialRegion) = (disposition))) & (-((twoDimensionalSpatialRegion) = (realizableEntity))) & (-((twoDimensionalSpatialRegion) = (role))) & (-((twoDimensionalSpatialRegion) = (occurrent))) & (-((twoDimensionalSpatialRegion) = (process))) & (-((twoDimensionalSpatialRegion) = (processBoundary))) & (-((twoDimensionalSpatialRegion) = (temporalRegion))) & (-((twoDimensionalSpatialRegion) = (zeroDimensionalTemporalRegion))) & (-((twoDimensionalSpatialRegion) = (temporalInstant))) & (-((twoDimensionalSpatialRegion) = (oneDimensionalTemporalRegion))) & (-((twoDimensionalSpatialRegion) = (temporalInterval))) & (-((twoDimensionalSpatialRegion) = (history))) & (-((twoDimensionalSpatialRegion) = (spatiotemporalRegion))) & (-((oneDimensionalSpatialRegion) = (zeroDimensionalSpatialRegion))) & (-((oneDimensionalSpatialRegion) = (independentContinuant))) & (-((oneDimensionalSpatialRegion) = (genericallyDependentContinuant))) & (-((oneDimensionalSpatialRegion) = (specificallyDependentContinuant))) & (-((oneDimensionalSpatialRegion) = (quality))) & (-((oneDimensionalSpatialRegion) = (relationalQuality))) & (-((oneDimensionalSpatialRegion) = (function))) & (-((oneDimensionalSpatialRegion) = (disposition))) & (-((oneDimensionalSpatialRegion) = (realizableEntity))) & (-((oneDimensionalSpatialRegion) = (role))) & (-((oneDimensionalSpatialRegion) = (occurrent))) & (-((oneDimensionalSpatialRegion) = (process))) & (-((oneDimensionalSpatialRegion) = (processBoundary))) & (-((oneDimensionalSpatialRegion) = (temporalRegion))) & (-((oneDimensionalSpatialRegion) = (zeroDimensionalTemporalRegion))) & (-((oneDimensionalSpatialRegion) = (temporalInstant))) & (-((oneDimensionalSpatialRegion) = (oneDimensionalTemporalRegion))) & (-((oneDimensionalSpatialRegion) = (temporalInterval))) & (-((oneDimensionalSpatialRegion) = (history))) & (-((oneDimensionalSpatialRegion) = (spatiotemporalRegion))) & (-((zeroDimensionalSpatialRegion) = (independentContinuant))) & (-((zeroDimensionalSpatialRegion) = (genericallyDependentContinuant))) & (-((zeroDimensionalSpatialRegion) = (specificallyDependentContinuant))) & (-((zeroDimensionalSpatialRegion) = (quality))) & (-((zeroDimensionalSpatialRegion) = (relationalQuality))) & (-((zeroDimensionalSpatialRegion) = (function))) & (-((zeroDimensionalSpatialRegion) = (disposition))) & (-((zeroDimensionalSpatialRegion) = (realizableEntity))) & (-((zeroDimensionalSpatialRegion) = (role))) & (-((zeroDimensionalSpatialRegion) = (occurrent))) & (-((zeroDimensionalSpatialRegion) = (process))) & (-((zeroDimensionalSpatialRegion) = (processBoundary))) & (-((zeroDimensionalSpatialRegion) = (temporalRegion))) & (-((zeroDimensionalSpatialRegion) = (zeroDimensionalTemporalRegion))) & (-((zeroDimensionalSpatialRegion) = (temporalInstant))) & (-((zeroDimensionalSpatialRegion) = (oneDimensionalTemporalRegion))) & (-((zeroDimensionalSpatialRegion) = (temporalInterval))) & (-((zeroDimensionalSpatialRegion) = (history))) & (-((zeroDimensionalSpatialRegion) = (spatiotemporalRegion))) & (-((independentContinuant) = (genericallyDependentContinuant))) & (-((independentContinuant) = (specificallyDependentContinuant))) & (-((independentContinuant) = (quality))) & (-((independentContinuant) = (relationalQuality))) & (-((independentContinuant) = (function))) & (-((independentContinuant) = (disposition))) & (-((independentContinuant) = (realizableEntity))) & (-((independentContinuant) = (role))) & (-((independentContinuant) = (occurrent))) & (-((independentContinuant) = (process))) & (-((independentContinuant) = (processBoundary))) & (-((independentContinuant) = (temporalRegion))) & (-((independentContinuant) = (zeroDimensionalTemporalRegion))) & (-((independentContinuant) = (temporalInstant))) & (-((independentContinuant) = (oneDimensionalTemporalRegion))) & (-((independentContinuant) = (temporalInterval))) & (-((independentContinuant) = (history))) & (-((independentContinuant) = (spatiotemporalRegion))) & (-((genericallyDependentContinuant) = (specificallyDependentContinuant))) & (-((genericallyDependentContinuant) = (quality))) & (-((genericallyDependentContinuant) = (relationalQuality))) & (-((genericallyDependentContinuant) = (function))) & (-((genericallyDependentContinuant) = (disposition))) & (-((genericallyDependentContinuant) = (realizableEntity))) & (-((genericallyDependentContinuant) = (role))) & (-((genericallyDependentContinuant) = (occurrent))) & (-((genericallyDependentContinuant) = (process))) & (-((genericallyDependentContinuant) = (processBoundary))) & (-((genericallyDependentContinuant) = (temporalRegion))) & (-((genericallyDependentContinuant) = (zeroDimensionalTemporalRegion))) & (-((genericallyDependentContinuant) = (temporalInstant))) & (-((genericallyDependentContinuant) = (oneDimensionalTemporalRegion))) & (-((genericallyDependentContinuant) = (temporalInterval))) & (-((genericallyDependentContinuant) = (history))) & (-((genericallyDependentContinuant) = (spatiotemporalRegion))) & (-((specificallyDependentContinuant) = (quality))) & (-((specificallyDependentContinuant) = (relationalQuality))) & (-((specificallyDependentContinuant) = (function))) & (-((specificallyDependentContinuant) = (disposition))) & (-((specificallyDependentContinuant) = (realizableEntity))) & (-((specificallyDependentContinuant) = (role))) & (-((specificallyDependentContinuant) = (occurrent))) & (-((specificallyDependentContinuant) = (process))) & (-((specificallyDependentContinuant) = (processBoundary))) & (-((specificallyDependentContinuant) = (temporalRegion))) & (-((specificallyDependentContinuant) = (zeroDimensionalTemporalRegion))) & (-((specificallyDependentContinuant) = (temporalInstant))) & (-((specificallyDependentContinuant) = (oneDimensionalTemporalRegion))) & (-((specificallyDependentContinuant) = (temporalInterval))) & (-((specificallyDependentContinuant) = (history))) & (-((specificallyDependentContinuant) = (spatiotemporalRegion))) & (-((quality) = (relationalQuality))) & (-((quality) = (function))) & (-((quality) = (disposition))) & (-((quality) = (realizableEntity))) & (-((quality) = (role))) & (-((quality) = (occurrent))) & (-((quality) = (process))) & (-((quality) = (processBoundary))) & (-((quality) = (temporalRegion))) & (-((quality) = (zeroDimensionalTemporalRegion))) & (-((quality) = (temporalInstant))) & (-((quality) = (oneDimensionalTemporalRegion))) & (-((quality) = (temporalInterval))) & (-((quality) = (history))) & (-((quality) = (spatiotemporalRegion))) & (-((relationalQuality) = (function))) & (-((relationalQuality) = (disposition))) & (-((relationalQuality) = (realizableEntity))) & (-((relationalQuality) = (role))) & (-((relationalQuality) = (occurrent))) & (-((relationalQuality) = (process))) & (-((relationalQuality) = (processBoundary))) & (-((relationalQuality) = (temporalRegion))) & (-((relationalQuality) = (zeroDimensionalTemporalRegion))) & (-((relationalQuality) = (temporalInstant))) & (-((relationalQuality) = (oneDimensionalTemporalRegion))) & (-((relationalQuality) = (temporalInterval))) & (-((relationalQuality) = (history))) & (-((relationalQuality) = (spatiotemporalRegion))) & (-((function) = (disposition))) & (-((function) = (realizableEntity))) & (-((function) = (role))) & (-((function) = (occurrent))) & (-((function) = (process))) & (-((function) = (processBoundary))) & (-((function) = (temporalRegion))) & (-((function) = (zeroDimensionalTemporalRegion))) & (-((function) = (temporalInstant))) & (-((function) = (oneDimensionalTemporalRegion))) & (-((function) = (temporalInterval))) & (-((function) = (history))) & (-((function) = (spatiotemporalRegion))) & (-((disposition) = (realizableEntity))) & (-((disposition) = (role))) & (-((disposition) = (occurrent))) & (-((disposition) = (process))) & (-((disposition) = (processBoundary))) & (-((disposition) = (temporalRegion))) & (-((disposition) = (zeroDimensionalTemporalRegion))) & (-((disposition) = (temporalInstant))) & (-((disposition) = (oneDimensionalTemporalRegion))) & (-((disposition) = (temporalInterval))) & (-((disposition) = (history))) & (-((disposition) = (spatiotemporalRegion))) & (-((realizableEntity) = (role))) & (-((realizableEntity) = (occurrent))) & (-((realizableEntity) = (process))) & (-((realizableEntity) = (processBoundary))) & (-((realizableEntity) = (temporalRegion))) & (-((realizableEntity) = (zeroDimensionalTemporalRegion))) & (-((realizableEntity) = (temporalInstant))) & (-((realizableEntity) = (oneDimensionalTemporalRegion))) & (-((realizableEntity) = (temporalInterval))) & (-((realizableEntity) = (history))) & (-((realizableEntity) = (spatiotemporalRegion))) & (-((role) = (occurrent))) & (-((role) = (process))) & (-((role) = (processBoundary))) & (-((role) = (temporalRegion))) & (-((role) = (zeroDimensionalTemporalRegion))) & (-((role) = (temporalInstant))) & (-((role) = (oneDimensionalTemporalRegion))) & (-((role) = (temporalInterval))) & (-((role) = (history))) & (-((role) = (spatiotemporalRegion))) & (-((occurrent) = (process))) & (-((occurrent) = (processBoundary))) & (-((occurrent) = (temporalRegion))) & (-((occurrent) = (zeroDimensionalTemporalRegion))) & (-((occurrent) = (temporalInstant))) & (-((occurrent) = (oneDimensionalTemporalRegion))) & (-((occurrent) = (temporalInterval))) & (-((occurrent) = (history))) & (-((occurrent) = (spatiotemporalRegion))) & (-((process) = (processBoundary))) & (-((process) = (temporalRegion))) & (-((process) = (zeroDimensionalTemporalRegion))) & (-((process) = (temporalInstant))) & (-((process) = (oneDimensionalTemporalRegion))) & (-((process) = (temporalInterval))) & (-((process) = (history))) & (-((process) = (spatiotemporalRegion))) & (-((processBoundary) = (temporalRegion))) & (-((processBoundary) = (zeroDimensionalTemporalRegion))) & (-((processBoundary) = (temporalInstant))) & (-((processBoundary) = (oneDimensionalTemporalRegion))) & (-((processBoundary) = (temporalInterval))) & (-((processBoundary) = (history))) & (-((processBoundary) = (spatiotemporalRegion))) & (-((temporalRegion) = (zeroDimensionalTemporalRegion))) & (-((temporalRegion) = (temporalInstant))) & (-((temporalRegion) = (oneDimensionalTemporalRegion))) & (-((temporalRegion) = (temporalInterval))) & (-((temporalRegion) = (history))) & (-((temporalRegion) = (spatiotemporalRegion))) & (-((zeroDimensionalTemporalRegion) = (temporalInstant))) & (-((zeroDimensionalTemporalRegion) = (oneDimensionalTemporalRegion))) & (-((zeroDimensionalTemporalRegion) = (temporalInterval))) & (-((zeroDimensionalTemporalRegion) = (history))) & (-((zeroDimensionalTemporalRegion) = (spatiotemporalRegion))) & (-((temporalInstant) = (oneDimensionalTemporalRegion))) & (-((temporalInstant) = (temporalInterval))) & (-((temporalInstant) = (history))) & (-((temporalInstant) = (spatiotemporalRegion))) & (-((oneDimensionalTemporalRegion) = (temporalInterval))) & (-((oneDimensionalTemporalRegion) = (history))) & (-((oneDimensionalTemporalRegion) = (spatiotemporalRegion))) & (-((temporalInterval) = (history))) & (-((temporalInterval) = (spatiotemporalRegion))) & (-((history) = (spatiotemporalRegion)))) # label("universals-all-different") .

then you need to define the 'distinct' predicate. Otherwise, the intended meaning is not guaranteed. For example, currently, you can add to the CL axiomatisation statements like:
(= continuant material-entity)
and still get a consistent theory.

Problem (?) with axiom "regions-precede-if-they-meet" [suk-1]

The axiom "regions-precede-if-they-meet", [suk-1], says, in prover9 syntax:

all i1 all i2 all l1 all f2 ((((-(bfoiof(i1,tinstbcat,i1))) & (-(bfoiof(i2,tinstbcat,i2))) & (lastInstantOf(l1,i1)) & (firstInstantOf(f2,i2)) & ((l1) = (f2)))) -> (precedes(i1,i2)))

But all other axioms about the preceding relation seems to entail that a time region precedes another only if they are disjoint. For example, this axiom:

% if one occurrent precedes another then they do not overlap temporally
all p all q ((((precedes(p,q)) | (precedes(q,p)))) -> (-(exists overlap (((bfotpart(overlap,p)) & (bfotpart(overlap,q))))))) # label("precedes-doesnt-overlap")

makes so that the axiom suk-1 can never hold true (unless the antecedent of the axiom is void).

Therefore, is the axiom suk-1 actually an intended part of the BFO axiomatisation?

Definition annotations

  1. Some of the definitions are marked as elucidations rather than definitions. Should these use an elucidation property rather than skos definition?
  2. It appears the prefix declaration for skos is j.0. Suggest using 'skos' instead.

Typographic Consistency

Two tasks that may aid in generating documentation from the OWL file:

  1. Ensure all definition properties are set in sentence case and terminate with a period.
  2. Set separate examples as their own value of a property rather than set a list as the object of a skos:example.

There are probably others too...

In bfo-2020-relations-table.xlsx the label "inverse at all times" is misleading

The relations in that column are not the inverse of the relations in the "at all times" column. That's because each are predicated on when the first argument exists - they might more verbosely labeled at-all-times-subject-exists. The inverse of an at-all-times relation would have to be something like at-all-times-object-exists and so predicated on the existence of the same entity.
The proposed fix is to change the column header to "reverse at all times".

Note: If one wants to use the inverse of an at-all-times relation, then one needs to use the object property expression ObjectInverseOf(...-at-all-times).

Are there 2d processes that spatially project to a 2d spatial region?

I don't think so as I think 2 and 1d things belong on the information side. However we probably need to have Barry weigh in on this. If so then maybe we don't have to do anything - have to check, since st regions project and the range is spatial region. If not (one can hope) we should change these to project to 3d spatial regions, Same issue with occurs in.

Axiom [eom-1] is ill-formed

Axiom [eom-1] is ill-formed:

(cl:comment "b temporal part c (both spatiotemporal regions) iff b temporal projection is part of c's temporal projection, and for all parts of b's existence, if it spatially-projects-onto s at that time, then so does c [eom-1]"
(forall (b c)
(if
(and (exists (t) (instance-of b spatiotemporal-region t))
(exists (t) (instance-of c spatiotemporal-region t)))
(iff (temporal-part-of b c)
(exists (tb tc) (temporally-projects-onto b tb)
(temporally-projects-onto c tc)
(and (occurrent-part-of tb tc)
(forall (tp)
(if
(and (occurrent-part-of tp tb)
(exists (s) (spatially-projects-onto b s tp)))
(exists (s)
(and (spatially-projects-onto b s tp)
(spatially-projects-onto c s tp)))))))))))

To see this try to run this axiom or the whole of occurrent-mereology.cl through http://rest.hets.eu.

I think that the correct form of its content should look like below:

(cl:comment "b temporal part c (both spatiotemporal regions) iff b temporal projection is part of c's temporal projection, and for all parts of b's existence, if it spatially-projects-onto s at that time, then so does c [eom-1]"
    (forall (b c)
     (if
      (and (exists (t) (instance-of b spatiotemporal-region t))
       (exists (t) (instance-of c spatiotemporal-region t)))
      (iff (temporal-part-of b c)
       (and (exists (tb tc)
        (and
            (temporally-projects-onto b tb)
            (temporally-projects-onto c tc)
            (occurrent-part-of tb tc)))
         (forall (tp)
          (if
           (and (occurrent-part-of tp tb)
            (exists (s) (spatially-projects-onto b s tp)))
           (exists (s)
            (and (spatially-projects-onto b s tp)
             (spatially-projects-onto c s tp))))))))))

There should be a covering axiom for temporal region

We have

(forall (p q)
 (if (has-temporal-part p q)
  (if (exists (t) (instance-of p one-dimensional-temporal-region t))
   (exists (t)
    (or (instance-of q one-dimensional-temporal-region t)
     (instance-of q zero-dimensional-temporal-region t))))))

We don't have a similar axiom for temporal-part-of. In my testing this was provable, but depends on there being a covering axiom for temporal region.

However, in most cases there are not covering axioms, even though I define them for purposes of working on the model proving consistency. My build process removes all the covering axioms, but shouldn't remove the one for temporal region. With the covering axiom the other direction is provable.

Thank to Hedi Karray for surfacing this.

Missing definition of occurs-in?

Spec says:

b occurs in c =Def. b is a process or a process boundary and c is a material entity or immaterial entity & there exists a spatiotemporal region r and b occupies spatiotemporal region r & for all t, if b exists at t then c exists at t & there exist spatial regions s and s' where b spatially projects onto s at t & c occupies spatial region s' at t & s is a continuant part of s' at t

Can't find an axiom corresponding to this. Verify and then add one if necessary.

Thank to Hedi Karray for surfacing this.

[201-BFO]: b and c are reversed

[201-BFO]
has continuant part at
Definition:
& b is a continuant part of c at t
and c is a continuant part of b at t

E07C4BDB-4EF7-4288-A69E-4EF8DE6EABCF

This is the case in BFO-2020-text.pdf and bfo-2020-terms.xlsx. I didn’t check anywhere else.

Ternary relations in FOL don't match names in ISO

The ISO has a convention that all such relations are suffixed with "at", e.g. 'continuant part of at'
However, in the FOL the terms don't have that suffix. FWIW I think the "at" suffix doesn't read well.

This does not affect the OWL, which has no ternary relationships.

Proposed resolution is to just document this.

Add stable identifers to axioms in FOL

To make referring to them in a stable way possible. Currently they are ordered in ascending order in each file, and that order is not necessarily maintained. The stable identifier probably needs a version number so that it's possible to maintain continuity in the event an axiom needs to be corrected.

Typo in Defs for Participant rels

has participant at some times
"p has participant c at some time =Def for some time t (b is a process, c is a continuant, and c participates in p some way at t"

has participant at all times
"p has participant c at all times =Def for all times t, b exists at t implies (b is a process, c is a continuant, and c participates in p some way at t)"

in both cases "b is a process" should read "p is a process"

in the all-times rel, "b exists at t" should read 'p exists at t"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.