XがYを包含するのとYがXを包含するのが視点によって両立する例
- 「AさんとBさんが共有している知識」の集合は
- 「AさんとBさんとCさんが共有している知識」の集合を包含するので
- 「人の集合Sの中で共有されてる知識f(S)」はS1がS2を包含するときf(S2)がf(S1)を包含する
-
- この関数fは包含関係を逆転させる性質があるのだがPさんQさんはその関数の存在に気づいていない
- なのでSもf(S)も同じ言葉で呼んでおり、その結果、包含関係に関する意見が食い違う
集合の包含関係が逆になる別のケース
具体例
- 「一般知識」と「特殊知識」
- 「一般」が広くて「特殊」を包含しそうに思ってしまう
- 「特殊」を一般化して対象範囲を広げたものを「一般」と呼ぶことがあるから
https://ja.wikipedia.org/wiki/共変性と反変性_(計算機科学)
- AがBのスーパークラスである場合、AがBを包含する
- AにBを代入しても良いが、BにAを代入してはいけない
- 一方で「Aを引数に取る関数」は「Bを引数に取る関数」に代入してはいけない
- 「動物一般を引数に取る関数」を「猫だけを引数に取る関数」に代入すると安全ではない、犬を引数にして呼び出されてしまうかもしれないから
- つまり集合の包含関係が反転してるわけ
- これを反変という