The dual of a poset is the poset on the same ground set but with all relations reversed.

i1 : P = divisorPoset 12; |

i2 : dual P o2 = Relation Matrix: | 1 0 0 0 0 0 | | 1 1 0 0 0 0 | | 1 0 1 0 0 0 | | 1 1 0 1 0 0 | | 1 1 1 0 1 0 | | 1 1 1 1 1 1 | o2 : Poset |

Clearly then, the chain posets and booleanLattices are all self-dual.

i3 : C = chain 5; |

i4 : areIsomorphic(C, dual C) o4 = true |

i5 : B = booleanLattice 4; |

i6 : areIsomorphic(B, dual B) o6 = true |