
数学、特に順序理論において、集合上の半順序とは、ある要素のペアについて、一方が他方より先に現れるような配置のことである。「半」という言葉は、すべての要素のペアが比較可能である必要はないことを示すために用いられる。つまり、どちらの要素も他方より先に現れないペアも存在し得る。したがって、半順序は、すべてのペアが比較可能である全順序を一般化したものである。
形式的には、半順序とは、反射的、反対称的、推移的な同質な二項関係である。半順序集合(略してposet )とは、順序対のことである。一連の(グラウンドセットと呼ばれる))と部分順序の上文脈から意味が明確で、部分順序に曖昧さがない場合、集合はそれ自体は、時として半順序集合と呼ばれる。
部分順序という用語は通常、反射的な部分順序関係を指し、この記事ではこれを非厳密な部分順序と呼びます。しかし、一部の著者は、もう一つの一般的なタイプの部分順序関係である非反射的な部分順序関係(厳密な部分順序とも呼ばれる)に対してこの用語を使用します。厳密な部分順序と非厳密な部分順序は1対1に対応させることができるため、すべての厳密な部分順序には一意の対応する非厳密な部分順序が存在し、その逆もまた同様です。
反射的、弱い、[ 1 ]または非厳密な半順序[ 2 ]は、半順序と呼ばれることもあり、集合同次関係≤つまり、反射的、反対称的、推移的である。つまり、すべての以下の条件を満たさなければならない:[ 1 ]
非厳密な部分順序は、反対称前順序とも呼ばれます。
反射しない、強い、[ 1 ]または厳密な半順序は、集合上の同次関係 < である。それは非反射的、非対称的かつ推移的である。つまり、すべてのに対して以下の条件を満たす。
推移関係は、非反射的である場合に限り非対称である。[ 3 ]したがって、非反射性または非対称性のいずれかを省略しても(両方を省略しても)定義は同じである。
厳密な部分順序は、厳密な先行順序とも呼ばれます。

集合上の厳密な部分順序と非厳密な部分順序密接に関連している。非厳密な部分順序形式のすべての関係を削除することにより、厳密な部分順序に変換できます。すなわち、厳密な半順序は集合であるどこは恒等関係ですそしては集合の減算を表します。逆に、 は厳密な部分順序 < を表します。その形式のすべての関係を隣接させることにより、非厳密な部分順序に変換できます。つまり、は非厳密な半順序です。したがって、が非厳密な半順序である場合、対応する厳密な半順序 < は、次式で与えられる 非反射的カーネルである。 逆に、< が厳密な半順序である場合、対応する非厳密な半順序は反射閉包は次のように表される。
双対(または反対)半順序関係のは、逆の関係であるつまりかつその場合に限り非厳密な半順序の双対は非厳密な半順序であり、[ 4 ]厳密な半順序の双対は厳密な半順序である。関係の双対の双対は元の関係である。
集合が与えられたそして、半順序関係(典型的には非厳密半順序)我々は、独自の方法で表記法を拡張して、4つの部分順序関係を定義することができる。そして、 どこは、非厳密な部分順序関係である。、は、関連する厳密な部分順序関係です。(反射しない核))は、 そしては厳密に言えば、部分順序集合という用語は、これらの関係がすべて適切に定義された集合を指します。しかし実際には、単一の関係だけを考慮すれば十分です。またはまたは、まれなケースでは、非厳密な関係と厳密な関係が一緒に、[ 5 ]
順序集合という用語は、文脈から他の種類の順序を意味していないことが明確である限り、部分順序集合の略記として使用されることがあります。特に、完全順序集合も「順序集合」と呼ばれることがあり、特にこれらの構造が半順序集合よりも一般的な分野ではそうです。一部の著者は、異なる記号を使用しています。のような[ 6 ]または[ 7 ]部分順序と全順序を区別するため。
部分順序を参照する場合、補語として解釈すべきではない関係は、非反射核の逆である。これは常に の補集合の部分集合である、 しかしは、の補数に等しい。の場合に限り、は全順序である。[ a ]
コンピュータサイエンスで見られる、部分順序を定義するもう1つの方法は、比較の概念を用いることです。具体的には、前述のように、2つの要素xとyは、互いに排他的な4つの関係のいずれかをとる可能性があることがわかります。すなわち、 x < y、x = y、x > y、またはxとyは比較できない、のいずれかです。これは関数で表すことができます。2 つの要素が与えられたときに 4 つのコードのいずれかを返す。[ 8 ] [ 9 ]この定義は、集合の等価性ではなく定義された同値関係として等価性が取られる集合の半順序と同等である。[ 10 ]
ウォリスは、より一般的な半順序関係の概念を、推移的かつ反対称的な同質関係として定義している。これには、反射的および非反射的な半順序の両方がサブタイプとして含まれる。[ 1 ]
有限半順序集合はハッセ図によって視覚化できる。[ 11 ]具体的には、厳密な半順序関係をとると、有向非巡回グラフ(DAG) は、各要素をノードであり、各要素はエッジとなる。このDAG [ b ]の推移的縮小がハッセ図となる。同様に、このプロセスを逆にして、特定のDAGから厳密な部分順序を構築することができる。対照的に、非厳密な部分順序に関連付けられたグラフは、すべてのノードに自己ループを持つため、DAGではない。非厳密な順序がハッセ図で表されていると言われる場合、実際には対応する厳密な順序が示されている。

数学において出現する半順序集合の標準的な例としては、以下のようなものがある。
部分的に順序付けられた集合の身近な例として、系譜上の子孫関係に基づいて並べられた人々の集合が挙げられる。ある人々のペアは子孫と祖先の関係にあるが、他の人々のペアは比較不可能であり、どちらも相手の子孫ではない。
強さの増減順、つまりペアの集合の減少順に、 2つの部分順序集合のデカルト積上の可能な部分順序のうち3つは次のとおりである(図 4参照)。
これら3つはすべて、2つ以上の集合の直積についても同様に定義できる。
同じ体上の順序付きベクトル空間に適用した場合、結果はいずれの場合も順序付きベクトル空間となる。
完全順序集合のデカルト積の順序も参照してください。
2 つの (互いに素な) 半順序集合を組み合わせるもう 1 つの方法は、順序和[ 12 ] (または線形和) [ 13 ] Z = X ⊕ Yであり、これは、基となる集合XとYの和集合上で、次の場合に限り順序a ≤ Z bによって定義されます。
2 つの半順序集合が整列している場合、それらの順序和も整列している。[ 14 ]
直列並列半順序は、順序和演算(この文脈では直列合成と呼ばれる)と並列合成と呼ばれる別の演算から構成されます。並列合成は、 2つの半順序集合の非交和であり、一方の集合の要素と他方の集合の要素の間には順序関係はありません。
例では半順序集合を使用しています3つの要素からなる集合のすべての部分集合の集合から成る集合の包含関係に基づいて順序付けられています(図 1を参照)。

半順序集合における「最大」要素と「最小」要素にはいくつかの概念がある。特に:

別の例として、正の整数を割り切れる順に並べた例を考えてみましょう。1は他のすべての要素を割り切るので最小要素ですが、この半順序集合には最大要素がありません。この半順序集合には最大要素も存在しません。例えば、任意のgは2gを割り切るので、gは最大要素ではありません。1より大きい要素の順序を割り切れるという条件を維持したまま、1を除外すると、結果として得られる半順序集合には最小要素はありませんが、任意の素数が最小要素になります。この半順序集合では、60は部分集合の上限(ただし最小上限ではない)です。1 は半順序集合に含まれていないため、下限はありません。一方、2 は 2 のべき乗の部分集合の下限であり、上限はありません。0 を含めると、これはすべての整数の倍数であるため、最大の要素になります (図 6 を参照)。
2 つの半順序集合( S , ≤)と( T , ≼)が与えられたとき、関数すべての に対して が成り立つ場合、は順序保存、単調、または等調と呼ばれる。f ( x ) ≼ f ( y )を意味します。( U , ≲)も半順序集合であり、そして順序を保持する、その構成順序保存機能も備えています。すべてのf ( x ) ≼f ( y )はf が順序保存かつ順序反映である 場合、それは( S , ≤)から( T , ≼)への順序埋め込みと呼ばれる。後者の場合、fは必然的に単射である。暗示するそして今度は反対称性によれば2 つの半順序集合SとTの間に順序埋め込みが存在する場合、 S はTに埋め込むことができると言います。が全単射である場合、それは順序同型と呼ばれ、部分順序( S , ≤)と( T , ≼)は同型であると言われます。同型順序は構造的に類似したハッセ図を持ちます(図 7a を参照)。順序保存写像がそして存在するのでそしてそれぞれSとT上で恒等関数が得られるので、SとTは順序同型である。[ 15 ]
例えば、マッピング自然数の集合(割り切れるかどうかで順序付けられている)から自然数の冪集合(集合の包含関係で順序付けられている)への写像は、各数をその素因数の集合に対応させることで定義できます。これは順序保存です。つまり、 x がy を割り切る場合、 xの各素因数はyの素因数でもあります。ただし、これは単射ではありません(12 と 6 の両方を写像するため)。)でも順序も反映しない(12は6を割り切れないため)。代わりに各数をその素数のべき乗の約数の集合に取り込むことで、写像が定義される。これは順序保存写像であり、順序反映写像であり、したがって順序埋め込み写像である。これは順序同型写像ではない(例えば、どの数も集合に写像しないため)。)だが、その値域を に制限することで にすることができる。図 7bは、そして、 gによる同型像。このような順序同型を冪集合に構成することは、分配束と呼ばれる広いクラスの半順序に一般化できます。バーコフの表現定理を参照してください。
OEISのシーケンスA001035は、 n個のラベル付き要素の集合における部分順序の数を示します。
S ( n , k )は第 2 種のスターリング数を指すことに注意してください。
厳密な部分順序の数は、部分順序の数と同じである。
同型性までのみカウントすると、1、1、2、5、16、63、318、... (OEISのシーケンスA000112)というシーケンスが得られます。
半順序集合別の半順序集合の部分順序集合と呼ばれる。ただし、は、そしては、後者の条件は、任意のそしてで(したがって、)、 もしそれから。
もしは部分順序集合であるさらに、すべてのそしてで、 いつでもまた、すると、私たちは部分順序集合誘発される、そして書く。
部分順序撮影現場でこれは別の半順序の拡張と呼ばれますの上ただし、すべての要素についていつでもまた、線形拡張とは、線形(つまり全)順序でもある拡張のことである。古典的な例として、全順序集合の辞書式順序は、それらの積順序の線形拡張である。すべての半順序は全順序に拡張できる(順序拡張原理)。[ 16 ]
コンピュータサイエンスでは、部分順序(有向非巡回グラフの到達可能性順序として表される)の線形拡張を見つけるアルゴリズムは、トポロジカルソートと呼ばれます。
すべての順序集合(およびすべての順序付き集合)は、オブジェクトに対して、そしてから最大で 1 つの射が存在するにより具体的には、x ≤ yの場合hom( x , y ) = {( x , y )} (それ以外の場合は空集合) とし、このようなカテゴリーは、薄いと呼ばれることもあります。
半順序集合は、同型である場合に限り、互いに同値である。半順序集合において、最小の要素が存在する場合は始点対象、最大の要素が存在する場合は終点対象となる。また、すべての前順序集合は半順序集合と同値である。最後に、半順序集合のすべての部分圏は同型閉である。
もしは位相空間の構造も与えられた半順序集合である。その場合、慣例として、位相積空間の閉部分集合であるこの仮定の下では、部分順序関係は極限において、そしてそしてすべてのそれから[ 17 ]
半順序集合Pにおける凸集合とは、 Pの部分集合Iであって、 Iの任意のxとy 、およびPの任意のzに対して、x ≤ z ≤ yならばzもIに含まれるという性質を持つ集合のことである。この定義は、実数の区間の定義を一般化したものである。幾何学における凸集合との混同が生じる可能性がある場合は、「凸」の代わりに「順序凸」という用語を用いる。
格子Lの凸部分格子とは、 Lの部分格子であり、かつLの凸集合でもある部分格子のことである。空でない凸部分格子はすべて、 Lのフィルタとイデアルの交点として一意に表現できる。
半順序集合Pにおける区間とは、区間表記で定義できる部分集合のことである。
a ≤ bが成り立たない場合、これらの区間はすべて空になります。すべての区間は凸集合ですが、その逆は成り立ちません。たとえば、120 の約数の半順序集合を割り切れる順に並べた場合 (図 7b を参照)、集合{1, 2, 4, 5, 8}は凸集合ですが、区間ではありません。
区間Iは、要素が存在する場合に有界である。I ⊆ [ a , b ]となるような区間。区間表記で表せる区間は明らかに有界だが、その逆は真ではない。例えば、実数の部分順序集合としてP = (0, 1) ∪ (1, 2) ∪ (2, 3)とする。部分集合(1, 2)は有界区間だが、 Pには下限も上限もないので、 Pの要素を使って区間表記で表すことはできない。
半順序集合は、すべての有界区間が有限である場合に局所的に有限であると呼ばれる。例えば、整数は自然順序の下で局所的に有限である。デカルト積の辞書式順序は局所的に有限ではありません。なぜなら、(1, 2) ≤ (1, 3) ≤ (1, 4) ≤ (1, 5) ≤ ... ≤ (2, 1)だからです。区間表記法を用いると、「 aはbで覆われている」という性質は、次のように言い換えることができます。
部分順序における区間という概念は、区間順序として知られる特定の種類の部分順序と混同してはならない。
したがって、すべての部分順序は、弱い部分順序とそれに対応する厳密な部分順序からなるペアであると考えることができます。
compare_elements(
x
,
y
):
半順序集合内の
x
と
yを比較します。
x
<
y
の場合は-1 を返します。
x
=
y
の場合は0 を返します。
x
>
y
の場合は 1 を返します。 x
と
y
が比較できない
場合はNone を返します。
内の2つの要素s、tの比較は、s≤t、s>t、またはs|tの3つの異なる値のいずれかを返します。
半順序集合はハッセ図で便利に表現できる。
ウィキメディア・コモンズにあるハッセ図に関連するメディア。それぞれが半順序の例を示している。