de.rwth.domains
Interface PreLattice

All Superinterfaces:
POSet, PreLowerSemiLattice, PreUpperSemiLattice, Set
All Known Subinterfaces:
CompleteLattice, Lattice
All Known Implementing Classes:
StackPreLattice

public interface PreLattice
extends PreLowerSemiLattice, PreUpperSemiLattice

Interface for pre lattices. Lattices are structures which are both pre lower and pre upper semi lattice where the absorption law holds.

Version:
$Id: PreLattice.java,v 1.2 2002/09/17 06:53:53 mohnen Exp $
Author:
Markus Mohnen

Inner classes inherited from class de.rwth.domains.Set
Set.Default
 
Method Summary
 java.lang.Object join(java.lang.Object e1, java.lang.Object e2)
          Computes the least upper bound of two elements if it exists.
 java.lang.Object meet(java.lang.Object e1, java.lang.Object e2)
          Computes the greatest lower bound of two elements if it exists.
 
Methods inherited from interface de.rwth.domains.POSet
le, lt
 
Methods inherited from interface de.rwth.domains.Set
equals, isElement, iterator, iteratorSkel, size, sizeSkel
 

Method Detail

meet

public java.lang.Object meet(java.lang.Object e1,
                             java.lang.Object e2)
Computes the greatest lower bound of two elements if it exists.
In addition to the restrictions on meet from here, implementations should guarantee that meet fulfills the absortion laws: equals(meet(join(e1,e2),e1),e1) and equals(join(e1,meet(e1,e2)),e1) for all elements e1 and e2 where everything exists.
Specified by:
meet in interface PreLowerSemiLattice
Parameters:
e1 - a value of type Object
e2 - a value of type Object
Returns:
the greatest lower bound of e1 and e2 or null if this does not exists
See Also:
Domain.checkProperties(PreLattice l)

join

public java.lang.Object join(java.lang.Object e1,
                             java.lang.Object e2)
Computes the least upper bound of two elements if it exists.
In addition to the restrictions on join from here, implementations should guarantee that join fulfills the absortion laws: equals(meet(join(e1,e2),e1),e1) and equals(join(e1,meet(e1,e2)),e1) for all elements e1 and e2 where everything exists.
Specified by:
join in interface PreUpperSemiLattice
Parameters:
e1 - a value of type Object
e2 - a value of type Object
Returns:
the least upper bound of e1 and e2 or null if this does not exists
See Also:
Domain.checkProperties(Lattice l)