Note: The first word in a <height-constraint> can be abbreviated.<height-constraint> ::= height <operator-set> ( <height> <operator-set> )+ | ( bottom | top ) <operator>+[,] <height> ::= > | = | >= <operator-set> ::= <operator> | "(" <operator>+[,] ")"
height f > g height => > (/\, \/) > true = false bottom f
The transitive closure of the height constraints in LP's registry defines a partial order on operators, which is used by the dsmpos ordering. The register command will reject any height constraint that is not a consistent extension to its registry.
The bottom (top) constraints suggest that LP extend its registry when it needs information about a listed operator by giving that operator a lower (higher) height than any non-bottom (non-top) operator. LP does not actually extend its registry until it needs this information. In general, putting operators at the bottom (top) of the registry causes terms to be reduced toward (away from) ones made out of these operators.