Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

めくるめく「又は」及び「若しくは」並びに「及び」及び「並びに」の世界 (図あり)

暑くて眠いです。

さて,先日このようなツイートを見ていたく感動しました。

わーい,アジマティクスの方(id:motcho さん)が法律も図にしてくれてるぞ!というわけです。僕は法学を学部でやっていたのでウレピーウレピーというわけです。

さてこの「又は」及び「若しくは」並びに「及び」及び「並びに」の用法ですが,論理関係が双対(使い方が間違ってるかもしれない)になっただけで一見同じように見えます。

ところがどっこい,深さが変わると挙動が違うんです!

アジマティクスリスペクトで図を書いていきます。眠くてふにゃふにゃなので間違っていたらしかってください。

A

f:id:Windymelt:20200618214047p:plain

Aです。特筆すべき事項はありません。

又は

「又は」からやっていきましょう。

f:id:Windymelt:20200618214208p:plain

AかBのどっちかですね。ここでは黒の点線で表現します。

若しくは

階層構造が出現すると「若しくは」が出現します。ここでは黒の実線で表現します。

f:id:Windymelt:20200618214405p:plain

もっと深くなった「若しくは」

階層構造を二重にします。するともっとも大きい階層が「又は」で連結されます。1回生のときに総論で勉強しますが,試験に出ると辛い気持ちになります。

f:id:Windymelt:20200618214553p:plain

横に延びた「若しくは」

「A若しくはB若しくはC又はD」,プログラミング的に書くと((A || B) || C) || D」って,A・Bに対して並列にCが伸びた「(A || B || C) || D」と区別できないのでは?という疑問が浮かびますが,この場合はカンマを使うことで回避することができます。

f:id:Windymelt:20200618214958p:plain

誰かが決めてde jureでそういうルールになっているというよりは,そういう慣用がなされているという感じだと思います。

及び

AもBも要求するときに「A及びB」と書きます。赤の点線で表現します。

f:id:Windymelt:20200618215253p:plain

並びに

「及び」に階層構造が出現すると「並びに」が登場します。赤の実線で表現します。

f:id:Windymelt:20200618215447p:plain

もっと深くなった「及び」

こちらでも階層構造を二重にします。するともっとも小さい階層が「及び」で連結されます。

f:id:Windymelt:20200618215832p:plain

両者の違い

図を見るとよく分かるのですが,くっつき方が異なるのが分かりますか?これを木構造として捉えてみましょう。仮想的な根ノードに,各要素の葉が,論理結合のエッジを介してぶら下がっています。

「又は」・「若しくは」は一番の階層だけが「又は」として保存され,これより小さな階層は全て「若しくは」になります。

f:id:Windymelt:20200618220615p:plain

「及び」・「並びに」は一番の階層だけが「及び」として保存され,これより大きな階層は全て「並びに」になります。

f:id:Windymelt:20200618220909p:plain

用語が保存される方向が逆になっていることに気付きます。理由は,わかりません。図にすることでいくぶん使い方が覚えやすくなったように思います。

まとめ

眠いのでまとめられませんでした。

良かったですね。

論理トレーニング101題

論理トレーニング101題

  • 作者:野矢 茂樹
  • 発売日: 2001/05/15
  • メディア: 単行本(ソフトカバー)

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?