Aristotelian Logic Checker

Show instructions
Hide these instructions

Aristotelian Term Logic (AL) is a straightforward way to reason about categories. The box below accepts simple English reasoning, one proposition at a time.

All propositions are statements that tell how one category is related to another: No invertebrates are mammals. Some people are not English speakers. Some final exams are cumulative tests.

A syllogism is a set of three propositions: two premises and one that concludes something reasonable from those premises. Enter two propositions, and a "Therefore"-style statement that sounds like a good conclusion. Our resident philosophers, Plato and Aristotle, will instruct whether the conclusion follows from the premises.

 
Show some examples...
Hide these examples
Type, or copy/paste, each line one at a time into the box up top to see them work.
Use the 'Enter' key to add them to the philosopher's dialogue.

All man are like grass.
Aristotle is a man.
Thus, Aristotle is like grass.
This is a valid syllogism. It would not be if the first sentence used 'men' instead of 'man', because that would confuse Aristotle. All terms that are the same must be spelled exactly the same.

No bird is an aardvark.
No crow is an aardvark.
Hence no crow is a bird.
All these propositions make sense individually to the philosophers, but of course the syllogism as a whole is not valid. This one seems obvious, but for reasons that might be more subtle than you'd expect.

Dogs are fat
Cats are fat
Dogs is cats?
Well, are they? Ask Aristotle.

Lambchops are tasty things.
Some tasty things are not healthy.
So some lambchops are not healthy?
This one's a little trickier. Can you figure it out before you asking Aristotle?

Plato and Aristotle
(click image to see a more advanced editing endeavor.)

How to Use:

All men are mortal, and Aristotle is a man. Therefore, Aristotle is mortal. Whether you've heard that logical train or not, it probably made sense to you. This is a valid* AL syllogism, made of two premises and one logical conclusion. You can speak with the philosophers above in exactly this sort of plain language, with one exception: Aristotle is just learning English (he lived and died in Greece after all), and he does not know his nouns very well. To our philosopher friends "man", "men", "mans" and "people" are four totally different things. Silly, I know...

There are four types of propositions:

Three propositions make up a syllogism. Enter each proposition by itself into the input above. Don't forget to state which is the concluding statement. Of course, you can be fairly flexible in your conversation with our two philosophers. For some inspiration, see the note below and examples in the instructions above. What you cannot do is say things like "No ___ are not ___" or "All ___ are non-___". These statements are part of Extended Aristotelian logic, which Aristotle didn't live long enough to study.

*Technically, sentences like "Aristotle is a man" are not valid categorical propositions. You can, however, use this construction as a shortcut for "All Aristotle are man". Eventually, you might want a more detailed explanation of "Aristotelian Logic". Eventually, I might put links below to help you go further.

The plan:

To get this into a fully functional, highly usable form that is ready to deploy in public.

If you have questions or comments, or dislike the vagueness of the last statement, please do contact me.

Todo:

I'd like this to eventually become a useful tool to help younger students begin to grok Aristotelian Logic. Time permitting, further exploration beyond the list above includes: optionally assuming no existential import, translation to other languages, converse and negative statements, reasoning from more than two premises, showing possible alternate conclusions, showing step-by-step proof of complex conclusions, allowing input of a multiline syllogism, and finishing the graphical "cartoon bubble" theme. (Whew!)

Links:

After I got the text processing done and the logic engine underway, I looked around the web to see what others had done. I've found four other online programs devoted to AL, reviewed below.

SYLLOGISM: Online program for Aristotelian Logic
Very powerful and useful processor. The notation and layout might be a bit scary to non-technical types, but not hard to learn. Recommended!
Categorical Syllogisms [warning: Java applet]
Shows Venn Diagrams, hooray! Complete propositions are given in interrelated drop-down boxes. Each effects the other, but eventually you can dial in what you need.
The Syllogistic Machine
The fun mechanical picture inspired me to come up with something beyond a text box or two. The mechanical quality of the interface inspired me to carry on with something more humane. The first thing I would fix on this interface: make the boxes used for output into output boxes.
http://philosophy.lander.edu/~jsaetti/categ/catPropApplet.html [warning: Java applet]
Seems potentially powerful, could I have figured out how to make it work.

Technical notes:

If you like how I'm doing what I'm doing here, feel free to contact me or check out my resume [pdf], as I'm currently available for hire as a programmer or interface designer.

This is written in Javascript, using Regular Expressions for parsing. It runs entirely client-side; no processing is currently done on my server. The validity checking is done via a complete set of seven rules which typically are all applied to syllogisms, but can be applied separately. While things are still under construction, the plan is to have good orthogonality among components (logic engine, user interface code, HTML, CSS, scripts, etc.).

This my first foray into unit tests, and after the initial displeasure (why can't I just program instead of write tests?), they proved to be very helpful and well worth the time spent. Although these unit tests do not have full code coverage, you can see how the logic processing part of my current codebase is stacking up to my current testbase on your current browser.

Browser note: I officially support Internet Explorer for this application (i.e., if it's broken or doesn't look good on a common Windows version, let me know and I'll make it work). HOWEVER, if you are still using IE you have my pity – but not my sympathy. Check out Firefox or Opera. After an easy install, you will not notice the difference, until you try to use Internet Exploder again. [/spiel]



© 2006 nathan vander wilt. All rights reserved. Originally created for PHIL-202 @ Dordt College.