a java implementation of peirce’s existential graphs bram van heuveln department of philosophy...

22
A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

Upload: jasmin-griffith

Post on 12-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

A Java Implementation of Peirce’s Existential Graphs

Bram van Heuveln

Department of Philosophy

State University College at Oneonta

March 22, 2001

Page 2: 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

Page 3: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

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.

Page 4: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

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.

Page 5: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

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

Page 6: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

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

Page 7: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

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.

Page 8: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

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.

Page 9: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

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

Page 10: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

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.

Page 11: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

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

Page 12: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

Existential Graphs

Inference Rules of EG

Double Cut

(De)Iteration

Erasure

Insertion

P P

QPQ

QP

QP

P

Q

PP

Page 13: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

Existential Graphs

Proof in EG

A

B

DE

DCE

BH AH

ABH

H AB

DE

H

H AB

Page 14: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

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

Page 15: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

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

Page 16: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

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

Page 17: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

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

Page 18: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

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

Page 19: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

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

Page 20: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

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

Page 21: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

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

Page 22: A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001

The Project

Current Status

Both phases are now complete, and we have a minimally working system

Additional helpful features still need to be implemented