Intel s Successes with Formal Methods

Size: px
Start display at page:

Download "Intel s Successes with Formal Methods"

Transcription

1 0 Intel s Successes with Formal Methods John Harrison Intel Corporation Software, Science & Society World Forestry Center, Portland OR December 5, 2003

2 1 Bugs in computer systems Most modern computer systems contain bugs. These can usually be coped with: Fixes in later versions Workarounds Documentation changes But the consequences can be more spectacular or even deadly. Ariane Therac machine

3 2 Floating-point bugs Even when not a matter of life and death, the financial consequences of a bug can be very serious: 1994 FDIV bug in the Intel Pentium processor: US $500 million. Today, new products are ramped much faster and a similar bug might be even more expensive. So Intel is especially interested in all techniques to reduce errors.

4 3 Complexity of designs At the same time, market pressures are leading to more and more complex designs where bugs are more likely. A 4-fold increase in bugs in Intel processor designs per generation. Approximately 8000 bugs introduced during design of the Pentium 4. Fortunately, pre-silicon detection rates are now very close to 100%. Just enough to tread water...

5 4 Limits of testing Bugs are usually detected by extensive testing, including pre-silicon simulation. Slow especially pre-silicon Too many possibilities to test them all For example: possible pairs of floating point numbers (possible inputs to an adder). Vastly higher number of possible states of a complex microarchitecture.

6 5 Formal verification Formal verification: mathematically prove the correctness of a design with respect to a mathematical formal specification. Actual requirements Formal specification Design model Actual system

7 6 Proof vs. experiment In principle, correctness of hardware or a program should be very much like a mathematical theorem. Yet: In mathematics it is normal to prove results rigorously, and experimental inductive testing is exotic and controversial. In computing, it is normal to establish results by empirical testing and proving them formally is exotic and controversial.

8 7 The value of proof Sometimes an enormous weight of empirical evidence can be misleading. π(n) n 0 du/ln(u) does not change sign for n 1010 The Pentium divider successfully ran billions of test cases and real applications Yet in both cases the natural inductive conclusion was wrong. Testing can miss things that would be revealed by a formal proof.

9 8 Formal verification in industry Formal verification is increasingly becoming standard practice in the hardware industry. Hardware is designed in a more modular way than most software. There is more scope for complete automation The potential consequences of a hardware error are greater Nevertheless, increasing interest in advanced static checkers like SLAM incorporating theorem proving.

10 9 Formal verification methods Many different methods are used in formal verification, mostly trading efficiency and automation against generality. Propositional tautology checking Symbolic simulation Symbolic trajectory evaluation Temporal logic model checking Decidable subsets of first order logic First order automated theorem proving Interactive theorem proving

11 10 Intel s formal verification work Intel uses formal verification quite extensively, e.g. Verification of Intel Pentium 4 floating-point unit with a mixture of STE and theorem proving Verification of bus protocols using pure temporal logic model checking Verification of microcode and software for many Intel Itanium floating-point operations, using pure theorem proving FV found many high-quality bugs in P4 and verified 20% of design FV is now standard practice in the floating-point domain

12 11 Our work Here we will focus on our work using pure theorem proving. We have formally verified correctness of various floating-point algorithms designed for the Intel Itanium architecture. Division Square root Transcendental functions (log, sin etc.)

13 12 Principia mathematical for the computer age? Several pioneers showed how all proofs in ordinary mathematics can be reduced to sequences of formulas in a precise formal system. Frege s Begriffsschrift Peano s Rivista di Matematica Russell and Whitehead s Principia Mathematica Unfortunately it s extremely painful doing so by hand. But with the aid of a computer, it s much more palatable, and mistakes unlikely.

14 13 Theorem provers There are several theorem provers that have been used for floating-point verification, some of it in industry: ACL2 (used at AMD) Coq HOL Light (used at Intel) PVS All these are powerful systems with somewhat different strengths and weaknesses.

15 14 HOL Light overview HOL Light is a member of the HOL family of provers, descended from Mike Gordon s original HOL system developed in the 80s. An LCF-style proof checker for classical higher-order logic built on top of (polymorphic) simply-typed λ-calculus. HOL Light is designed to have a simple and clean logical foundation. Versions written in CAML Light and Objective CAML.

16 15 Pushing the LCF approach to its limits The main features of the LCF approach to theorem proving are: Reduce all proofs to a small number of relatively simple primitive rules Use the programmability of the implementation/interaction language to make this practical Our work may represent the most extreme application of this philosophy. HOL Light s primitive rules are very simple. Some of the proofs expand to about 100 million primitive inferences and can take many hours to check. It is interesting to consider the scope of the LCF approach.

17 16 HOL Light primitive rules (1) t = t REFL Γ s = t t = u Γ s = u Γ s = t u = v Γ s(u) = t(v) TRANS MK COMB Γ s = t Γ (λx. s) = (λx. t) ABS (λx. t)x = t BETA

18 17 HOL Light primitive rules (2) {p} p ASSUME Γ p = q p Γ q EQ MP Γ p q (Γ {q}) ( {p}) p = q DEDUCT ANTISYM RULE

19 HOL Light primitive rules (3) Γ[x 1,...,x n ] p[x 1,...,x n ] Γ[t 1,...,t n ] p[t 1,...,t n ] INST Γ[α 1,...,α n ] p[α 1,...,α n ] Γ[γ 1,...,γ n ] p[γ 1,...,γ n ] INST TYPE Together with two definitional principles: for new constants equal to an existing term and new types in bijection with a nonempty set 18

20 19 Some of HOL Light s derived rules Simplifier for (conditional, contextual) rewriting. Tactic mechanism for mixed forward and backward proofs. Tautology checker. Automated theorem provers for pure logic, based on tableaux and model elimination. Tools for definition of (infinitary, mutually) inductive relations. Tools for definition of (mutually) recursive datatypes Linear arithmetic decision procedures over R, Z and N. Differentiator for real functions.

21 20 Breakdown to primitive inferences REAL_ARITH a <= x /\ b <= y /\ abs(x - y) < abs(x - a) /\ abs(x - y) < abs(x - b) /\ (b <= x ==> abs(x - a) <= abs(x - b)) /\ (a <= y ==> abs(y - b) <= abs(y - a)) ==> (a = b) ;; Takes 9.4 seconds (on my laptop) and generates primitive inferences.

22 21 Our HOL Light proofs The mathematics we formalize is mostly: Elementary number theory and real analysis Floating-point numbers, results about rounding etc. As part of the process, various special proof procedures for particular problems were programmed, e.g. Verifying solution set of some quadratic congruences Proving primality of particular numbers Proving bounds on rational approximations Verifying errors in polynomial approximations

23 22 LCF-style derived rules How can we take a standard algorithm and produce a corresponding LCF-style derived rule? Usually some mixture of the following: Mimic each step of the algorithm, producing a theorem at each stage. Example: implement rewriting as a conversion producing an equational theorem (x = 2 x + 3 = etc.) Produce some certificate and generate a formal proof in the checking process. Example: run some highly tuned first-order proof search and translate the proof eventually found. Second is also useful in connection with proof-carrying code.

24 23 Example: Difficult cases for reciprocals Some algorithms for floating-point division, a/b, can be optimized for the special case of reciprocals (a = 1). A direct analytic proof of the optimized algorithm is sometimes too hard because of the intricacies of rounding. However, an analytic proof works for all but the difficult cases. 1/x These are floating-point numbers whose reciprocal is very close to another one, or a midpoint, making them trickier to round correctly.

25 24 Mixed analytical-combinatorial proofs By finding a suitable set of diffifult cases, one can produce a proof by a mixture of analytical reasoning and explicit checking. Find the set of difficult cases S Prove the algorithm analytically for all x S Prove the algorithm by explicit case analysis for x S Quite similar to some standard proofs in mathematics, e.g. Bertrand s conjecture.

26 25 Finding difficult cases with factorization After scaling to eliminate the exponents, finding difficult cases reduces to a straightforward number-theoretic problem. A key component is producing the prime factorization of an integer and proving that the factors are indeed prime. In typical applications, the numbers can be bits long, so naive approaches based on testing all potential factors are infeasible. The primality prover is embedded in a HOL derived rule PRIME CONV that maps a numeral to a theorem asserting its primality or compositeness.

27 26 Certifying primality We generate a certificate of primality based on Pocklington s theorem: - 2 n (n - 1 = q * r) n q EXP 2 (a EXP (n - 1) == 1) (mod n) ( p. prime(p) p divides q coprime(a EXP ((n - 1) DIV p) - 1,n)) prime(n) The certificate is generated extra-logically, using the factorizations produced by PARI/GP. The certificate is then checked by formal proof, using the above theorem.

28 27 The value of formal verification The formal verifications we undertook had a number of beneficial consequences Uncovered several bugs Revealed ways that algorithms could be made more efficient Improved our confidence in the (original or final) algorithms Led to deeper theoretical understanding This experience seems quite common.

29 28 Conclusions Formal verification is increasingly important in the hardware industry Some applications require general theorem proving LCF-style systems like HOL Light allow us to program various symbolic algorithms as reductions to primitive inferences These systems are difficult to use even for a specialist, and need further development to become more widely applicable.

Formal Verification of Mathematical Algorithms

Formal Verification of Mathematical Algorithms Formal Verification of Mathematical Algorithms 1 Formal Verification of Mathematical Algorithms John Harrison Intel Corporation The cost of bugs Formal verification Levels of verification HOL Light Formalizing

More information

The LCF Approach to Theorem Proving

The LCF Approach to Theorem Proving The LCF Approach to Theorem Proving 1 The LCF Approach to Theorem Proving John Harrison Intel Corporation Ideas and historical context Key ideas of LCF Equational logic example More about HOL Light Programming

More information

Formal Theorem Proving and Sum-of-Squares Techniques

Formal Theorem Proving and Sum-of-Squares Techniques Formal Theorem Proving and Sum-of-Squares Techniques John Harrison Intel Corporation LIDS Seminar, MIT Fri 16th April 2010 (15:00-16:00) 0 Orientation Can divide theorem proving research into the following

More information

Formalizing Mathematics

Formalizing Mathematics 0 Formalizing Mathematics John Harrison Intel Corporation Seminar, University of Pittsburgh March 22, 2007 1 What is formalization of mathematics? Two aspects, corresponding to Leibniz s characteristica

More information

Formal verification of IA-64 division algorithms

Formal verification of IA-64 division algorithms Formal verification of IA-64 division algorithms 1 Formal verification of IA-64 division algorithms John Harrison Intel Corporation IA-64 overview HOL Light overview IEEE correctness Division on IA-64

More information

Theorem Proving for Verification

Theorem Proving for Verification 0 Theorem Proving for Verification John Harrison Intel Corporation CAV 2008 Princeton 9th July 2008 1 Formal verification Formal verification: mathematically prove the correctness of a design with respect

More information

Floating-Point Verification by Theorem Proving

Floating-Point Verification by Theorem Proving Floating-Point Verification by Theorem Proving John Harrison Intel Corporation SFM-06:HV 27th May 2006 0 Overview Famous computer arithmetic failures Formal verification and theorem proving Floating-point

More information

An Informal introduction to Formal Verification

An Informal introduction to Formal Verification An Informal introduction to Formal Verification Osman Hasan National University of Sciences and Technology (NUST), Islamabad, Pakistan O. Hasan Formal Verification 2 Agenda q Formal Verification Methods,

More information

Interactive Theorem Proving in Industry

Interactive Theorem Proving in Industry 1 Interactive Theorem Proving in Industry John Harrison Intel Corporation 16 April 2012 2 Milner on automation and interaction I wrote an automatic theorem prover in Swansea for myself and became shattered

More information

Isolating critical cases for reciprocals using integer factorization. John Harrison Intel Corporation ARITH-16 Santiago de Compostela 17th June 2003

Isolating critical cases for reciprocals using integer factorization. John Harrison Intel Corporation ARITH-16 Santiago de Compostela 17th June 2003 0 Isolating critical cases for reciprocals using integer factorization John Harrison Intel Corporation ARITH-16 Santiago de Compostela 17th June 2003 1 result before the final rounding Background Suppose

More information

COEN6551: Formal Hardware Verification

COEN6551: Formal Hardware Verification COEN6551: Formal Hardware Verification Prof. Sofiène Tahar Hardware Verification Group Electrical and Computer Engineering Concordia University Montréal, Quebec CANADA Accident at Carbide plant, India

More information

NICTA Advanced Course. Theorem Proving Principles, Techniques, Applications. Gerwin Klein Formal Methods

NICTA Advanced Course. Theorem Proving Principles, Techniques, Applications. Gerwin Klein Formal Methods NICTA Advanced Course Theorem Proving Principles, Techniques, Applications Gerwin Klein Formal Methods 1 ORGANISATORIALS When Mon 14:00 15:30 Wed 10:30 12:00 7 weeks ends Mon, 20.9.2004 Exceptions Mon

More information

07 Practical Application of The Axiomatic Method

07 Practical Application of The Axiomatic Method CAS 701 Fall 2002 07 Practical Application of The Axiomatic Method Instructor: W. M. Farmer Revised: 28 November 2002 1 What is the Axiomatic Method? 1. A mathematical model is expressed as a set of axioms

More information

Formal proof: current progress and outstanding challenges

Formal proof: current progress and outstanding challenges Formal proof: current progress and outstanding challenges John Harrison Intel Corporation 5th May 2014 (11:00 12:00) Summary of talk A century of formal proof Poincaré on formal proof From Principia Mathematica

More information

The Formal Proof Susan Gillmor and Samantha Rabinowicz Project for MA341: Appreciation of Number Theory Boston University Summer Term

The Formal Proof Susan Gillmor and Samantha Rabinowicz Project for MA341: Appreciation of Number Theory Boston University Summer Term The Formal Proof Susan Gillmor and Samantha Rabinowicz Project for MA341: Appreciation of Number Theory Boston University Summer Term 1 2009 Instructor: Kalin Kostadinov The Formal Proof 2 A proof verifies

More information

Introduction. Pedro Cabalar. Department of Computer Science University of Corunna, SPAIN 2013/2014

Introduction. Pedro Cabalar. Department of Computer Science University of Corunna, SPAIN 2013/2014 Introduction Pedro Cabalar Department of Computer Science University of Corunna, SPAIN cabalar@udc.es 2013/2014 P. Cabalar ( Department Introduction of Computer Science University of Corunna, SPAIN2013/2014

More information

Write your own Theorem Prover

Write your own Theorem Prover Write your own Theorem Prover Phil Scott 27 October 2016 Phil Scott Write your own Theorem Prover 27 October 2016 1 / 31 Introduction We ll work through a toy LCF style theorem prover for classical propositional

More information

utomated Reasoning 2 What is automated reasoning? In one sense we'll interpret our title narrowly: we are interested in reasoning in logic and mathema

utomated Reasoning 2 What is automated reasoning? In one sense we'll interpret our title narrowly: we are interested in reasoning in logic and mathema utomated Reasoning 1 utomated Reasoning John Harrison University of Cambridge What is automated reasoning? utomatic vs. interactive. Successes of the I and logic approaches Development of formal logic

More information

Computational Logic and the Quest for Greater Automation

Computational Logic and the Quest for Greater Automation Computational Logic and the Quest for Greater Automation Lawrence C Paulson, Distinguished Affiliated Professor for Logic in Informatics Technische Universität München (and Computer Laboratory, University

More information

Formal Verification Methods 1: Propositional Logic

Formal Verification Methods 1: Propositional Logic Formal Verification Methods 1: Propositional Logic John Harrison Intel Corporation Course overview Propositional logic A resurgence of interest Logic and circuits Normal forms The Davis-Putnam procedure

More information

Chapter 1 Mathematical Preliminaries and Error Analysis

Chapter 1 Mathematical Preliminaries and Error Analysis Numerical Analysis (Math 3313) 2019-2018 Chapter 1 Mathematical Preliminaries and Error Analysis Intended learning outcomes: Upon successful completion of this chapter, a student will be able to (1) list

More information

Inductive Theorem Proving

Inductive Theorem Proving Introduction Inductive Proofs Automation Conclusion Automated Reasoning P.Papapanagiotou@sms.ed.ac.uk 11 October 2012 Introduction Inductive Proofs Automation Conclusion General Induction Theorem Proving

More information

NPTEL Phase-II Video course on. Design Verification and Test of. Dr. Santosh Biswas Dr. Jatindra Kumar Deka IIT Guwahati

NPTEL Phase-II Video course on. Design Verification and Test of. Dr. Santosh Biswas Dr. Jatindra Kumar Deka IIT Guwahati NPTEL Phase-II Video course on Design Verification and Test of Digital VLSI Designs Dr. Santosh Biswas Dr. Jatindra Kumar Deka IIT Guwahati Module IV: Temporal Logic Lecture I: Introduction to formal methods

More information

Mechanized Proof of Buchberger s Algorithm in ACL2

Mechanized Proof of Buchberger s Algorithm in ACL2 Mechanized Proof of Buchberger s Algorithm in ACL2 J.L. Ruiz-Reina, I. Medina and F. Palomo Departamento de Ciencias de la Computación e Inteligencia Artificial Univ. Sevilla Departamento de Lenguajes

More information

- Introduction to propositional, predicate and higher order logics

- Introduction to propositional, predicate and higher order logics Lecture 1: Deductive Verification of Reactive Systems - Introduction to propositional, predicate and higher order logics - Deductive Invariance Proofs Cristina Seceleanu MRTC, MdH E-mail: cristina.seceleanu@mdh.se

More information

Classical First-Order Logic

Classical First-Order Logic Classical First-Order Logic Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) First-Order Logic (Classical) MFES 2008/09

More information

Automated Reasoning and its Applications

Automated Reasoning and its Applications 0 Automated Reasoning and its Applications John Harrison Intel Corporation Colloquium, Institute of Mathematics Hanoi 30th July 2009 1 What is automated reasoning? Attempting to perform logical reasoning

More information

Automata Theory and Formal Grammars: Lecture 1

Automata Theory and Formal Grammars: Lecture 1 Automata Theory and Formal Grammars: Lecture 1 Sets, Languages, Logic Automata Theory and Formal Grammars: Lecture 1 p.1/72 Sets, Languages, Logic Today Course Overview Administrivia Sets Theory (Review?)

More information

Validating QBF Invalidity in HOL4

Validating QBF Invalidity in HOL4 Interactive Theorem Proving (ITP) 14 July, 2010 Quantified Boolean Formulae Quantified Boolean Formulae Motivation System Overview Related Work QBF = propositional logic + quantifiers over Boolean variables

More information

02 The Axiomatic Method

02 The Axiomatic Method CAS 734 Winter 2005 02 The Axiomatic Method Instructor: W. M. Farmer Revised: 11 January 2005 1 What is Mathematics? The essence of mathematics is a process consisting of three intertwined activities:

More information

Lectures on Computational Type Theory

Lectures on Computational Type Theory Lectures on Computational Type Theory From Proofs-as-Programs to Proofs-as-Processes Robert L. Constable Cornell University Lecture Schedule Lecture 1: Origins and Introduction to Computational Type Theory

More information

Automating the Verification of Floating-point Algorithms

Automating the Verification of Floating-point Algorithms Introduction Interval+Error Advanced Gappa Conclusion Automating the Verification of Floating-point Algorithms Guillaume Melquiond Inria Saclay Île-de-France LRI, Université Paris Sud, CNRS 2014-07-18

More information

Computer-Checked Meta-Logic

Computer-Checked Meta-Logic 1 PART Seminar 25 February 2015 Computer-Checked Meta-Logic Jørgen Villadsen jovi@dtu.dk Abstract Over the past decades there have been several impressive results in computer-checked meta-logic, including

More information

An overview of automated reasoning

An overview of automated reasoning An overview of automated reasoning John Harrison Intel Corporation 3rd February 2014 (10:30 11:30) Talk overview What is automated reasoning? Early history and taxonomy Automation, its scope and limits

More information

Correlation of Moving with Math Grade 7 to HSEE Mathematics Blueprint

Correlation of Moving with Math Grade 7 to HSEE Mathematics Blueprint Correlation of Moving with Math Grade 7 to HSEE Mathematics Blueprint Number Sense 1.0 Students know the properties of, and compute with, rational numbers expressed n a variety of forms: 1.1 Read, write

More information

APPENDIX B SUMMARIES OF SUBJECT MATTER TOPICS WITH RELATED CALIFORNIA AND NCTM STANDARDS PART 1

APPENDIX B SUMMARIES OF SUBJECT MATTER TOPICS WITH RELATED CALIFORNIA AND NCTM STANDARDS PART 1 APPENDIX B SUMMARIES OF SUBJECT MATTER TOPICS WITH RELATED CALIFORNIA AND NCTM STANDARDS This appendix lists the summaries of the subject matter topics presented in Section 2 of the Statement. After each

More information

Agent-Based HOL Reasoning 1

Agent-Based HOL Reasoning 1 Agent-Based HOL Reasoning 1 Alexander Steen Max Wisniewski Christoph Benzmüller Freie Universität Berlin 5th International Congress on Mathematical Software (ICMS 2016) 1 This work has been supported by

More information

Creative Objectivism, a powerful alternative to Constructivism

Creative Objectivism, a powerful alternative to Constructivism Creative Objectivism, a powerful alternative to Constructivism Copyright c 2002 Paul P. Budnik Jr. Mountain Math Software All rights reserved Abstract It is problematic to allow reasoning about infinite

More information

The Calculus of Inductive Constructions

The Calculus of Inductive Constructions The Calculus of Inductive Constructions Hugo Herbelin 10th Oregon Programming Languages Summer School Eugene, Oregon, June 16-July 1, 2011 1 Outline - A bit of history, leading to the Calculus of Inductive

More information

Formal methods in analysis

Formal methods in analysis Formal methods in analysis Jeremy Avigad Department of Philosophy and Department of Mathematical Sciences Carnegie Mellon University May 2015 Sequence of lectures 1. Formal methods in mathematics 2. Automated

More information

Partitions in the quintillions or Billions of congruences

Partitions in the quintillions or Billions of congruences Partitions in the quintillions or Billions of congruences Fredrik Johansson November 2011 The partition function p(n) counts the number of ways n can be written as the sum of positive integers without

More information

02 Propositional Logic

02 Propositional Logic SE 2F03 Fall 2005 02 Propositional Logic Instructor: W. M. Farmer Revised: 25 September 2005 1 What is Propositional Logic? Propositional logic is the study of the truth or falsehood of propositions or

More information

Mechanizing Elliptic Curve Associativity

Mechanizing Elliptic Curve Associativity Mechanizing Elliptic Curve Associativity Why a Formalized Mathematics Challenge is Useful for Verification of Crypto ARM Machine Code Joe Hurd Computer Laboratory University of Cambridge Galois Connections

More information

Deductive Verification

Deductive Verification Deductive Verification Mooly Sagiv Slides from Zvonimir Rakamaric First-Order Logic A formal notation for mathematics, with expressions involving Propositional symbols Predicates Functions and constant

More information

The roots of computability theory. September 5, 2016

The roots of computability theory. September 5, 2016 The roots of computability theory September 5, 2016 Algorithms An algorithm for a task or problem is a procedure that, if followed step by step and without any ingenuity, leads to the desired result/solution.

More information

Decision Procedures 1: Survey of decision procedures

Decision Procedures 1: Survey of decision procedures Decision Procedures 1: Survey of decision procedures John Harrison Intel Corporation TYPES summer school 2005, Göteborg Fri 19th August 2005 (09:00 09:45) 0 Summary Interesting and uninteresting proofs

More information

What is logic, the topic of this course? There are at least two answers to that question.

What is logic, the topic of this course? There are at least two answers to that question. Applied Logic Lecture 1 CS 486 Spring 2005 Tuesday, January 25, 2005 What is Logic? What is logic, the topic of this course? There are at least two answers to that question. General logic: critical examination

More information

Extending higher-order logic with predicate subtyping: application to PVS

Extending higher-order logic with predicate subtyping: application to PVS Extending higher-order logic with predicate subtyping: application to PVS Frédéric Gilbert To cite this version: Frédéric Gilbert. Extending higher-order logic with predicate subtyping: application to

More information

Human-Readable Machine-Verifiable Proofs for Teaching Constructive Logic

Human-Readable Machine-Verifiable Proofs for Teaching Constructive Logic Human-Readable Machine-Verifiable Proofs for Teaching Constructive Logic Andreas Abel, Bor-Yuh Evan Chang, and Frank Pfenning Workshop on Proof Transformations, Proof Presentations and Complexity of Proofs

More information

Lecture Notes on Inductive Definitions

Lecture Notes on Inductive Definitions Lecture Notes on Inductive Definitions 15-312: Foundations of Programming Languages Frank Pfenning Lecture 2 August 28, 2003 These supplementary notes review the notion of an inductive definition and give

More information

Lecture Notes 1 Basic Concepts of Mathematics MATH 352

Lecture Notes 1 Basic Concepts of Mathematics MATH 352 Lecture Notes 1 Basic Concepts of Mathematics MATH 352 Ivan Avramidi New Mexico Institute of Mining and Technology Socorro, NM 87801 June 3, 2004 Author: Ivan Avramidi; File: absmath.tex; Date: June 11,

More information

Classical First-Order Logic

Classical First-Order Logic Classical First-Order Logic Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2009/2010 Maria João Frade (DI-UM) First-Order Logic (Classical) MFES 2009/10

More information

Main Issues in Computer Mathematics. Henk Barendregt Brouwer Institute Radboud University Nijmegen, The Netherlands

Main Issues in Computer Mathematics. Henk Barendregt Brouwer Institute Radboud University Nijmegen, The Netherlands Main Issues in Computer Mathematics Henk Barendregt Brouwer Institute Radboud University Nijmegen, The Netherlands Overview 1. The nature of mathematics 2 2. Computer Mathematics 4 3. Foundations 5 4.

More information

Analysis of California Mathematics standards to Common Core standards Algebra I

Analysis of California Mathematics standards to Common Core standards Algebra I Analysis of California Mathematics standards to Common Core standards Algebra I CA Math Standard Domain Common Core Standard () Alignment Comments in 1.0 Students identify and use the arithmetic properties

More information

LCF + Logical Frameworks = Isabelle (25 Years Later)

LCF + Logical Frameworks = Isabelle (25 Years Later) LCF + Logical Frameworks = Isabelle (25 Years Later) Lawrence C. Paulson, Computer Laboratory, University of Cambridge 16 April 2012 Milner Symposium, Edinburgh 1979 Edinburgh LCF: From the Preface the

More information

1 ** The performance objectives highlighted in italics have been identified as core to an Algebra II course.

1 ** The performance objectives highlighted in italics have been identified as core to an Algebra II course. Strand One: Number Sense and Operations Every student should understand and use all concepts and skills from the pervious grade levels. The standards are designed so that new learning builds on preceding

More information

Peano Arithmetic. CSC 438F/2404F Notes (S. Cook) Fall, Goals Now

Peano Arithmetic. CSC 438F/2404F Notes (S. Cook) Fall, Goals Now CSC 438F/2404F Notes (S. Cook) Fall, 2008 Peano Arithmetic Goals Now 1) We will introduce a standard set of axioms for the language L A. The theory generated by these axioms is denoted PA and called Peano

More information

Solutions to Problem Set 1

Solutions to Problem Set 1 Massachusetts Institute of Technology 6.042J/18.062J, Fall 05: Mathematics for Computer Science September 21 Prof. Albert R. Meyer and Prof. Ronitt Rubinfeld revised September 21, 2005, 1076 minutes Problem

More information

Chapter 1 Computer Arithmetic

Chapter 1 Computer Arithmetic Numerical Analysis (Math 9372) 2017-2016 Chapter 1 Computer Arithmetic 1.1 Introduction Numerical analysis is a way to solve mathematical problems by special procedures which use arithmetic operations

More information

DEFINITE DESCRIPTIONS: LANGUAGE, LOGIC, AND ELIMINATION

DEFINITE DESCRIPTIONS: LANGUAGE, LOGIC, AND ELIMINATION DEFINITE DESCRIPTIONS: LANGUAGE, LOGIC, AND ELIMINATION NORBERT GRATZL University of Salzburg Abstract Definite descriptions are in the focus of philosophical discussion at least since Russell s famous

More information

Content Standard 1: Numbers, Number Sense, and Computation

Content Standard 1: Numbers, Number Sense, and Computation Content Standard 1: Numbers, Number Sense, and Computation Place Value Fractions Comparing and Ordering Counting Facts Estimating and Estimation Strategies Determine an approximate value of radical and

More information

Victoria Gitman and Thomas Johnstone. New York City College of Technology, CUNY

Victoria Gitman and Thomas Johnstone. New York City College of Technology, CUNY Gödel s Proof Victoria Gitman and Thomas Johnstone New York City College of Technology, CUNY vgitman@nylogic.org http://websupport1.citytech.cuny.edu/faculty/vgitman tjohnstone@citytech.cuny.edu March

More information

conp = { L L NP } (1) This problem is essentially the same as SAT because a formula is not satisfiable if and only if its negation is a tautology.

conp = { L L NP } (1) This problem is essentially the same as SAT because a formula is not satisfiable if and only if its negation is a tautology. 1 conp and good characterizations In these lecture notes we discuss a complexity class called conp and its relationship to P and NP. This discussion will lead to an interesting notion of good characterizations

More information

Lecture Notes on Inductive Definitions

Lecture Notes on Inductive Definitions Lecture Notes on Inductive Definitions 15-312: Foundations of Programming Languages Frank Pfenning Lecture 2 September 2, 2004 These supplementary notes review the notion of an inductive definition and

More information

Faster arithmetic for number-theoretic transforms

Faster arithmetic for number-theoretic transforms University of New South Wales 7th October 2011, Macquarie University Plan for talk 1. Review number-theoretic transform (NTT) 2. Discuss typical butterfly algorithm 3. Improvements to butterfly algorithm

More information

Optimizing Scientific Libraries for the Itanium

Optimizing Scientific Libraries for the Itanium 0 Optimizing Scientific Libraries for the Itanium John Harrison Intel Corporation Gelato Federation Meeting, HP Cupertino May 25, 2005 1 Quick summary Intel supplies drop-in replacement versions of common

More information

Bootstrapping Mathematics

Bootstrapping Mathematics Bootstrapping Mathematics Masahiko Sato Graduate School of Informatics, Kyoto University Mathematical Logic: Development and Evolution into Various Sciences Kanazawa, Japan March 9, 2012 Contents What

More information

SQUARE PATTERNS AND INFINITUDE OF PRIMES

SQUARE PATTERNS AND INFINITUDE OF PRIMES SQUARE PATTERNS AND INFINITUDE OF PRIMES KEITH CONRAD 1. Introduction Numerical data suggest the following patterns for prime numbers p: 1 mod p p = 2 or p 1 mod 4, 2 mod p p = 2 or p 1, 7 mod 8, 2 mod

More information

Mathematics: Essential Learning Expectations: 9 th -12th Grade:

Mathematics: Essential Learning Expectations: 9 th -12th Grade: Mathematics: Essential Learning Expectations: 9 th -12th Grade: Content Standard 1: Number Sense and Operation A student, applying reasoning and problem solving, will use number sense and operations to

More information

Optimizing MPC for robust and scalable integer and floating-point arithmetic

Optimizing MPC for robust and scalable integer and floating-point arithmetic Optimizing MPC for robust and scalable integer and floating-point arithmetic Liisi Kerik * Peeter Laud * Jaak Randmets * * Cybernetica AS University of Tartu, Institute of Computer Science January 30,

More information

The Limit of Humanly Knowable Mathematical Truth

The Limit of Humanly Knowable Mathematical Truth The Limit of Humanly Knowable Mathematical Truth Gödel s Incompleteness Theorems, and Artificial Intelligence Santa Rosa Junior College December 12, 2015 Another title for this talk could be... An Argument

More information

Beyond First-Order Logic

Beyond First-Order Logic Beyond First-Order Logic Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) Beyond First-Order Logic MFES 2008/09 1 / 37 FOL

More information

Proofs. Chapter 2 P P Q Q

Proofs. Chapter 2 P P Q Q Chapter Proofs In this chapter we develop three methods for proving a statement. To start let s suppose the statement is of the form P Q or if P, then Q. Direct: This method typically starts with P. Then,

More information

California: Algebra 1

California: Algebra 1 Algebra Discovering Algebra An Investigative Approach California: Algebra 1 Grades Eight Through Twelve Mathematics Content Standards 1.0 Students identify and use the arithmetic properties of subsets

More information

x y x y ax bx c x Algebra I Course Standards Gap 1 Gap 2 Comments a. Set up and solve problems following the correct order of operations (including proportions, percent, and absolute value) with rational

More information

Supplementary Notes on Inductive Definitions

Supplementary Notes on Inductive Definitions Supplementary Notes on Inductive Definitions 15-312: Foundations of Programming Languages Frank Pfenning Lecture 2 August 29, 2002 These supplementary notes review the notion of an inductive definition

More information

Efficient implementation of the Hardy-Ramanujan-Rademacher formula

Efficient implementation of the Hardy-Ramanujan-Rademacher formula Efficient implementation of the Hardy-Ramanujan-Rademacher formula or: Partitions in the quintillions Fredrik Johansson RISC-Linz July 10, 2013 2013 SIAM Annual Meeting San Diego, CA Supported by Austrian

More information

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1 using Predicate Abstraction and Iterative Refinement: Part 1 15-414 Bug Catching: Automated Program Verification and Testing Sagar Chaki November 28, 2011 Outline Overview of Model Checking Creating Models

More information

Solving Quadratic and Other Polynomial Equations

Solving Quadratic and Other Polynomial Equations Section 4.3 Solving Quadratic and Other Polynomial Equations TERMINOLOGY 4.3 Previously Used: This is a review of terms with which you should already be familiar. Formula New Terms to Learn: Discriminant

More information

Deciding Presburger Arithmetic

Deciding Presburger Arithmetic Deciding Presburger Arithmetic Michael Norrish Michael.Norrish@nicta.com.au National ICT Australia Michael Norrish (National ICT Australia) LSS2006: Presburger Arithmetic 1 / 62 Outline 1 Introduction

More information

The Class NP. NP is the problems that can be solved in polynomial time by a nondeterministic machine.

The Class NP. NP is the problems that can be solved in polynomial time by a nondeterministic machine. The Class NP NP is the problems that can be solved in polynomial time by a nondeterministic machine. NP The time taken by nondeterministic TM is the length of the longest branch. The collection of all

More information

3.17 Semantic Tableaux for First-Order Logic

3.17 Semantic Tableaux for First-Order Logic 3.17 Semantic Tableaux for First-Order Logic There are two ways to extend the tableau calculus to quantified formulas: using ground instantiation using free variables Tableaux with Ground Instantiation

More information

What are the recursion theoretic properties of a set of axioms? Understanding a paper by William Craig Armando B. Matos

What are the recursion theoretic properties of a set of axioms? Understanding a paper by William Craig Armando B. Matos What are the recursion theoretic properties of a set of axioms? Understanding a paper by William Craig Armando B. Matos armandobcm@yahoo.com February 5, 2014 Abstract This note is for personal use. It

More information

Interactive Theorem Provers

Interactive Theorem Provers Interactive Theorem Provers from the perspective of Isabelle/Isar Makarius Wenzel Univ. Paris-Sud, LRI July 2014 = Isabelle λ β Isar α 1 Introduction Notable ITP systems LISP based: ACL2 http://www.cs.utexas.edu/users/moore/acl2

More information

Major Matrix Mathematics Education 7-12 Licensure - NEW

Major Matrix Mathematics Education 7-12 Licensure - NEW Course Name(s) Number(s) Choose One: MATH 303Differential Equations MATH 304 Mathematical Modeling MATH 305 History and Philosophy of Mathematics MATH 405 Advanced Calculus MATH 406 Mathematical Statistics

More information

Probabilistic Guarded Commands Mechanized in HOL

Probabilistic Guarded Commands Mechanized in HOL Probabilistic Guarded Commands Mechanized in HOL Joe Hurd joe.hurd@comlab.ox.ac.uk Oxford University Joint work with Annabelle McIver (Macquarie University) and Carroll Morgan (University of New South

More information

Little Engines of Proof: Lecture 1

Little Engines of Proof: Lecture 1 Little Engines of Proof: Lecture 1 N. Shankar, L. de Moura, H. Ruess, A. Tiwari shankar@csl.sri.com URL: http://www.csl.sri.com/ shankar/lep.html Computer Science Laboratory SRI International Menlo Park,

More information

Mathematical Logic. Introduction to Reasoning and Automated Reasoning. Hilbert-style Propositional Reasoning. Chiara Ghidini. FBK-IRST, Trento, Italy

Mathematical Logic. Introduction to Reasoning and Automated Reasoning. Hilbert-style Propositional Reasoning. Chiara Ghidini. FBK-IRST, Trento, Italy Introduction to Reasoning and Automated Reasoning. Hilbert-style Propositional Reasoning. FBK-IRST, Trento, Italy Deciding logical consequence Problem Is there an algorithm to determine whether a formula

More information

Certified Roundoff Error Bounds using Semidefinite Programming

Certified Roundoff Error Bounds using Semidefinite Programming Certified Roundoff Error Bounds using Semidefinite Programming Victor Magron, CNRS VERIMAG joint work with G. Constantinides and A. Donaldson INRIA Mescal Team Seminar 19 November 2015 Victor Magron Certified

More information

SAT Solvers: Theory and Practice

SAT Solvers: Theory and Practice Summer School on Verification Technology, Systems & Applications, September 17, 2008 p. 1/98 SAT Solvers: Theory and Practice Clark Barrett barrett@cs.nyu.edu New York University Summer School on Verification

More information

Integrated Math 3 Math 3 Course Description:

Integrated Math 3 Math 3 Course Description: Course Description: Integrated Math 3 Math 3 Course Description: Integrated strands include algebra, functions, geometry, trigonometry, statistics, probability and discrete math. Scope and sequence includes

More information

Church s undecidability result

Church s undecidability result Church s undecidability result Alan Turing Birth Centennial Talk at IIT Bombay, Mumbai Joachim Breitner April 21, 2011 Welcome, and thank you for the invitation to speak about Church s lambda calculus

More information

CST Part IB. Computation Theory. Andrew Pitts

CST Part IB. Computation Theory. Andrew Pitts Computation Theory, L 1 1/171 CST Part IB Computation Theory Andrew Pitts Corrections to the notes and extra material available from the course web page: www.cl.cam.ac.uk/teaching/0910/comptheory/ Introduction

More information

Course Descriptions. Mathematics LA 848, (406)

Course Descriptions. Mathematics LA 848, (406) Course Descriptions Mathematics LA 848, (406) 657-2228 M 065 Prealgebra [formerly M 061 Basic Mathematics] 3 cr. Covers pre-algebra concepts involving terminology, fractions, decimals, percent, ratio and

More information

A heuristic prover for real inequalities

A heuristic prover for real inequalities A heuristic prover for real inequalities Jeremy Avigad Department of Philosophy and Department of Mathematical Sciences Carnegie Mellon University joint work with Robert Y. Lewis and Cody Roux (many slides

More information

Obsevations, Truth and Logic

Obsevations, Truth and Logic Obsevations, Truth and Logic Jaap van Oosten Department of Mathematics Utrecht University Axioma, Groningen May 9, 2018 Art and Science have the same basic subject matter: Observations. Art (visual art):

More information

Lecture 11: Measuring the Complexity of Proofs

Lecture 11: Measuring the Complexity of Proofs IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Advanced Course on Computational Complexity Lecture 11: Measuring the Complexity of Proofs David Mix Barrington and Alexis Maciel July

More information

CPSC 467: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security CPSC 467: Cryptography and Computer Security Michael J. Fischer Lecture 9 September 30, 2015 CPSC 467, Lecture 9 1/47 Fast Exponentiation Algorithms Number Theory Needed for RSA Elementary Number Theory

More information

Addition sequences and numerical evaluation of modular forms

Addition sequences and numerical evaluation of modular forms Addition sequences and numerical evaluation of modular forms Fredrik Johansson (INRIA Bordeaux) Joint work with Andreas Enge (INRIA Bordeaux) William Hart (TU Kaiserslautern) DK Statusseminar in Strobl,

More information

9th and 10th Grade Math Proficiency Objectives Strand One: Number Sense and Operations

9th and 10th Grade Math Proficiency Objectives Strand One: Number Sense and Operations Strand One: Number Sense and Operations Concept 1: Number Sense Understand and apply numbers, ways of representing numbers, the relationships among numbers, and different number systems. Justify with examples

More information