image

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を引数に取る関数」に代入してはいけない
      • 「動物一般を引数に取る関数」を「猫だけを引数に取る関数」に代入すると安全ではない、犬を引数にして呼び出されてしまうかもしれないから
      • つまり集合の包含関係が反転してるわけ
      • これを反変という