プロパティ名としてA a を使用するのは少し珍しいので、代わりにpを使用します。UML ダイアグラムもプロパティの方向性を表していないため、残りの説明が少し混乱します。ただし、提供した公理からいくつかの情報を収集できます。
UML が以下を表現するように設計されている場合:
- C 1のインスタンスは、 pによって C 2の少なくとも n lおよびほとんどの n uインスタンスに関連付けられます。
- C 1の少なくともmlおよびほとんどのmuインスタンスは、 pによってC 2の各インスタンスに関連付けられる。
次に、DL公理を使用できます。
C 1 ⊑ ≥n l pC 2
C 1 ⊑ ≤n u pC 2
C 2 ⊑ ≥m l p -1 .C 1
C 2 ⊑ ≥m u p -1 .C 1
x が C 1 (C 2 ) である場合、x はp ( p -1 ) によって適切な数の C 2 (C 1 ) インスタンスに関連付けられると言われています。ここで、UML で表現された関係は 2 つのクラスのインスタンスのみを関連付けるので、つまり、他のタイプのインスタンスはプロパティpによって関連付けられないため、 pのドメインと範囲をC 1として宣言する可能性が高くなります。C 2、それぞれ:
∃p ⊑ C 1
∃p -1 ⊑ C 2
次に、上記の公理のより単純なバージョンを使用します。
C 1 ⊑ ≥n l p
C 1 ⊑ ≤n u p
C 2 ⊑ ≥m l p -1
C 2 ⊑ ≥m u p -1
非常に具体的な質問に答えるには:
アサーションへの C2 の必須の参加が C1 のアサーションによってどのように表現されるかを理解できないのですが、最後のアサーションはどのように読み取られますか?
質問の最後の公理の表記は異常であり、正確にどうあるべきかわかりません。小さなサーカムフレックスがどうあるべきかわかりません。次のようになります。
C 1 ⊑ ∃ p
けれど。その場合は、次のように読みます。
C 1は ∃ p のサブクラス
つまり、それは
xが C 1のインスタンスである場合、xは ∃ p のインスタンスです。
つまり、
xが C 1のインスタンスである場合、xは少なくともpの値を持つもののクラスのインスタンスです(つまり、 p (x,y) となるyが少なくとも 1 つ存在します)。
一次論理では、次のように表現できます。
∀x.(C 1 (x) → ∃yp(x,y))