[Top] [All Lists]

Re: [ontolog-forum] Requesting Opinions on the Benefits of Predicates as

To: ontolog-forum@xxxxxxxxxxxxxxxx
From: John F Sowa <sowa@xxxxxxxxxxx>
Date: Thu, 19 Jun 2014 15:05:51 -0400
Message-id: <53A3348F.6010902@xxxxxxxxxxx>
Rich and David,    (01)

In my previous reply to Rich, I made a very general comment that
logic can specify anything that can be programmed in any procedural
notation.  But I admit that my comment was too general to provide
much guidance in any particular case.    (02)

In my note to Tara and Pat, I showed how logic could be used
to specify several options that someone might want to program.
See below for an excerpt of the relevant points from that note.    (03)

Note that any of those options could be stated very easily in
controlled English or any version of FOL -- linear or graphic.    (04)

If you want to use a procedural language to implement some software,
it's easier to map controlled English or any version of FOL to
a procedure than to explain a procedure in English or logic.    (05)

> Look at the simple matter of ordering medication.
> * If you order it for an outpatient, the medication is dispensed
> in a single bottle or bag.  All thirty days worth is together.
> * If you order it for an inpatient, the medication is dispensed
> daily, one pill a day, necessitating tracking 30 sub-orders.    (06)

> An Order is a Purchase Order, which splits into numerous Work Orders,
> each of which specifies the Context in which it operates.  Each WO
> processor (called an activity in IDEF) uses the various objects
> connected to its context specification.  I developed a factory work
> flow management system that...    (07)

David stated a typical example that requires a fair amount of inference
to determine to what do.  Rich explained how he used human background
knowledge and reasoning methods to implement an appropriate system.    (08)

But the question we are addressing in Ontolog Forum is how to replace
Rich with either a fully automated or at least a partially automated
assistant.    (09)

My suggestion is to develop an intelligent assistant that can use
logic, ontology, and semi-automated methods with controlled NLs
to assist people like Rich.  But there is much more to say.    (010)

____________________________________________________________________    (011)

Slightly edited excerpt from my previous reply to Tara and Pat:    (012)

Controlled English: If C employs P, there is an implicit interval T,
and for all instants t in T, C employs P at t.    (013)

A representation that relates a two-argument 'employ' relation
to a thee-argument version that includes time:    (014)

(forall (C P)
     (if (employs C P)
         (exists ((T Interval)) (forall ((t Instant))
            (if (isin t T) (employs C P t)) ))))    (015)

But a more general option would be an entity of type Employ,
which may have any number of qualifiers attached to it.
For required qualifiers, you could state appropriate axioms.    (016)

CE:  For every instance x of Employ, there is an implicit
interval T, and for every instant t in T, x occurs at time t.    (017)

(forall ((x Employ)) (exists ((T Interval)) (forall ((t Instant))
     (if (isin t T) (at_Time x t)) )))    (018)

With this representation, an assertion that C employs P
could be represented with "case relations" as    (019)

CE:  There exists an instance x of Employ whose agent is C
and whose theme is P.    (020)

(exists ((x Employ)) (and (Agent x C) (Theme x P))    (021)

This assertion and the axiom above imply the existence of interval T.    (022)

The English verb 'occurs' in the example above suggests an even
more general representation:  Define Employ as a subtype of
Occurrent that persists for some interval.  Then you could state
one axiom that would cover a wide range of actions or states.    (023)

You could say that the entity of type Employ is a reification.
But I would rather say that it's just an entity of type Employ.    (024)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J    (025)

<Prev in Thread] Current Thread [Next in Thread>