a java implementation of peirce’s existential graphs bram van heuveln department of philosophy...
TRANSCRIPT
A Java Implementation of Peirce’s Existential Graphs
Bram van Heuveln
Department of Philosophy
State University College at Oneonta
March 22, 2001
Overview
Background: Logic Systems
Peirce’s Existential Graphs
The Project
Implementation
Demonstration
Logic Systems
A Logic PuzzleThe body of Mr. X was found murdered in his bedroom by the housemaid. Who did it?Inspector Clouseau collects the following information:
Only the butler and the housemaid have a key to Mr. X’s bedroomOnly the butler knows about the secret alarm that Mr.X activates at night in his bedroomThe alarm did not go off.
Logic Systems
Our Reasoning
“Either the butler or the housemaid killed Mr. X. However, if the housemaid killed Mr. X, the alarm would have gone off, and the alarm didn’t go off, so the housemaid is in the clear. Therefore, the butler did it.”
Can we formalize our reasoning? Yes. This is what logic systems do.
Logic Systems
Step 1: Logical Symbolization
Use symbols to represent simple propositions:H: The housemaid did itB: The butler did itA: The alarm went off
Use further symbols to represent complex claims:H B: The housemaid or the butler did itHA: If the housemaid did it, the alarm would go off~A: The alarm did not go off
Logic Systems
Step 2: Logical Inference
Transform symbolic representations using basic rules that reflect valid inferences:
H BHA
~A
~H
B
2, 3 MT
A.
A.
Assumption (A.)
5.
4.
3.
2.
1.
1, 4 DS
Logic Systems
Completeness and Soundness
Logic Systems need to be complete and sound:Expressive Completeness: The system needs to be able to represent every possible logical expression.Deductive Completeness: The system needs to be able to infer anything that logically follows.Deductive Soundness: The system should not be able to infer anything that does not logically follow.
Logic Systems can be proven to be complete and sound.
Logic Systems
The Trade-offThe rules in logic systems reflect simple logical inferences. The simpler the inferences, the fewer rules the system will have to have in order to be complete, as more complex rules will reduce to sequences of more simple rules. However, this also means that proofs get longer. In other words, there is a trade-off between the number of rules in the system and the length of a given proof.
Logic Systems
Example of the Trade-off
H BHA
~A
H
A
A.
A.
A.
A.
5.
4.
3.
2.
1.
2,4 E
6.
7.
~A
~H
3 R
4-6 ~I
8.
9.
13.
12.
11.
10.
B
B
H
~B
H
~H
B
B
14.
15.
A.
A.
A.
10 R
7 R
8 R
1,8-9,10-14 E11-13 ~E
24 rules: 2 steps11 rules: 12 steps
Existential Graphs
Peirce’s Existential GraphsA graphical logic system developed by Peirce almost 100 years ago.Peirce studied semiotics: the relationship between symbols, meanings, and users.
Peirce found the linear notation and accompanying rules of traditional logic systems (which he helped develop) involved and unintuitive. Existential Graphs allow the user to express logical statements in a completely graphical way.
Existential Graphs
Syntax of EG
‘P’
‘not P’
‘P and Q’
‘P or Q’
‘if P then Q’
Traditional EG
P P
~P
P&Q
PQ
PQ
P
Q
QP
P
QP
Existential Graphs
Inference Rules of EG
Double Cut
(De)Iteration
Erasure
Insertion
P P
QPQ
QP
QP
P
Q
PP
Existential Graphs
Proof in EG
A
B
DE
DCE
BH AH
ABH
H AB
DE
H
H AB
Existential Graphs
Strength of EGCompact
Only Propositions and Cuts; Only 4 rulesEasy to use
Less chance of making mistakesFast
Transform rather than rewriteIntuitive
Many logical relationships come for freeMaximum Logical Power
Expressively complete; deductively complete
Existential Graphs
Student ResponsePersonal experience from teaching Existential Graphs in
logic class:Even though students were forced to draw successive snapshots, students were more happy with Existential Graphs than traditional systems:
easierfasterless mistakesmore fun
Students were very excited at the idea of having an interactive interface
The Project
MotivationEG presents an interesting alternative to traditional systemsInterface for construction and manipulation of Existential Graphs can be used in logic classSoftware does not seem to existConceptual advantages of the dynamic character of logic proofs in EG remain unexploredNice example of cross-curricular collaborationNice example of integrating technology into the classroom
The Project
Required FunctionalityThe user should be able to:
Generate Existential Graphs• Draw, delete, move, resize, and copy propositions and
cutsManipulate Existential Graphs• Apply rules of inference
The system should:Keep track of the logical relationships as expressed by the Existential GraphsCheck if the rules of inference are correctly applied by the user
The Project
Desired Additional Functionality
File I/OTo load and save existential graphsTo load and save proofs as a series of images
Proof EditorVideo buttons to play and rewind proofsEdit existing proofs
Help and TutorialInstructions for useExamples
The Project
The Project TeamSupervisors:
Bram van Heuveln (Philosophy)Dennis Higgins (Math and Computer Science)
We obtained a TLTC Fast Tech GrantWe invited three upper division Computer Science students to develop this software:
Elizabeth HatfieldDebbie KilpatrickLut Wong
We held weekly meetings to discuss progress
The Project
Division of Labor
E lizab e th H atfie ldp rog ram m er
w in d ow s ,icon s
D eb b ie K ilp a trickp rog ram m er
w in d ow s ,m a in
L u t W on gp rog ram m er
g rap h ica l rep resen ta tionan d m an ip u la tion
D en n is H ig g in s , B ram van H eu ve lnsu p erviso rs
D en n is w orked on d a ta s tru c tu resB ram w orked on file I/O an d log ica l asp ec ts
The Project
Project PhasingWe decided to implement in two phases:
Phase one: develop a Work AreaInterface with full editing capabilities for generating and editing Existential GraphsMain problem: Correspondence between graphical operations and internal logical data structure
Phase two: develop a Proof AreaInterface for the manipulation of Existential GraphsMain Problem: Perform checking to insure user selections are legal
The Project
Current Status
Both phases are now complete, and we have a minimally working system
Additional helpful features still need to be implemented