Proof by contradiction - artificial intelligence, Computer Engineering

Proof by Contradiction - Artificial intelligence

So, both backward chaining andforward chaining have drawbacks. Another approach is to think regarding proving theorems by contradiction. These are so much common in mathematics: mathematicians specify some axioms, and then make an assumption. After some complexes mathematics, they have proven that an axiom is  false  (or  something  derived  from  the  axioms  which  did  not  involve  the assumption is false). As the axioms are irrefutably right, this means that the assumption they made might be false. That is, the assumption is not consistent with the axioms of the theory. To utilize this for a specific theorem which they want to prove is true; they negate the theorem statement and use this as the assumption they are going to display is false. As the negated theorem must be false, their original theorem ought to be true.

We may program our reasoning agents to do just the similar.Therefore, to specify this as a search problem, we need to say that the axioms of our theory and the negation of the theorem we want to prove are the starting search states. Recalling our example in section, to do this, we have to derive the false statement to show inconsistency, that the reason that the False statement becomes our goal. So, if we can deduce the false statement from our axioms, the theorem we were attempting to prove will certainly have been proven. This means that, not only can we use all our rules of inference; we also have goal to aim for.

As an instance, below is the input to the Otter theorem proves for the trivial theorem regarding Socrates being mortal. Otter searches for contradictions by using resolution, hence we notice that the theorem statement that Socrates is mortal is negated  byusing the minus sign.


set(auto). formula_list(usable).

all x (man(x)->mortal(x)). % for all x, if x is man then x is mortal

man(socrates). % Socrates is man

-mortal(socrates).        % Socrates is immortal (note: negated)


Otter has no problem whatsoever proving this theorem, and output is following:



1 [] -man(x)|mortal(x).

2 [] -mortal(socrates).

3 [] man(socrates).

4 [hyper,3,1] mortal(socrates).

5 [binary,4.1,2.1] $F.

Hence  proof

Posted Date: 10/2/2012 8:32:32 AM | Location : United States

Related Discussions:- Proof by contradiction - artificial intelligence, Assignment Help, Ask Question on Proof by contradiction - artificial intelligence, Get Answer, Expert's Help, Proof by contradiction - artificial intelligence Discussions

Write discussion on Proof by contradiction - artificial intelligence
Your posts are moderated
Related Questions
The void type is used for  The void type is used to make generic pointers.

Electrocomp's management realizes that it forgot to contain two critical constraints. In particular, management decides that to make sure an adequate supply of air conditioners for

Determine the salient features of a parallel programmable interface, 8255. 24 I/O lines in 3 8-bit port groups - A, B, C A, B can be 8-bit input or output ports C

Now add layout cells into which you will add text about travel locations. 1.  In Objects panel, click the Draw Layout Cell icon and move the pointer to layout table you just dre

Given: • A sequence of n arrival times t0, t1, ..., tn-1, • a library of mlogically equivalent gates {(d0, c0), (d1, c1), ..., (dm-1,cm-1)} where d is delay and c is cost • a

When your shell is waiting for input from the user, it should first print a prompt. The prompt should consist of the current working directory followed by the _>_ character. Here i

In the first part of Assignment 2A you will develop a simple Patient class, representing an Patient who is to be admitted for a minor procedure that only requires a 1-2 day stay in

What happens if only one of the commands SET SCREEN and LEAVE SCREEN is used without using the other? If we use SET SCREEN without LEAVE SCREEN, the program ends processing for

What is a symbolic constant? How it is defined ? Symbolic constants are constants of any type declared by using the #define compiler directive. It is a preprocessor directive.

Define the component of a process precedence sequence? Ans. Process name, sequence operator and also concurrency operator components are process precedence sequence.