
(in-package :sal)
module: polynomial-representation
has the following packages:
	polyrep-basic
	polyrep-advanced
	pvs2polyrep
--------------------------------------------------------------
Algo:

Each HA sees its local, and input vars.

It sees what are the polynomials over its input variables
that appear in the guards.
If these variables also appear in the 
1. right-hand side of differential equations
2. mixed with local variables

then we can't abstract compositionally.

Algo1.0:
1. See the composed system, and get the input, (output), and
   local variables of each basemodule.
2. Check condition:
   A. the locals (dx/dt defined) are all disjoint
	no two basemodules should change the same variable,
	because they execute simultaneously
   B. Use of the input variables: they should not occur on the
	RHS of dynamics; and should not be mixed with locals
	anywhere. They should occur in atomic fmla over the input
	variables only; which occur in guards only.
   C. Resets? On local variables in terms of other local vars OK.
	arbitrary resets to local vars allowed.
3. Each HA computes all atomic formulas on inputs that it needs
	to know from its neighbours.
4. These polynomials form the seed, along with any from property.
5. Each HA is abstracted using saturation and qualitative abstraction.
6. Now it is composed.

================================================================
Inside a Hybrid automata:

Algo1.0:
1. Each mode gets all polys from guards of outgoing transitions.
2. It saturates them with its own dynamics.
3. In principle, we can also include the polynomials on the RHS
	of resets in this saturation process.
4. We do this for every mode and we are done.
================================================================

do the same.
Each mode: sees its local and input variables.
It sees what are the polynomials over its input variables
that appear in the guards of outgoing transitions.
================================================================
Nov 7, 2002:
NEW SYNTAX:
K1 = IF TRUE THEN 1 ELSE 0 ENDIF;
Dummy variables K1. What to do with them?
Option 1: Keep them. Polynomials over these variables, leads to
fewer polynomials, but need discrete "reset" transitions (in the abstract).
Option 2: Remove them. Leads to more polynomials, fewer variables, but no
disrete transitions!!!

Implementing Option2:
1. database : no change.
2. saturation phase: *pols* and *rest* ??
   previously: (pol tran pol)
   Now: (pol CONDITION?? pol)
================================================================
