Theory JAT-GENERIC

This theory defines a generic ontology. Concepts in this ontolgy can be shared in several different tasks. Only temporal concepts are defined at present. This theory is based on Ontolingua V 3.0

Theories included by Jat-Generic:

    Frame-Ontology
       Kif-Relations
          Kif-Sets
          Kif-Lists
             Kif-Numbers

Theories that include Jat-Generic:

    Job-Assignment-Task

14 classes defined:

    Day-Name
    Day-Number
    Duration
    Hour-Number
    Integer-Range
    Minute-Number
    Month-Name
    Month-Number
    Real-Range
    Second-Number
    Temporal-Measure
    Time-Point
    Time-Range
    Year-Number

21 relations defined:

21 functions defined:

25 instances defined:

The following constants were used from included theories:

All constants that were mentioned were defined.


Class INTEGER-RANGE

An integer range is a class of integers specified by lower and upper bounds. Instances of an integer-range are integers.
Subclass-Of: Class

Slots Of Instances:

Subclass-Of: Integer
I-Lower-Bound:
Slot-Cardinality: 1
I-Upper-Bound:
Slot-Cardinality: 1
Axioms:
(<=> (Integer-Range ?Class) 
     (And (Class ?Class) 
          (Subclass-Of ?Class Integer) 
          (Value-Cardinality ?Class I-Lower-Bound 1) 
          (Value-Cardinality ?Class I-Upper-Bound 1) 
          (Forall (?I) 
                  (=> (Instance-Of ?I ?Class) 
                      (And (=< (I-Lower-Bound ?Class) ?I) 
                           (=< ?I (I-Upper-Bound ?Class)) )))))


Function I-LOWER-BOUND

(I-LOWER-BOUND r) denotes the integer lower bound of range r.
Arity: 2
Domain: Integer-range
Range: Integer

Function I-UPPER-BOUND

(I-UPPER-BOUND r) denotes the integer upper bound of range r.
Arity: 2
Domain: Integer-range
Range: Integer

Class REAL-RANGE

An real range is a class of real numbers specified by lower and upper bounds. Instances of an real-range are real numbers.
Subclass-Of: Class

Slots Of Instances:

Subclass-Of: Real-number
R-Lower-Bound:
Slot-Cardinality: 1
R-Upper-Bound:
Slot-Cardinality: 1
Axioms:
(<=> (Real-Range ?Class) 
     (And (Class ?Class) 
          (Subclass-Of ?Class Real-Number) 
          (Value-Cardinality ?Class R-Lower-Bound 1) 
          (Value-Cardinality ?Class R-Upper-Bound 1) 
          (Forall (?I) 
                  (=> (Instance-Of ?I ?Class) 
                      (And (=< (R-Lower-Bound ?Class) ?I) 
                           (=< ?I (R-Upper-Bound ?Class)) )))))


Function R-LOWER-BOUND

(R-LOWER-BOUND r) denotes the real lower bound of range r.
Arity: 2
Domain: Real-range
Range: Real-number

Function R-UPPER-BOUND

(R-UPPER-BOUND r) denotes the real upper bound of range r.
Arity: 2
Domain: Real-range
Range: Real-number

Class TIME-RANGE

TIME-RANGE denotes a certain period of time. It consists of a start time, an end time. A start time must proceed an end time. Relations between TIME-RANGEs are defined after James Allen's interval relations.
Subclass-Of: Individual
Axioms:
(=> (Time-Range ?Time-Range) 
    (Tp= (Tp+ (Time-Range.Start-Time ?Time-Range) 
              (Time-Range.Duration ?Time-Range) )
         (Time-Range.End-Time ?Time-Range) ))


Function TIME-RANGE.START-TIME

(TR-START-TIME 'tr) denotes a start time of a time range tr.
Arity: 2
Domain: Time-range
Range: Time-point

Function TIME-RANGE.END-TIME

(TR-END-TIME 'tr) denotes an end time of a time range tr.
Arity: 2
Domain: Time-range
Range: Time-point

Function TIME-RANGE.DURATION

(TR-END-DURATION 'tr) denotes a duration of a time range tr.
Arity: 2
Domain: Time-range
Range: Duration

Relation BEFORE

a time range ?tr1 preceeds a time ranage ?tr2.
Arity: 2
Axioms:
(<=> (Before ?Tr1 ?Tr2) 
     (Tp< (Time-Range.End-Time ?Tr1) (Time-Range.Start-Time ?Tr2)) )


Relation AFTER

a time range ?tr1 succeeds a time range ?tr2.
Arity: 2
Inverse: Before
Axioms:
(<=> (After ?Tr1 ?Tr2) 
     (Tp< (Time-Range.End-Time ?Tr2) (Time-Range.Start-Time ?Tr1)) )


Relation MEETS

a time range ?tr1 ends at the same time a time range ?tr2 starts.
Arity: 2
Axioms:
(<=> (Meets ?Tr1 ?Tr2) 
     (Tp= (Time-Range.Start-Time ?Tr1) (Time-Range.Start-Time ?Tr2)) )


Relation EQUALS

a time range ?tr1 is identical to a time range ?tr2.
Arity: 2
Axioms:
(<=> (Equals ?Tr1 ?Tr2) 
     (And (Tp= (Time-Range.Start-Time ?Tr1) 
               (Time-Range.Start-Time ?Tr2) )
          (Tp= (Time-Range.End-Time ?Tr1) (Time-Range.End-Time ?Tr2)) ))


Relation DURING

a time range ?tr1 is properly included in a time range ?tr2.
Arity: 2
Axioms:
(<=> (During ?Tr1 ?Tr2) 
     (And (Tp> (Time-Range.Start-Time ?Tr1) 
               (Time-Range.Start-Time ?Tr2) )
          (Tp< (Time-Range.End-Time ?Tr1) (Time-Range.End-Time ?Tr2)) ))


Relation OVERLAPS

a time range ?tr1 and a time range ?tr2 overlaps.
Arity: 2
Axioms:
(<=> (Overlaps ?Tr1 ?Tr2) 
     (And (Tp< (Time-Range.Start-Time ?Tr1) 
               (Time-Range.Start-Time ?Tr2) )
          (Tp< (Time-Range.Start-Time ?Tr2) 
               (Time-Range.End-Time ?Tr1) )
          (Tp< (Time-Range.End-Time ?Tr1) (Time-Range.End-Time ?Tr2)) ))


Relation STARTS

a time range ?tr1 and a time range ?tr2 starts at the same time and a duration of ?tr1 is shorter than that of ?tr2.
Arity: 2
Axioms:
(<=> (Starts ?Tr1 ?Tr2) 
     (And (Tp= (Time-Range.Start-Time ?Tr1) 
               (Time-Range.Start-Time ?Tr2) )
          (Tp< (Time-Range.End-Time ?Tr1) (Time-Range.End-Time ?Tr2)) ))


Relation FINISHES

a time range ?tr1 and a time range ?tr2 ends at the same time and a duration of ?tr1 is shorter than that of ?tr2.
Arity: 2
Axioms:
(<=> (Finishes ?Tr1 ?Tr2) 
     (And (Tp> (Time-Range.Start-Time ?Tr1) 
               (Time-Range.Start-Time ?Tr2) )
          (Tp= (Time-Range.End-Time ?Tr1) (Time-Range.End-Time ?Tr2)) ))


Relation BEFORE=

Arity: 2
Axioms:
(<=> (Before= ?Tr1 ?Tr2) (Or (Before ?Tr1 ?Tr2) (Meets ?Tr1 ?Tr2))) 


Relation AFTER=

Arity: 2
Axioms:
(<=> (After= ?Tr1 ?Tr2) (Or (After ?Tr1 ?Tr2) (Meets ?Tr2 ?Tr1))) 


Relation DURING=

Arity: 2
Axioms:
(<=> (During= ?Tr1 ?Tr2) 
     (Or (During ?Tr1 ?Tr2) 
         (Starts ?Tr1 ?Tr2) 
         (Finishes ?Tr1 ?Tr2) 
         (Equals ?Tr1 ?Tr2) ))


Relation OVERLAPS=

Arity: 2
Axioms:
(<=> (Overlaps= ?Tr1 ?Tr2) 
     (Or (Overlaps ?Tr1 ?Tr2) (Meets ?Tr1 ?Tr2)) )


Relation START=

Arity: 2
Axioms:
(<=> (Start= ?Tr1 ?Tr2) (Or (Starts ?Tr1 ?Tr2) (Equals ?Tr1 ?Tr2))) 


Relation FINISHES=

Arity: 2
Axioms:
(<=> (Finishes= ?Tr1 ?Tr2) 
     (Or (Finishes ?Tr1 ?Tr2) (Equals ?Tr1 ?Tr2)) )


Relation DISJOINT-TR

time ranges ?tr1 and ?tr2 do not overlap
Arity: 2
Axioms:
(<=> (Disjoint-Tr ?Tr1 ?Tr2) 
     (Or (Before ?Tr1 ?Tr2) (Before ?Tr2 ?Tr1)) )


Function TR+

TR+ denotes a time range ?tr2 whose length is longer that ?tr1 by a duration ?duration.
Arity: 3
Axioms:
(<=> (Tr+ ?Tr1 ?Duration ?Tr2) 
     (And (= (Time-Range.Start-Time ?Tr1) 
             (Time-Range.Start-Time ?Tr2) )
          (= (Tp+ (Time-Range.End-Time ?Tr1) ?Duration) 
             (Time-Range.End-Time ?Tr2) )))


Class TIME-POINT

TIME denotes a cetain point of time. It consists of year, month, day, hour, minute, second, and a unit of time. Any details smaller than a unit of a time are not defined. For example, if a unit of time is 2 hour, values of time-minute and time-second are meaningless.
Subclass-Of: Individual

Class YEAR-NUMBER

YEAR-NUMBER deontes a year of A.D.
Subclass-Of: Integer

Class MONTH-NUMBER

MONTH-NUMBER deontes a month of a year.
Instance-Of: Class, Integer-range
Axioms:
(= (I-Upper-Bound Month-Number) 12) 

(= (I-Lower-Bound Month-Number) 1) 


Class MONTH-NAME

MONTH-NAME denotes a name of a month of a year.
All-Instances: {
January, February, March, April, May, June, July, August, September, October, November, December}

Month-name JANUARY

Instance-Of: Month-name

Month-name FEBRUARY

Instance-Of: Month-name

Month-name MARCH

Instance-Of: Month-name

Month-name APRIL

Instance-Of: Month-name

Month-name MAY

Instance-Of: Month-name

Month-name JUNE

Instance-Of: Month-name

Month-name JULY

Instance-Of: Month-name

Month-name AUGUST

Instance-Of: Month-name

Month-name SEPTEMBER

Instance-Of: Month-name

Month-name OCTOBER

Instance-Of: Month-name

Month-name NOVEMBER

Instance-Of: Month-name

Month-name DECEMBER

Instance-Of: Month-name

Class DAY-NUMBER

DAY-NUMBER denotes a day of a month.
Instance-Of: Class, Integer-range
Axioms:
(= (I-Upper-Bound Day-Number) 31) 

(= (I-Lower-Bound Day-Number) 1) 


Class DAY-NAME

DAY-NAME denotes a name of a day of a week.
All-Instances: {
Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday}

Day-name SUNDAY

Instance-Of: Day-name

Day-name MONDAY

Instance-Of: Day-name

Day-name TUESDAY

Instance-Of: Day-name

Day-name WEDNESDAY

Instance-Of: Day-name

Day-name THURSDAY

Instance-Of: Day-name

Day-name FRIDAY

Instance-Of: Day-name

Day-name SATURDAY

Instance-Of: Day-name

Class HOUR-NUMBER

HOUR-NUMBER denotes an hour of a day.
Instance-Of: Class, Integer-range
Axioms:
(= (I-Upper-Bound Hour-Number) 23) 

(= (I-Lower-Bound Hour-Number) 0) 


Class MINUTE-NUMBER

MINUTE-NUMBER denotes a minute of a hour.
Instance-Of: Class, Integer-range
Axioms:
(= (I-Upper-Bound Minute-Number) 59) 

(= (I-Lower-Bound Minute-Number) 0) 


Class SECOND-NUMBER

SECOND-NUMBER denotes a second of a minute.
Instance-Of: Class, Real-range
Axioms:
(= (R-Upper-Bound Second-Number) 59) 

(= (R-Lower-Bound Second-Number) 0) 


Function TIME-POINT.YEAR

TIME-POINT.YEAR denotes a year of a time point.
Arity: 2
Domain: Time-point
Range: Year-number

Function TIME-POINT.MONTH

TIME-POINT.MONTH denotes a month of a time point.
Arity: 2
Domain: Time-point
Range: Month-number

Function TIME-POINT.MONTH-NAME

TIME-POINT.MONTH-NAME denotes a name of a month of a time point.
Arity: 2
Domain: Time-point
Range: Month-name

Function TIME-POINT.DAY

TIME-POINT.DAY denotes a day of a time point.
Arity: 2
Domain: Time-point
Range: Day-number

Function TIME-POINT.DAY-NAME

TIME-POINT.DAY-NAME denotes a name of a day of a time point.
Arity: 2
Domain: Time-point
Range: Day-name

Function TIME-POINT.HOUR

TIME-POINT.HOUR denotes an hour of a time point.
Arity: 2
Domain: Time-point
Range: Hour-number

Function TIME-POINT.MINUTE

TIME-POINT.MINUTE denotes a minute of a time point.
Arity: 2
Domain: Time-point
Range: Minute-number

Function TIME-POINT.SECOND

TIME-SECOND denotes a second of a time point.
Arity: 2
Domain: Time-point
Range: Second-number

Function TIME-POINT.UNIT

TIME-UNIT denotes a unit of a time point.
Arity: 2
Domain: Time-point
Range: Duration

Relation TP=

a time point ?tp1 is equal to a time point ?tp2.
Arity: 2
Axioms:
(<=> (Tp= ?Tp1 ?Tp2) 
     (And (= (Time-Point.Year ?Tp1) (Time-Point.Year ?Tp2)) 
          (= (Time-Point.Month ?Tp1) (Time-Point.Month ?Tp2)) 
          (= (Time-Point.Day ?Tp1) (Time-Point.Day ?Tp2)) 
          (= (Time-Point.Hour ?Tp1) (Time-Point.Hour ?Tp2)) 
          (= (Time-Point.Minute ?Tp1) (Time-Point.Minute ?Tp2)) 
          (= (Time-Point.Second ?Tp1) (Time-Point.Second ?Tp2)) ))


Relation TP<

a time point ?tp1 preceeds a time point ?tp2.
Arity: 2
Axioms:
(<=> (Tp< ?Tp1 ?Tp2) 
     (Or (< (Time-Point.Year ?Tp1) (Time-Point.Year ?Tp2)) 
         (And (= (Time-Point.Year ?Tp1) (Time-Point.Year ?Tp2)) 
              (Or (< (Time-Point.Month ?Tp1) (Time-Point.Month ?Tp2)) 
                  (And (= (Time-Point.Month ?Tp1) 
                          (Time-Point.Month ?Tp2) )
                       (Or (< (Time-Point.Day ?Tp1) 
                              (Time-Point.Day ?Tp2) )
                           (And (= (Time-Point.Day ?Tp1) 
                                   (Time-Point.Day ?Tp2) )
                                (Or (< (Time-Point.Hour ?Tp1) 
                                       (Time-Point.Hour ?Tp2) )
                                    (And (= (Time-Point.Hour ?Tp1) 
                                            (Time-Point.Hour ?Tp2) )
                                         (Or (< (Time-Point.Minute ?Tp1)
                                                (Time-Point.Minute ?Tp2))
                                             (And (= (Time-Point.Minute ?Tp1)
                                                     (Time-Point.Minute ?Tp2))
                                                  (Or (< (Time-Point.Second ?Tp1)
                                                         (Time-Point.Second ?Tp2))))))))))))))


Relation TP>

inverse of TP<
Arity: 2
Inverse: Tp<

Function TP+

A difference between tow time points ?tp1 and ?tp2 is a

duration ?duration.

Arity: 3
Axioms:
(Nth-Domain Tp+ 3 Time-Point) 

(Nth-Domain Tp+ 2 Duration) 

(Nth-Domain Tp+ 1 Time-Point) 


Class DURATION

DURATION denotes a period of time. It consists of a value and a measure
Subclass-Of: Individual

Function DURATION.VALUE

DURATION.VALUE returns a length of a duration in a cetain measure.
Arity: 2
Domain: Duration
Range: Integer

Function DURATION.MEASURE

DURATION.MEASURE returns a mesure of a length of a duration.
Arity: 2
Domain: Duration
Range: Temporal-measure

Relation DR=

Two duration is the same length.
Arity: 2
Domain: Duration
Range: Duration

Relation DR<

A duration ?dr1 is shorter than a duration ?dr2.
Arity: 2
Domain: Duration
Range: Duration

Relation DR>

Arity: 2
Inverse: Dr>

Function DR+

Arity: 3
Axioms:
(Nth-Domain Dr+ 3 Duration) 

(Nth-Domain Dr+ 2 Duration) 

(Nth-Domain Dr+ 1 Duration) 


Class TEMPORAL-MEASURE

TEMPORAL-MEASURE denotes a measure of a length of a temporal interval.
All-Instances: {
Year, Month, Day, Hour, Minute, Second}

Temporal-measure YEAR

Instance-Of: Temporal-measure

Temporal-measure MONTH

Instance-Of: Temporal-measure

Temporal-measure DAY

Instance-Of: Temporal-measure

Temporal-measure HOUR

Instance-Of: Temporal-measure

Temporal-measure MINUTE

Instance-Of: Temporal-measure

Temporal-measure SECOND

Instance-Of: Temporal-measure


This document was generated using Ontolingua.
Formatting and translation code was written by
François Gerbaux and Tom Gruber