The Omega Library provides a way to work with inexact relations.
We say that relation is inexact if one or more of its conjuncts contain
unknown constraints. We call any conjunct that contains unknown
constraints an inexact conjunct, and the conjunct that contains only
unknown constraints an unknown conjunct. To inquire about this
property of the conjunct you can use the ` is_exact()`
,
` is_inexact()`
and ` is_unknown()`
member functions of
the Conjunct class.

An exact part of the relation containing an unknown conjunct provides
a lower bound on the relation. An exact part of the relation containing
inexact conjunct(s) provides an upper bound on the relation.
Note, that an inexact conjunct can be always approximated by the unknown
conjunct so a simplified relation can not contain both inexact and
unknown conjuncts.
Thus, a relation can be either exact, a lower bound, or an upper bound.
We refer to this property of the relation as its accuracy status.
Accuracy status is described by the enumerated type
` Rel_Accuracy_Status`
.
To inquire about the accuracy status of the relation you can use
the ` get_accuracy_status()`
member functions of the Relation
class.

Inexact relations will be produced when the result of a relational operation is outside the class of relations we can represent. Recall that the Omega Library can not handle relations that contain the application of a function to something other than the input, output, or set tuple. So if it is asked for the range of , it produces an approximate answer.

You also can create the inexact relations explicitly by one of the following ways:

- adding an unknown constraint to the formula (see section 4.4)
- unioning or intersecting with unknown relation (see
section 6.2). Namely, given that
**r**is an exact relation and**U**is an unknown relation,**r**is a lower bound on**r**union**U****r**intersection**U**

You can use the member function ` remove_disjunction_with_unknown()`
of
the Relation class to remove all unknown conjuncts from the relation.

omega@cs.umd.edu