Propositional Logic
Home

In this page it is intended to describe, how the logical reasoning engine of the brain of our Robots work

What is logical reasoning?

If we consider that, there exist about 20 - 30 different logics, for instance, Temporal Logic, Epistemic Logic, Propositional logic, Modal Logic, Default logic and so on, then Logical reasoning can be defined with these three steps:

  1. Formalize the natural language sentence with logical symbols, such as (P, Q, box, diamond, ...)
  2. Write the process of reasoning with the symbols
  3. Use axioms, postulates and theorems of that specific logical language (or a combination of them) to conclude a certain fact that does not exist in the preliminary statements.

Claim 1 - Human can NOT do logical reasoning beyond a certain simple level

For instance go to the site of Angela here:

Angela the logic presenterBot

and check some of those temporal logic theorems that she is presenting. Try to prove them without paper, pencil and hours of prior learning the methods. I claim that you can not do it. No human can do it. But a computer can. Our brain is not designed to do it. We do not have the facilities required to be able to do it. But a computer can. This is not your fault. In return, you can be happy that a computer can not swim (yet).

Claim 2 - A not-trained human, does reason, but incorrect (most of the time)

The only way to prove that a conclusion is correct or not, is to follow above three steps and check that formulas are correct or not. Example of an incorrect reasoning is presented in the penguin joke. If you are interested, then use the following formulas and prove "why the penguin is incorrect" and send us your proof and get a complimentary user name and password to access our (friend account) membership for the Robots.

What type of Logic our Robots use?

Our Robots are equipped with common-sense reasoning and first order predicate logic.

What is common-sense reasoning?

Common-sense reasoning requires a huge amount of data in the dBase. We humans do have it. We have learned many facts. That is why (so far) we can reason better than a computer. (if the dBase of the computer is small) Please look at the examples:

Example one

  • Jo saw a bird flying over the city
  • Jo saw the tree flying over the city

We know that Jo saw the tree --- comma, while HE was flying --- (by airplane) over the city. Because we know that:

  • Tree does not fly
  • Jo can not fly
  • Jo can fly, if he is in an airplane

These three sentences are not in the example but they are in the dBase of our brain. Therefore we do not conclude that:
Jo saw, that, a tree was flying.

If you feed a computer with thousands (preferably millions) of common-sense knowledge sentences, (like an adult human) and give the ability of using the formulas for reasoning to the robot, then computer can do common-sense reasoning, better than a human. Example two and three are not described but you can work it out.

Example two

  • Soldiers arrested the people because THEY were afraid of violence.
  • Soldiers arrested the people because THEY were promoting violence.
  • They = Soldiers - People

Example three

  • Jo saw a cat in the store window and decided to adopt IT.
  • Jo saw a cat in the store window and moved his face toward IT.
  • It = Cat - Window

Example four

This is an example for a robot that is driving a car. Comparing with a human who is driving a car. Preceptors of the robot (or eye of the human) show that a person is crossing the road. Question is this; Do I slow down or not?

  • Situation 1 - Pedestrian is young.
  • Situation 2 - Pedestrian is old.

If a human is driving, because he knows these statements in his common-sense dBase (in his brain), that

  • Old people usually are walking slower than young people
  • An old person might become stressed and might stop in the middle of the road if he sees that a fast car is coming toward him, but a young person might just run

Then a human driver, if sees an old person, slows down and if he sees a young person, most probably does not slow down. His reasoning is correct because he has those millions of facts in his brain.

If you do not give all of that information, that seems very simple, but necessary for our day to day reasoning, and ask the robot to drive. I guess, most probably, it could be considered a dangerous driver. It is not fault of the robot, it is fault of the programmer that gave the Robot a small dBase. Reasoning engine of the robot might work correctly, but because its EXPERIENCE (number of common-sense facts) is not enough, it might make mistakes.

Therefore, a good common-sense reasoning engine requires a huge dBase of facts.

How big is the dBase of facts of our robots?

There are two versions.

  • Demonstration version
  • Commercial version

The demonstration version has a very small dBase, just to demonstrate how it works. The commercial version has all of those thousands of facts that are written in the (specifications) page of our site.

What is first order predicate logic reasoning?

This is not a logic course; therefore we do not describe everything with so much detail. We just mention that in the argumentation theory there are the following methods of reasoning. Our robots are equipped with them. Use any of the keywords and google it, to find tons of materials to read and learn. This is list of the formulas that our commercial version of the Robot knows. The demonstration version knows only the first three. Also our commercial version can do reasoning over 10,000 predicates. The demo version can do over three (is_does_has)

Now combine 10,000 predicates, with 9 First order formulas to do reasoning by using a database of thousands of facts, you will get a robot that is more clever than your neighbor.

Reduce the number of formulas to 3, database to less than hundred facts and reduce 10,000 predicates to 3. You will get the demo version. That is still OK, but not as clever as your (human) neighbor. (maybe)

Formulas that our Robots know for Logical Reasoning

Modus Tollens

(P=>Q, ~Q) => ~P

Modus Ponens (P=>Q, P) => Q
Hypothetical Syllogism (P=>Q, Q=>R )=>(P=>R)
Simplification (P & Q) => P
Conjunction (P, Q) => (P&Q)
Disjunctive Syllogism [(P v Q), ~P ] => Q
Addition P => ( P v Q)
Reductio Ad Absurdum [P, (Q &~ Q)] => ~P
Constructive Dilemma [(P => Q), (R => S), (P v R)] => (Q v S)

Testing the reasoning of the robots?

Here it is the (small dBase facts for testing purpose) and you can do Modus Tollens, Modus Ponens, Hypothetical Syllogism and (is, does and has) over them.

What are those facts that Robot knows for reasoning and how do I test it?

The demo version of the engine does Deductive Reasoning based on models of Argumentation Theory and has three prediactes for common-sense reasoning testing purpose

  • Modus Ponens
  • Hypothetical Syllogism
  • Modus Tollens
  • is predicate
  • has predicate
  • does predicate

After reasoning, the Robot reports the method of deduction it employed.

  • Written with Gprolog
  • Engine server works under Unix
  • Client can be Macintosh, Unix or Windows (browser)

Test Modus Tollens

We know (fruit is food) ^ (book is not food)
ASK: is book fruit?
We know (supernova is exploded) ^ (star is not exploded)
ASK: is star supernova?

Test Modus Ponens

Ask (is something1 something2) (refer to the knowledge base of IS facts)
you can use A or An or without A and\or An
for example (is a cat pet)
then ask (is something2 a something3)
for example (is a pet a friend)
then if you ask (is something1 a something3)
if the modus ponens formula holds, it will tell you
if it does not hold
then will tell you no info for confirm or deny
this is NOT a pre-recorded sentence
robot goes through all of its database and checks all of the formulas
and either can conclude something or not

Test Hypothetical Syllogism

Use above method of the questioning but consider the formula that is
[(P => Q), (R => S), (P v R)] => (Q v S)
Use the facts of the database to check. Also robot (even the demo version) can do above three reasoning formulas over the predicates (is), (does) and (has)

General dBase

Using the above formulas with the robot can make teaching logic more fun. Aapart from the following test database for reasoning, Robots have a large dBase for general conversation and undersaatnding natural language.

Limited logic dBase

  • Demo version has ONLY 61 facts, commercial version has thousands
  • Demo version has only 3 predicates, commercial version has thousands
  • Demo version has 3 rules, commercial version has 9

Therefore the demo version can show you how it works, but its IQ is limited

"IS" predicate

  1. dog, pet
  2. cat, pet
  3. pet, animal
  4. animal, mortal
  5. mouse, pet
  6. bird, pet
  7. rabbit, pet
  8. pet, friend
  9. socrates, human
  10. human, mortal
  11. mortal, imperfect
  12. bat, mammal
  13. satan, enemy
  14. vegetarian, kind
  15. capitalist, greedy
  16. greedy, fool
  17. patience, useful
  18. fruit, food
  19. supernova, exploded
  20. fly, float
  21. engine, motor

"IS NOT" predicate

  1. human, patient
  2. bat, bird
  3. dolphin, fish
  4. satan, friend
  5. anger, useful
  6. capitalist, moral
  7. politician, truthful
  8. scientist, illogical
  9. book, food
  10. star, exploded

"DO" predicate

  1. refridgerator, chill
  2. airplane, fly
  3. animal, eat
  4. baby, cry
  5. bird, fly
  6. dog, bark
  7. dolphin, swim
  8. fire, burn
  9. fish, swim
  10. ice, melt
  11. robot, talk
  12. robot, think

"HAS" prediacte

  1. physics, rule
  2. logic, symbol
  3. book, chapter
  4. chapter, word
  5. word, letter
  6. airplane, wing
  7. animal, mother
  8. animal, father
  9. bird, wing
  10. bird, feather
  11. bird, beak
  12. bird, tail
  13. car, engine
  14. engine, parts
  15. train, engine
  16. cat, claw
  17. cat, fur
  18. cat, tail

Total number of the facts in the test knowledgebase is 61. For specifications of the commercial version please refer to the (specifications) page, of the site. Everything is multiplied by thousands

I tested the logic engine of the bots, they are clever, how do we use full functionality in our system?

Please go to the (contact info) page and send us an email.

Thank you

Robot-Hosting.com