Dear All,
     Sorry for troubling you with a newbie question on ECJ.

     My problem is similar to common GP problems. Say, finding a 
solution like 'A+B*C/D'. One thing special is that valid individuals need 
to satisfy two constraints:

     1) Certain variables can only appear in the individual if certain other 
variables appear. For example, X can appear in the individual if only Y 
appears. Then 'X+A/Y' and "C-Y" are valid individuals, while 'B+X' is not.

     2) An individual shall always be monotonic with respect to each 
variable. For example, "X/Y + X" is a valid individual because it is 
monotonic to both X and Y, while "(X+1)/(X+2)" is not a valid individual 
because it is not monotonic to X.

     I have searched the archieve of this mailing list and find an old post 
called "Scope constraints". The type-based solution provided in this 
post, however, is insufficient to implement these two constraints in my 
understanding. I have also thought about using fitness value to 
penalize invalid individuals in order to discourage them from being bred, 
but I wonder whether this will really mess with ECJ and hurt its 
     Any suggestion is highly appreciated.