generated at
Hasse図

有限順序集合(U,\le)の可視化方法の一つ
Uの要素を点で表す
ある要素aからその直後の要素bに線分を引く
aの直後にbがくる:\iff a< b\land\forall x\in U.(a\le x\le b\implies a=x\lor x=b)
つまり、経由地点があるルートを飛ばして矢印を書くのは禁止takker
baより上の位置に書く

「直後の要素」という二項関係による有向グラフと言える
もしくは、半順序集合の有向グラフに以下の制限を加えて見やすくしたものともいう
1. 自分自身への矢印を消す
2. 直後の要素を2個以上たどって到達できる要素への矢印を消す
3. 矢印が全て上向きになるよう要素を配置する
4. 矢印の代わりに線分にする

例9.5 Hasse図の例
全順序集合(\{1,2,3,4\},\le)
半順序集合(\{1,2,3,4,6,9,12,18\},\backslash)
ここで、b\backslash a:\iff\exists k\in\Z;a=kbで、abで割り切れる時真を示す
テキストではb|aが使われるが、ドナルド・クヌースの記法に倣ってみたtakker
全順序集合だと一直線に並ぶことがわかる



9.5.1.tikz(tex)
\begin{document} \begin{tikzpicture}[domain=0:4] \tikzset{ every node/.style={circle,draw,inner sep=2pt,fill=white}, every path/.style={very thick}, } \draw (0,0) node[label={right:$1$}]{} -- ++(0,1) node[label={right:$2$}]{} -- ++(0,1) node[label={right:$3$}]{} -- ++(0,1) node[label={right:$4$}]{}; \end{tikzpicture} \end{document}

9.5.2.tikz(tex)
\begin{document} \begin{tikzpicture}[domain=0:4] \tikzset{ every node/.style={circle,draw,inner sep=2pt,fill=white}, every path/.style={very thick}, } \coordinate (left) at (-2^-0.5,2^-0.5); \coordinate (right) at (2^-0.5,2^-0.5); \draw (0,0) node[label={right:$1$}](1){} -- ++(right) node[label={right:$2$}](2){} -- ++(right) node[label={right:$4$}](4){} -- ++(left) node[label={right:$12$}](12){}; \draw (1) -- ++(left) node[label={right:$3$}](3){} -- ++(left) node[label={right:$9$}](9){} -- ++(right) node[label={right:$18$}](18){}; \draw (3) -- ++(right) node[label={right:$6$}](6){}; \draw (2) -- (6) -- (12); \draw (6) -- (18); \end{tikzpicture} \end{document}