# areIsomorphic -- determines if two posets are isomorphic

## Synopsis

• Usage:
r = areIsomorphic(P, Q)
r = P == Q
• Inputs:
• P, an instance of the type Poset,
• Q, an instance of the type Poset,
• Outputs:
• r, , whether $P$ and $Q$ are isomorphic as posets

## Description

Two posets are isomorphic if there is a partial order preserving bijection between the ground sets of the posets which preserves the specified ground set partitions.

 i1 : C = chain 5; i2 : P = poset {{a,b},{b,c},{c,d},{d,e}}; i3 : areIsomorphic(C, P) o3 = true

The product of $n$ chains of length $2$ is isomorphic to the boolean lattice on $n$ elements. These are also isomorphic to the divisor lattice on the product of $n$ distinct primes.

 i4 : B = booleanLattice 4; i5 : B == product(4, i -> chain 2) o5 = true i6 : B == divisorPoset (2*3*5*7) o6 = true i7 : B == divisorPoset (2^2*3*5) o7 = false