# Theory CML

The CML ontology is the theory underlying the CML language. It defines the basic concepts, such as model-fragment and time-dependent-relation, that are assumed in the language. It gives axiomatic semantics for the notion of time and change inherent in CML. The CML ontology is built upon the Engineering Math ontologies, extending the unary-scalar-functions and standard-units theories.

### Theories included by Cml:

```    Unary-Scalar-Functions
Physical-Quantities
Frame-Ontology
Kif-Relations
Kif-Sets
Kif-Lists
Kif-Numbers
Abstract-Algebra
Frame-Ontology ...
Standard-Units
Physical-Quantities ...
Standard-Units ...```

### Theories that include Cml:

```    Thermodynamics
Dme
Thermodynamics```

### 14 classes defined:

```    Attribute-Function
Entity
Everywhere-Continuous-Function
Infinite
Model-Fragment
Participant-Function
Piecewise-Continuous-Function
Piecewise-Continuous-Quantity
Everywhere-Continuous-Quantity
Standard-Quantity
Quantity-Function
Scenario
Time-Dependent-Relation
Time-Dependent-Function```

### No instances defined.

The following constants were used from included theories:

The following constants were used from theories not included:

The following constants were undefined:

Norm

## Class MODEL-FRAGMENT

A MODEL-FRAGMENT instance describes an aggregate (perhaps empty) of participating objects under certain conditions.
Subclass-Of: Individual

## Class ENTITY

An ENTITY is an object with structurally stable properties. It differs from a MODEL-FRAGMENT in the set of properties that make sense for it. E.g. an 'automobile' is naturally represented as an entity, which might have attributes such as color: red, manufacturer: ford.
Subclass-Of: Individual

## Relation ACTIVE

A model-fragment is associated with a set of time-dependent conditions and consequences; when those conditions hold, the consequences hold. While conditions and consequences are time-dependent, the participants, attributes, and quantities associated with a model-fragment are part of its definition and the associations do not change over time. Similarly, model-fragment classes are organized in a class hierarchy, and a model-fragment instance can be an instance of more than one class.

The ACTIVE predicate associates a set of conditions with a model-fragment class. A model fragment instance is active with respect to the conditions associated with a model-fragment class and a particular time. Thus, (active ?t ?mf-class ?mf-instance) holds when the conditions of the class ?mf-class, instantiated for instance ?mf-instance, are true at the time ?t.

The translation of CML forms into KIF produces axioms that determine when ACTIVE holds for particular model fragments.

Arity: 3
Axioms:
```(Nth-Domain Active 3 Model-Fragment)

(Nth-Domain Active 1 Time-Quantity)

(=> (Active ?Time ?Model-Fragment-Class ?Mf-Instance)
(Subclass-Of ?Model-Fragment-Class Model-Fragment) )

```

## Class INFINITE

The class of infinite quantities which includes infinite quantities for every physical dimension.
Subclass-Of: Constant-quantity

## Class SCENARIO

A scenario is a description of a modeled system, a set of initial conditions for exogenous constants, and an interval of time over which the system is to be analyzed or simulated.
Subclass-Of: Individual

Slots Of Instances:

Final-Time:
Slot-Value-Type: Time-quantity
Initial-Time:
Slot-Value-Type: Time-quantity
Scenario.Participants:
Slot-Cardinality: 1

## Function INITIAL-TIME

The initial time of a scenario is a time-quantity.
Arity: 2
Domain: Scenario
Range: Time-quantity

## Function FINAL-TIME

The final time of a scenario is a time-quantity.
Arity: 2
Domain: Scenario
Range: Time-quantity

## Function SCENARIO.PARTICIPANTS

The scenario.participants of a scenario is a set of entities for which the scenario is defined.
Arity: 2
Domain: Scenario
Range: Set
Axioms:
```(=> (Scenario.Participants ?S ?Participants)
(=> (Member ?P ?Participants) (Entity ?P)) )

```

## Class PARTICIPANT-FUNCTION

A participant function is a unary function from model fragments to entities.
Subclass-Of: Unary-function

Slots Of Instances:

Domain: Model-fragment
Range: Entity
Axioms:
```(<=> (Participant-Function ?F)
(And (Unary-Function ?F)
(Domain ?F Model-Fragment)
(Range ?F Entity) ))

```

## Class ATTRIBUTE-FUNCTION

An attribute-function is a unary function defined over model fragments or entities.
Subclass-Of: Unary-function
Axioms:
```(<=> (Attribute-Function ?F)
(And (Unary-Function ?F)
(Domain ?F
(Kappa (?X) (Or (Model-Fragment ?X) (Entity ?X))) )))

```

## Function ==

== is equality between quantities, factoring out differences between constants and time-dependent quantities. A time-dependent quantity that always returns the same value is == to its value, but not = to its value.
Arity: 3
Axioms:
```(Nth-Domain == 2 Physical-Quantity)

(Nth-Domain == 1 Physical-Quantity)

(<=> (== ?Q1 ?Q2 ?Result)
(And (Physical-Quantity ?Q1)
(Physical-Quantity ?Q2)
(Forall (?T) (= (Value-At ?Q1 ?T) (Value-At ?Q2 ?T))) ))

```

## Class PIECEWISE-CONTINUOUS-QUANTITY

If ?x is defined over some dense interval of ?t, then there are a finite number of points at which ?t is not continuous.
Subclass-Of: Function-quantity

## Class EVERYWHERE-CONTINUOUS-QUANTITY

Subclass-Of: Piecewise-continuous-quantity

## Class STANDARD-QUANTITY

A STANDARD-QUANTITY is everywhere continuous, has a piecewise continuous derivative, and a dimension. Quantities in QPT and QPC are standard-quantities. In QSIM, the derivatives are continuous as well within a behavior.
Subclass-Of: Everywhere-continuous-quantity

Slots Of Instances:

D/Dt:
Slot-Value-Type: Piecewise-continuous-quantity
Axioms:
```(<=> (Standard-Quantity ?X)
(And (Everywhere-Continuous-Quantity ?X)
(Value-Type ?X D/Dt Piecewise-Continuous-Quantity) ))

```

## Class TIME-DEPENDENT-RELATION

Time dependent relations are relations whose first argument is a time quantity. This is a second order relation.
Subclass-Of: N-ary-relation, Relation
Axioms:
```(=> (Time-Dependent-Relation ?Rel) (Nth-Domain ?Rel 1 Time-Quantity))

```

## Class TIME-DEPENDENT-FUNCTION

Time dependent functions are functions whose first argument is a time quantity. This is a second order relation.
Subclass-Of: Function, Time-dependent-relation

## Function VALUE-AT

The function value-at returns the value of a quantity at some point in time. If the quantity is a function-quantity, then its value-at is its function value applied to the 'time' argument. If the quantity is constant-quantity, then its value-at is the quantity itself for all 'times'.
Arity: 3
Axioms:
```(Nth-Domain Value-At 2 Time-Quantity)

(Nth-Domain Value-At 1 Quantity)

(=> (Value-At ?Q ?Time ?Val)
(And (Quantity ?Q) (Time-Quantity ?Time)) )

(= (Value-At ?Q ?Time)
(If (Function-Quantity ?Q) (Value ?Q ?Time) ?Q) )

```

## Relation M+

The M+ relationship holds between two quantities x y exactly when y = f(x) and f is a monotonic increasing function.
Arity: 2
Domain: Time-dependent-quantity
Range: Time-dependent-quantity

## Relation M-

The M- relationship holds between two quantities x y exactly when y = f(x) and f is a monotonic decreasing function.
Arity: 2
Domain: Time-dependent-quantity
Range: Time-dependent-quantity

## Relation C+

The C+ relation between two quantities x and y means that x = f(...,y,...) and the partial of f w.r.t. y is 1. If all of the arguments to f are C+, this is equivalent to saying that x is their sum.
Arity: 2
Domain: Time-dependent-quantity
Range: Time-dependent-quantity

## Relation C-

The C+ relation between two quantities x and y means that x = f(...,y,...) and the partial of f w.r.t. y is -1. If all of the arguments to f are C+, this is equivalent to saying that -x is their sum.
Arity: 2
Domain: Time-dependent-quantity
Range: Time-dependent-quantity

## Relation QPROP+

The qualitative proportionality, Qprop+, also known as an indirect influence in the qualitative process theory literature, states that all things being equal ?x is proportional to ?y. If there are no other influences on ?x, then (Qprop+ ?x ?y) is equivalent to (M+ ?y ?x). Otherwise, it means that x = f(...,y,...) and the partial of f w.r.t. y is greater than zero.
Arity: 2
Domain: Time-dependent-quantity
Range: Time-dependent-quantity

## Relation QPROP-

The qualitative proportionality, Qprop-, also known as an indirect influence in the qualitative process theory literature, states that all things being equal ?x is proportional to ?y. If there are no other influences on ?x, then (Qprop- ?x ?y) is equivalent to (M- ?y ?x). Otherwise, it means that x = f(...,y,...) and the partial of f w.r.t. y is less than zero.
Arity: 2
Domain: Time-dependent-quantity
Range: Time-dependent-quantity

## Class QUANTITY-FUNCTION

A quantity function maps some objects to a quantity.
Subclass-Of: Function

Slots Of Instances:

Range: Time-dependent-quantity

## Relation CONTINUOUS-AT

A function ?f is continuous at the point ?p.
Arity: 2
Axioms:
```(<=> (Continuous-At ?F ?P)
(Forall (?X ?Epsilon)
(=> (< (Norm (Value ?F ?P) (Value ?F ?X)) ?Epsilon)
(Exists (?Delta) (< (Norm (- ?X ?P) ?Delta))) )))

```

## Relation CONTINUOUS-OVER

A function ?f is continous over the interval ?beg ?end if it is defined and continuous-at every point between ?beg and ?end exclusive.
Arity: 3
Axioms:
```(Nth-Domain Continuous-Over 1 Unary-Scalar-Function-Quantity)

(<=> (Continuous-Over ?F ?Beg ?End)
(And (Unary-Scalar-Function-Quantity ?F)
(Member ?Beg (Exact-Domain ?F))
(Member ?End (Exact-Domain ?F))
(Forall (?X)
(=> (And (< ?Beg ?X) (< ?X ?End))
(And (Defined (Value ?F ?X))
(Continuous-At ?F ?X) )))))

```

## Class PIECEWISE-CONTINUOUS-FUNCTION

A function is piecewise-continuous if it's domain can be partitioned into a sequence of intervals such that it is continuous-over each such interval, and there is a finite distance between each pair of break points.

## Class EVERYWHERE-CONTINUOUS-FUNCTION

A function is everywhere-continuous if it is continuous over its entire domain.

## Relation HAS-ATTRIBUTE-FUNCTION

A class has an attribute if the attribute value is given by a unary function, called an attribute-function, that is defined for that class.
Arity: 2
Domain: Class
Range: Attribute-function
Axioms:
```(=> (Has-Attribute-Function ?Class ?Attribute-Function)
(Attribute-Function-Of ?Attribute-Function ?Class) )

```

## Relation ATTRIBUTE-FUNCTION-OF

Arity: 2
Axioms:
```(=> (Attribute-Function-Of ?Function ?Class)
(Has-Attribute-Function ?Class ?Function) )

```

## Relation HAS-QUANTITY-FUNCTION

A class has an quantity if the quantity value is given by a unary function, called an quantity-function, that is defined for that class.
Arity: 2
Domain: Class
Range: Quantity-function

## Relation QUANTITY-FUNCTION-OF

Arity: 2
Axioms:
```(=> (Quantity-Function-Of ?Quantity-Function ?Class)
(Has-Quantity-Function ?Class ?Quantity-Function) )

```

## Relation PARTICIPANT-FUNCTION-OF

Arity: 2
Axioms:
```(=> (Participant-Function-Of ?Function ?Class)
(Has-Participant-Function ?Class ?Function) )

```

## Relation HAS-PARTICIPANT-FUNCTION

Arity: 2
Domain: Class
Range: Participant-function

## Function SLOT-DOCUMENTATION

Arity: 3
Axioms:
```(Nth-Domain Slot-Documentation 2 Unary-Function)

(Nth-Domain Slot-Documentation 1 Class)

(<=> (Slot-Documentation ?Class ?Unary-Function ?Doc)
(=> (Instance-Of ?Instance ?Class)
(Documentation ?Instance ?Doc) ))

```

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