Open2
含意(論理包含)

含意(論理包含)
- 論理演算の一種
-
A→B
と表記され、「AならばB」と読む - Aが真ならば、Bは必ず真であるという条件を表す
- Aが偽の場合は、Bの真偽に関わらず全体としては真になる
真偽表で見るのがわかりやすい。
A | B | A→B |
---|---|---|
T | T | T |
T | F | F |
F | T | T |
F | F | T |
「Aが真であるのにBが偽」のケースのみ、偽となる論理演算である。

含意の論理演算子を持つプログラミング言語
含意(Implication) を演算子として持つプログラミング言語は少ない。
Visual Basic (VBA)
Imp 演算子 より:
A > B Imp B > C
OCL
プログラミング言語ではないが、OCLのBooleanは implies
をサポートしているらしい。
OMGのドキュメントより:
context Person inv:
self.wife->notEmpty() implies self.wife.gender = Gender::female
上記サンプルは、Person
の不変条件として、wife
が空でないならば、wife
のgender
はfemale
であることを表明している。
(ちょっと今の時代だと、トランスジェンダー的にどうなのよ、って例なのだけど。)