Automated Reasoning Matt Whipple and Brian Vees. Overview What is automated reasoning? What is automated reasoning? Properties of inference procedures.

Slides:



Advertisements
Similar presentations
1 Knowledge Representation Introduction KR and Logic.
Advertisements

Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Biointelligence Lab School of Computer Sci. & Eng.
Consistency-Based Diagnosis
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
UIUC CS 497: Section EA Lecture #2 Reasoning in Artificial Intelligence Professor: Eyal Amir Spring Semester 2004.
Logic-Based Systems AI Lecture Prof. Carolina Ruiz Worcester Polytechnic Institute.
Situation Calculus for Action Descriptions We talked about STRIPS representations for actions. Another common representation is called the Situation Calculus.
Inference and Reasoning. Basic Idea Given a set of statements, does a new statement logically follow from this. For example If an animal has wings and.
Logic Use mathematical deduction to derive new knowledge.
Logic.
Resolution in Propositional and First-Order Logic.
F22H1 Logic and Proof Week 7 Clausal Form and Resolution.
ISBN Chapter 3 Describing Syntax and Semantics.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
Logical Agents Chapter 7. Why Do We Need Logic? Problem-solving agents were very inflexible: hard code every possible state. Search is almost always exponential.
Logical Agents Chapter 7. Why Do We Need Logic? Problem-solving agents were very inflexible: hard code every possible state. Search is almost always exponential.
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 18 Program Correctness To treat programming.
Chapter 3 Propositional Logic
Describing Syntax and Semantics
Monadic Predicate Logic is Decidable Boolos et al, Computability and Logic (textbook, 4 th Ed.)
EE1J2 - Slide 1 EE1J2 – Discrete Maths Lecture 6 Limitations of propositional logic Introduction to predicate logic Symbols, terms and formulae, Parse.
Introduction to Model- Based Diagnosis Meir Kalech Partially based on the slides of Peter Struss.
Discrete Mathematics and its Applications
A Brief Summary for Exam 1 Subject Topics Propositional Logic (sections 1.1, 1.2) –Propositions Statement, Truth value, Proposition, Propositional symbol,
1 Program Correctness CIS 375 Bruce R. Maxim UM-Dearborn.
MATH 224 – Discrete Mathematics
1 Chapter 7 Propositional and Predicate Logic. 2 Chapter 7 Contents (1) l What is Logic? l Logical Operators l Translating between English and Logic l.
CHAPTERS 7, 8 Oliver Schulte Logical Inference: Through Proof to Truth.
Theory of Computation, Feodor F. Dragan, Kent State University 1 NP-Completeness P: is the set of decision problems (or languages) that are solvable in.
1 Inference Rules and Proofs (Z); Program Specification and Verification Inference Rules and Proofs (Z); Program Specification and Verification.
1 Knowledge Representation. 2 Definitions Knowledge Base Knowledge Base A set of representations of facts about the world. A set of representations of.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Course Overview and Road Map Computability and Logic.
Propositional Calculus – Methods of Proof Predicate Calculus Math Foundations of Computer Science.
CS Introduction to AI Tutorial 8 Resolution Tutorial 8 Resolution.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Logical Agents Chapter 7. Knowledge bases Knowledge base (KB): set of sentences in a formal language Inference: deriving new sentences from the KB. E.g.:
9/30/98 Prof. Richard Fikes Inference In First Order Logic Computer Science Department Stanford University CS222 Fall 1998.
Logical Agents Chapter 7. Outline Knowledge-based agents Logic in general Propositional (Boolean) logic Equivalence, validity, satisfiability.
1 Logical Inference Algorithms CS 171/271 (Chapter 7, continued) Some text and images in these slides were drawn from Russel & Norvig’s published material.
Great Theoretical Ideas in Computer Science.
Automated Reasoning Systems For first order Predicate Logic.
Automated reasoning with propositional and predicate logics Spring 2007, Juris Vīksna.
13 Aug 2013 Program Verification. Proofs about Programs Why make you study logic? Why make you do proofs? Because we want to prove properties of programs.
Chapter 7. Propositional and Predicate Logic Fall 2013 Comp3710 Artificial Intelligence Computing Science Thompson Rivers University.
Logical Agents Chapter 7. Outline Knowledge-based agents Propositional (Boolean) logic Equivalence, validity, satisfiability Inference rules and theorem.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View Basic Concepts and Background.
Knowledge Repn. & Reasoning Lecture #9: Propositional Logic UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2005.
Artificial Intelligence Knowledge Representation.
Chapter 7. Propositional and Predicate Logic
Introduction to Logic for Artificial Intelligence Lecture 2
Resolution in the Propositional Calculus
Logical Inference: Through Proof to Truth
Lecture 2 Propositional Logic
Mathematical Structures for Computer Science Chapter 1
CSCE 411 Design and Analysis of Algorithms
Programming Languages 2nd edition Tucker and Noonan
Logic Use mathematical deduction to derive new knowledge.
A Brief Summary for Exam 1
MA/CSSE 474 More Math Review Theory of Computation
Chapter 7. Propositional and Predicate Logic
Introductory Concepts
Chapter 2: Analysis and Verification of Non-Real-Time Systems
Properties of Relational Logic
Programming Languages 2nd edition Tucker and Noonan
Representations & Reasoning Systems (RRS) (2.2)
Introduction to Proofs
Presentation transcript:

Automated Reasoning Matt Whipple and Brian Vees

Overview What is automated reasoning? What is automated reasoning? Properties of inference procedures Properties of inference procedures Theorem prover Theorem prover Diagnosis with first principles Diagnosis with first principles Logic circuit design and validation Logic circuit design and validation Program verification and validation Program verification and validation Conclusion Conclusion

What is Automated Reasoning? “…the attempt to prove statements with a computer in a law-like way.” “…the attempt to prove statements with a computer in a law-like way.”

Properties of Inference Procedures An implementation of automated reasoning can have these main properties: Soundness Soundness Completeness Completeness Decidability Decidability

Theorem Prover Example: Prove: P(x) R(x) R(x) T(x) P(x) T(x) Most theorem provers: Resolution principleResolution principle Sound but not complete or decidableSound but not complete or decidable Take… P(x) R(x) R(x) T(x) P(x) -T(x) Theorem Prover …and determine whether or not this group of statements can be satisfied. If it can, the theorem is false. If it can’t, the theorem is true.

Diagnosis with First Principles Basic idea: Diagnose a device with reasoning based off of how the device actually works. Benefits: No knowledge needed from an expert like with heuristic classification No knowledge needed from an expert like with heuristic classification Only requires a detailed description of how the device works Only requires a detailed description of how the device works

Diagnosis with First Principles Example Example (Reiter’s theory): Diagnosis is based on: the system description (SD) of a device with a finite set of the system description (SD) of a device with a finite set of system components and a set of system components and a set of observations (OBS) (symptoms) observations (OBS) (symptoms) *SD & OBS are finite sets of sentences in first-order predicate logic.

Diagnosis with First Principles Example Example (Reiter’s theory): A diagnosis for the set ( SD, COMPONENTS, OBS ) is a set of faulty components. A component is part of this faulty set only if assuming it is non-faulty creates a contradiction with the device description and its symptoms. The idea - form a set that consists of members of each faulty set.

Reiter’s Theory Example Consider a ceiling fan with 4 components: 1) A pull chain controlling a light2) A light bulb 3) A pull chain controlling a fan4) Fan w/ motor Then, the system description (SD) might have statements like: L(x) = light x is on Lp(x) = light x’s pull chain is “on” F(x) = fan x is on Fp(x) = fan x’s pull chain is “on” Lp(x)  L(x)-Lp(x)  -L(x) Fp(x)  F(x)-Fp(x)  -F(x)

Ceiling Fan/Light Ex. Cont. … And the symptoms (observations) might be: Lp(x) -L(x)Pull chain is pulled and light is not on. -Fp(x)-F(x) It is easy to see that the faulty component set: * ( SD, COMPONENTS, OBS ) will consist of: * ( light bulb, pull chain that controls light bulb )

How automated Reasoning can help design and validate logic circuits i.e., turning circuit specifications in terms of ANDs, ORs, and NOTs to produce circuits using NAND gates Logic Circuit Design and Validation

Converting from various gates to purely NAND Circuit Design Example o1 = or(and(i1, i2), not (i3)) o2 = and(not(i3),i2) not(x)  nand(x,x) or( x, y)  nand(not( x),not(y)) and(x,y)  not(nand(x,y)) Simplified… nand(nand(x,x),nand(x,x))  x. Demodulation

Demodulation The substitutuing or rewriting of one term by an equivalent one The substitutuing or rewriting of one term by an equivalent one Applied when the first clause unifies with the term we are attempting to rewrite Applied when the first clause unifies with the term we are attempting to rewrite

Program Verification and Validation Traditionally, program correctness is discovered by testing out a wide range of values Traditionally, program correctness is discovered by testing out a wide range of values This method does not prove 100% correctness This method does not prove 100% correctness Automated reasoning can formally prove a program’s correctness Automated reasoning can formally prove a program’s correctness

Program Correctness A program’s correctness can be proved if all inputs satisfying the input assumptions yield results satisfying the exiting requirements A program’s correctness can be proved if all inputs satisfying the input assumptions yield results satisfying the exiting requirements It is the programmer’s job to come up with complete specifications for this procedure It is the programmer’s job to come up with complete specifications for this procedure

Symbolic Execution Instead of supplying the normal inputs to a program (e.g. numbers) one supplies symbols representing arbitrary values Instead of supplying the normal inputs to a program (e.g. numbers) one supplies symbols representing arbitrary values IF x<O y=3*z ELSE y=2*x Rather than using numbers as inputs, instead symbols would be used (x =0).

Proving Program Correctness Using Automated Reasoning Demodulation rules are specified, which in turn define how each type of statement affects the program state Demodulation rules are specified, which in turn define how each type of statement affects the program state The demodulators then go to work attempting to prove that all exit conditions are met The demodulators then go to work attempting to prove that all exit conditions are met If this happens, the program has been proved correct If this happens, the program has been proved correct

Benefits of Using Automated Reasoning No ambiguity as far as program correctness is concerned No ambiguity as far as program correctness is concerned Can be used to solve problems that have a tedious and repititous proof procedure Can be used to solve problems that have a tedious and repititous proof procedure

Conclusion What is automated reasoning? What is automated reasoning? Properties of inference procedures Properties of inference procedures Theorem prover Theorem prover Diagnosis with first principles Diagnosis with first principles Logic circuit design and validation Logic circuit design and validation Program verification and validation Program verification and validation

Questions ?