 
 
 
 
16.3 Technical data
 
16.3.1 Overview of the tactic
- The goal is negated twice and the first negation is introduced as an
 hypothesis.
- Hypothesis are decomposed in simple equations or inequations. Multiple
 goals may result from this phase.
- Equations and inequations over natare translated overZ, multiple goals may result from the translation of
 substraction.
- Equations and inequations are normalized.
- Goals are solved by the OMEGA decision procedure.
- The script of the solution is replayed.
16.3.2 Overview of the OMEGA decision procedure
The OMEGA decision procedure involved in the Omega tactic uses
a small subset of the decision procedure presented in
 "The Omega Test: a fast and practical integer programming
algorithm for dependence analysis", William Pugh, Communication of the
ACM , 1992, p 102-114.
Here is an overview.
The reader is refered to the original paper for more information.
- Equations and inequations are normalized by division by the GCD of their
 coefficients.
- Equations are eliminated, using the Banerjee test to get a coefficient 
 equal to one.
- Note that each inequation defines a half space in the space of real value
 of the variables.
- Inequations are solved by projecting on the hyperspace defined by 
 cancelling one of the variable. 
 They are partitioned according to the sign of
 the coefficient of the eliminated variable. Pairs of inequations from
 different classes define a new edge in the projection.
- Redundant inequations are eliminated or merged in new equations that can
 be eliminated by the Banerjee test.
- The last two steps are iterated until a contradiction is reached
 (success) or there is no more variable to eliminate (failure).
It may happen that there is a real solution and no integer one. The last
steps of the Omega procedure (dark shadow) are not implemented, so the 
decision procedure is only partial.
 
 
 
 
