Proof checking with PVS Book: Chapter 3

Slides:



Advertisements
Similar presentations
Proof checking with PVS Book: Chapter 3. A Theory Name: THEORY BEGIN Definitions (types, variables, constants) Axioms Lemmas (conjectures, theorems) END.
Advertisements

Types of Logic Circuits
Chapter 2 Logic Circuits.
The Sine Rule Draw any triangle. Measure sides and angles. Test this rule out! Angle A is opposite side a. Angle B is opposite side b. Angle C is opposite.
From Chapter 4 Formal Specification using Z David Lightfoot
First Order Logic (chapter 2 of the book) Lecture 3: Sep 14.
Computability and Complexity 10-1 Computability and Complexity Andrei Bulatov Gödel’s Incompleteness Theorem.
Lattice and Boolean Algebra
Discrete Structures Lecture 11 Implication II 1.
D. R. Wilton ECE Dept. ECE 6382 Introduction to the Theory of Complex Variables 8/24/10.
Logic Design CS221 1 st Term Boolean Algebra Cairo University Faculty of Computers and Information.
Boolean Algebra and Digital Circuits
Introduction to Proofs
Software Verification 1 Deductive Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut.
6 - 1 Simplification Theorems Useful for simplification of expressions & therefore simplification of the logic network which results. XY + XY' = ( X +
©2004 Brooks/Cole FIGURES FOR CHAPTER 3 BOOLEAN ALGEBRA (continued) Click the mouse to move to the next page. Use the ESC key to exit this chapter. This.
2.1 Sets 2.2 Set Operations –Set Operations –Venn Diagrams –Set Identities –Union and Intersection of Indexed Collections 2.3 Functions 2.4 Sequences and.
1 CSE370, Lecture 3 Lecture 3: Boolean Algebra u Logistics u Last lecture --- Numbers n Binary numbers n Base conversion n Number systems for negative.
© BYU 03 BA1 Page 1 ECEn 224 Boolean Algebra – Part 1.
Chapter Integration of substitution and integration by parts of the definite integral.
First Order Logic Lecture 3: Sep 13 (chapter 2 of the book)
Boolean Algebra & Logic Circuits Dr. Ahmed El-Bialy Dr. Sahar Fawzy.
Proving Angles Congruent Chapter 2 Section 6. Theorem A conjecture or statement that you can prove true. You can use given information, definitions, properties,
Module 5.  In Module 3, you have learned the concept of Boolean Algebra which consists of binary variables and binary operator.  A binary variable x,
Process Algebra (2IF45) Basic Process Algebra (Completeness proof) Dr. Suzana Andova.
Postulate: A rule that is accepted without proof (also called an axiom). The first point A A x1x1 The second point B B x2x2 How do you find the distance.
1 Lecture 5 PVS commands. 2 Last week Logical formalisms, first-order logic (syntax, semantics). Introduction to PVS. Language of PVS. Proving sequents.
1 Set Theory Second Part. 2 Disjoint Set let A and B be a set. the two sets are called disjoint if their intersection is an empty set. Intersection of.
1 A framework for eager encoding Daniel Kroening ETH, Switzerland Ofer Strichman Technion, Israel (Executive summary) (submitted to: Formal Aspects of.
CSE 461. Binary Logic Binary logic consists of binary variables and logical operations. Variables are designated by letters such as A, B, C, x, y, z etc.
©2010 Cengage Learning SLIDES FOR CHAPTER 3 BOOLEAN ALGEBRA (continued) Click the mouse to move to the next page. Use the ESC key to exit this chapter.
CHAPTER 2 Boolean algebra and Logic gates
©2010 Cengage Learning SLIDES FOR CHAPTER 5 KARNAUGH MAPS Click the mouse to move to the next page. Use the ESC key to exit this chapter. This chapter.
Nonfinite basicity of one number system with constant Almaz Kungozhin Kazakh National University PhD-student ACCT 2012, June
Theory of Computational Complexity Probability and Computing Chapter Hikaru Inada Iwama and Ito lab M1.
Fundamentals of Logic Design, 7 th editionRoth/Kinney © 2014 Cengage Learning Engineering. All Rights Reserved. 1 Boolean Algebra (continued) UNIT 3.
14:332:231 DIGITAL LOGIC DESIGN Boolean Algebra
Unit 2 Boolean Algebra.
CS 105 Digital Logic Design
Rationale Behind the Precise Formulation of the Four Quantifier Rules
CHAPTER 3 BOOLEAN ALGEBRA (continued)
CHAPTER 2 Boolean Algebra
CHAPTER 2 Boolean Algebra This chapter in the book includes:
Boolean Algebra – Part 1 ECEn 224.
SLIDES FOR CHAPTER 2 BOOLEAN ALGEBRA
FIGURES FOR CHAPTER 2 BOOLEAN ALGEBRA
Lecture 3: Boolean Algebra
CHAPTER 2 Boolean Algebra
1.3 Segments & Their Measures
Proving Properties of Recursive List Functions
Chapter 10: Mathematical proofs
Boolean Algebra.
Chapter 2 Boolean Algebra and Logic Gate
Basis and Dimension Basis Dimension Vector Spaces and Linear Systems
The Foundations: Logic and Proofs
Linear Algebra Chapter 4 Vector Spaces.
Do Now.
CHAPTER 3 BOOLEAN ALGEBRA (continued)
Factoring Polynomials.
Differentiation Rules and formulas
Digital Logic Chapter-2
Digital Logic Chapter-2
Using Coordinate algebra, definitions, and properties
Copyright © Cengage Learning. All rights reserved.
Binary Logic and Gates COE 202 Digital Logic Design Dr. Aiman El-Maleh
1.3 Segments & Their Measures
Digital Systems Section 3 Boolean Algebra. Digital Systems Section 3 Boolean Algebra.
Model Generation Theorem Proving for First-Order Logic Ontologies
Unit 2: Adding Similar (like) Terms
Probability Notes Math 309.
Presentation transcript:

Proof checking with PVS Book: Chapter 3 1

A Theory Name: THEORY BEGIN Definitions (types, variables, constants) Axioms Lemmas (conjectures, theorems) END Name 2

Group theory (*, e), where * is the operator and e the unity element. Associativity (G1): (x*y)*z=x*(y*z). Unity (G2): (x*e)=x Right complement (G3): x y x*y=e. Want to prove: x y y*x=e. 3

Informal proof =y*(x*(y*z)) (by G1) Choose x arbitrarily. By G3, there exists y s.t. (1) x*y=e. By G3, we have z s.t. (2) y*z=e. y*x=(y*x)*e (by G2) =(y*x)*(y*z) (by (2)) =y*(x*(y*z)) (by G1) =y*((x*y)*z) (by G1) =y*(e*z) (by (1)) =(y*e)*z (by G1) =y*z (by (G2)) =e (by (2)) 4

Example: groups Group: THEORY BEGIN element: TYPE unit: element *: [element, element-> element] < some axioms> left:CONJECTURE FORALL (x: element): EXISTS (y: element): y*x=unit END Group 5

Axioms associativity: AXIOM FORALL (x, y, z:element): (x*y)*z=x*(y*z) unity: AXIOM FORALL (x:element): x*unit=x complement: AXIOM FORALL(x:element): EXISTS (y:element): x*y=unity 6

Skolemization Corresponds to choosing some arbitrary constant and proving “without loss of generality”. Want to prove (…/\…)->(…\/x(x)\/…). Choose a new constant x’. Prove (…/\…)-->(…\/(x’)\/…). 7

Skolemization Corresponds to choosing some unconstrained arbitrary constant when one is known to exist. Want to prove (…/\x(x)/\…)-->(…\/…). Choose a new constant x’. Prove (…/\(x’)/\…)-->(…\/…). 8

Skolem in PVS (skolem 2 (“a1” “b2” “c7”)) (skolem -3 (“a1” “_” “c7”)) (skolem! -3) invents new constants, e.g., for x will invent x!1, x!2, … when applied repeatedly. 9

Instantiation Corresponds to restricting the generality. Want to prove (…/\x(x)/\…)-->(…\/…). Choose a some term t. Prove (…/\(t)/\…)-->(…\/…). 10

Instantiation Corresponds to proving the existence of an element by showing an evidence. Want to prove (…/\…)-->(…\/x(x)\/…). Choose some term t. Prove (…/\…)-->(…\/(t)\/…). 11

Instantiating in PVS (inst -1 “x*y” “a” “b+c”) (inst 2 “a” “_” “x”) 12

Other useful rules (replace -1 (-1 2 3)) Formula -1 is of the form le=ri. Replace any occurrence of le by ri in lines -1, 2, 3. (replace -1 (-1 2 3) RL) Similar, but replace ri by le instead. (assert), (assert -) (assert +) (assert 7) Apply algebraic simplification. (lemma “<axiom-name>”) - add axiom as additional antecedent. 13