# isLowerSemimodular -- determines if a ranked lattice is lower semimodular

## Synopsis

• Usage:
i = isLowerSemimodular P
• Inputs:
• P, an instance of the type Poset, a ranked lattice
• Outputs:
• i, , whether $P$ is lower semimodular

## Description

Let $r$ be the ranking of $P$. Then $P$ is lower semimodular if for every pair of vertices $a$ and $b$, $r(a) + r(b) \leq r(join(a,b)) + r(meet(a,b,))$.

The $n$ chain and the $n$ booleanLattice are lower semimodular.

 i1 : n = 4; i2 : isLowerSemimodular chain n o2 = true i3 : isLowerSemimodular booleanLattice n o3 = true

The following lattice is not lower semimodular.

 i4 : P = poset {{1, 2}, {1, 5}, {2, 3}, {2, 4}, {3, 7}, {4, 7}, {5, 4}, {5, 6}, {6, 7}}; i5 : isLattice P o5 = true i6 : isLowerSemimodular P o6 = false

This method was ported from John Stembridge's Maple package available at http://www.math.lsa.umich.edu/~jrs/maple.html#posets.

• isLattice -- determines if a poset is a lattice
• isModular -- determines if a lattice is modular
• isRanked -- determines if a poset is ranked
• posetJoin -- determines the join for two elements of a poset
• posetMeet -- determines the meet for two elements of a poset
• rankFunction -- computes the rank function of a ranked poset

## Ways to use isLowerSemimodular :

• "isLowerSemimodular(Poset)"

## For the programmer

The object isLowerSemimodular is .