mongolyyのブログ

開発(Javascript, Typescript, React, Next.js)や開発手法(スクラム, アジャイル)、勉強したことについて色々書ければと。

「入門!論理学」を読んだら、論理学の考え方が少しわかった

はじめに

きしださんのこちらの記事を参考に、型理論を理解したいと考え、まずは「入門!論理学」を読んでみました。
感想を書いていこうと思います。

nowokay.hatenablog.com

読んでみてどうだったか?

論理学の考え方や、用語を理解できた

論理学での話の組み立て方、また、排中律、連言、選言、導入、除去、全称、存在と言った論理学の言葉について理解できました。
概念としてはもともと知っているものもありましたが、本書では、論理学としてどう捉えられているかというのが、わかり易い言葉で、深く説明されていて非常に読み応えがありました。

その中でも、「排中律」を認めるかどうかが論理学の中で議論されることの一つという話が興味深かったです。
排中律は、"Aである"が正の場合は"Aではない"は偽になり、逆に"Aである"が偽の場合は、"Aではない"は正である、という意味なのですが、プログラムを書いている上では当たり前なのですが、実生活では、証拠不十分でどちらかと断定するのは難しい場合があるんですよね。
本書では「排中律」が成り立たない例をいくつか紹介されていて非常にわかりやすかったんですが、同時に、普段自分たちが当たり前として捉えている考え方は、案外脆いものでもある、ということに気付かされました。

また、軽くしか紹介されていませんでしたが、「ゲーデル不完全性定理」についても興味深かったです。
今まで数学はいくつかの公理の上で、すべての命題について証明可能だと思っていましたが、そうではない(≒不完全性がある)ということを知り、「ほえー」と思いました。(これも正確な理解ではないかもしれませんが汗)

おわりに

本書で論理学を知って、今までの自分の考えはある枠組みの中で定義されたことであったと知りつつ、考えを広げてみると、「そもそも〇〇とは?」みたいな哲学的な方向性に考えにいきついたり、一方、数学やプログラミングとの結びつきも深く、論理学は領域横断的な基礎分野だなーと感じました。

本書は丁寧であるものの、論理学自体始めてだったこともあり、途中で何がわかっていて、何がわかっていないか、よくわからなくなる時がありました。 ただ、そういうタイミングに、本書では今までの理解を確かめたり、今までの理解を発展させた練習問題が出てきていて、それにより迷子にならずに読み進めることができました。
論理学難しそう、、という、初心者の方におすすめの本でした。