論理学の歴史資料 2011.12.19
12月12日資料
- テーマ:オブジェクト指向とアリストテレス論理学(形而上学)
- 現代の記号論理学には次のものがない:
- 変化、動きの概念がない。
- 対象、物、者、個体を表す a,b,x,y... に構造がない。
- P(x,y)のように、x と y を原子のように扱い、それらの間の関係性(logic of relatives)だけで世界を記述しようとする。
- 変化、動きが必要なときは、変化の前後の状態を個体 s1, s2,... として表し、それの変化の関係 s1 -> s2 を導入し、それで変化を記述する。
- もし、時間が必要なときは、物理学のパラメータ t のように、時間も個体の一種にする。これと同じ考え方。
- ただし、論理式を拡張するアプローチもある。
- 対象には心も精神もない。個物。
- だから、価値もなければ目的もない。
- 一方、アリストテレスの哲学には、これらが最初から入っている:
- アリストテレスの4つの原因(causes)
参考1 参考2 参考3
参考4
- 質料因 材料
- 形相因 形
- 作用因 変化を起こすもの。動力因、動因。 動因はあまり使われないが、林はこういうことがある。(解り易いので)
- 目的因 目的
- 専門的に言うと、これらは論理学ではなくて、存在論とか形而上学に分類されるべきものらしい。
- しかし、論理学の一部に含めて議論する人は少なくない。ここでも、そういう立場でやる。
- ちなみに、アリストテレス論理学一般の解説
- コンピュータのソフトウェアは、これらすべてを持っている。
- 質料因 データ構造 (プログラミング言語などの)
- 形相因 システムのデザイン (プログラミングにおけるデータやシステムの設計により出来たもの)
- 作用因 プログラム (動きの記述、これもプログラミング)
- 目的因 作成目的、要求仕様
- プログラミング=形相と作用を設計して、プログラミング言語を使ってそれを作ること。
- システム作り=システムの目的を明らかにして要求仕様を作成し、さらに詳細な仕様を作り(作用因と形相因の設計)、それを実際に作る(作用因と形相因を質料因(プログラム言語や既存のライブラリやシステム)から作る。ただし、質料因にあたるものを自分で作る事もある。)
- 現代論理学では、クラスとは単なる物の集まり。集合だが、オブジェクト指向プログラミング言語という物には、クラスという概念があり、これがアリストテレスのクラス(類)の考え方に近い。
- 類:種:個=クラス:サブクラス:インスタンス(オブジェクト)
- 種差を定義すること= Subclass extends Superclass の定義
- アリストテレス論理学とオブジェト指向の関係を説明したIT関連の文書
12月19日資料
- 質問票から:
- 種に種差を追加して種を狭めていくのに、オブジェクト指向では、どうしてサブクラスがスーパークラスを extends していると言うのか?
- 「種差を追加」という様に、種の性質が増えているから。
- 白馬は馬に「白い」という属性が追加されている。
- これと同様にサブクラスにはデータやメソッドと呼ばれるプログラムが追加される。この場合は、静的な性質でなく、実際にプログラムが追加されるので、extends という感じになる。
- テーマ:ソフトウェア開発に使われる半形式言語 UML
- 人類史上最大の人工言語か?
- 実際の記述方法を少しみてみる。
- 多様なクラス(類、種)とオブジェクト(個、インスタンス)との相互関係があり、それが絵で描けるようになっている。
- たとえば、汎化の関係。これが類と種、種と種の関係。
- クラスとオブジェクトの関係:
- 集約とコンポジション
- 注意.オブジェクト指向では個は特殊な種・類ではなくて、記号論理学のように個として独立している。これは記号論理学により近い。
- その他、様々な関係
- 他の図
- 本当に「世界」を記述しようとすると、せめえてこれ位は用意されていないと書けない。実は、多くの場合、UMLだけでは書けないので、ソフトウェアの応用分野に特有のプロファイルというものが必要となる。
- 現実記述のための記述概念や語彙の豊かさという点では、UML>伝統論理学>記号論理学という感じ。
- ただし、限量子、述語概念、論理記号の豊か差では、伝統論理学<記号論理学。
- それにも関わらず、現実記述のためとなると伝統論理学>記号論理学であるのは、記号論理学の体系が、それで何かを記述するためではなく、それを研究対象とするメタ論理(メタ数学)のために作られたという経緯の影響がある。
- パース、フレーゲ、ペアノ、ラッセルまでは、記述に使おうという意図が見られるが、現代の記号論理学の体系を、最初に作ったダーフィット・ヒルベルトの時代になると、記号論理学の体系は、ヒルベルト計画という記号論理学をメタに研究する研究計画における研究対象となってしまい、それで何かを実際に記述するということが殆ど行われなくなった。1920年代の事。
- 一方、UMLは、実際に何かを記述する事を目指して作られた。また、伝統論理学もその傾向が記号論理学よりは強い。