Towards Higher-Order Superposition and SMT. Jasmin Blanchette

Size: px
Start display at page:

Download "Towards Higher-Order Superposition and SMT. Jasmin Blanchette"

Transcription

1 Towards Higher-Order Superposition and SMT Jasmin Blanchette

2 Outline Counterexample Generation 1. Nitpick 2. Nunchaku Proof Search 3. Sledgehammer 4. Matryoshka

3 1. Nitpick 1. A (countermodel) finder 1. for Isabelle/HOL Joint work with Alexander Krauss and Tobias Nipkow

4

5 Architecture HOL FORL SAT Isabelle Nitpick.Kodkod...SAT solver

6 Translation fixed finite cardinalities:?? try all cards. K for base types first-order τ1!! τn! bool τ1!! τn! τ higher-order σ! τ A1 An A1 An A + constraint A A σ times{

7 Translation Con Con Con Con 3 Con 2 3 Con 2 0 Nil 0 Nil datatypes codatatypes p = F p p0 = (λx. False) pi+1 = F pi inductive preds. p = F p p0 = (λx. True) pi+1 = F pi coinductive preds.

8 2. Nunchaku 2. A modular model finder 2. for higher-order logic Ongoing joint work with Simon Cruanes, Andrew Reynolds, and Cesare Tinelli

9 multiple frontends Isabelle/HOL, TLAPS, Coq, Lean, multiple backends CVC4, Kodkod, Paradox, SMBC, Leon, Vampire, more precision by better approximations more efficiency by using better backends and by letting them enumerate cardinalities

10 Simplified Translation Pipeline 1. Monomorphize 2. Specialize 3. Polarize 4. Encode (co)inductive predicates 5. Encode (co)recursive functions 6. Encode higher-order functions

11 Actual Translation Pipeline $ nunchaku --print-pipeline Pipeline: ty_infer convert skolem fork { mono elim_infinite elim_copy elim_multi_eqns specialize elim_match elim_codata polarize unroll skolem elim_ind_pred elim_quant lift_undefined model_clean close {smbc id} mono elim_infinite elim_copy elim_multi_eqns specialize elim_match fork { elim_codata polarize unroll skolem elim_ind_pred elim_data lambda_lift elim_hof elim_rec intro_guards elim_prop_args fork { elim_types model_clean close {to_fo elim_ite conv_tptp paradox id} model_clean close {to_fo fo_to_rel kodkod id} } polarize unroll skolem elim_ind_pred lambda_lift elim_hof elim_rec intro_guards model_clean close {to_fo flatten {cvc4 id}} } }

12 OCaml for Translation Pipeline...

13 Encoding of higher-order functions A simple approach Replace HO σ τ by hσ,τ Introduce appσ,τ : hσ,τ σ τ and ασ,τ Add guards whenever app is used Add extensionality axiom

14 Encoding of higher-order functions An annoying imprecision x. f x = g x? f = g rec fact x = (if x > 0 then x fact (x 1) else 1) rec bad x = (if x = 666 then x else fact x) fact = bad?

15 Encoding of higher-order functions A more precise approach Also introduce protoσ,τ : hσ,τ σ If (h, protoσ,τ h) in ασ,τ, then protoσ,τ h gives default value f = g HAS_PROTO f

16 Encoding of higher-order functions A more precise approach HAS_PROTO h := a : α. γ(a) = (h, proto h) APP h s := if a : α. γ(a) = (h, s) then app h s else app h (proto h) asserting HAS_PROTO h

17 3. Sledgehammer 2. Automatic proof search 2. for Isabelle/HOL Joint work with Sascha Böhme, Jia Meng, Tobias Nipkow, Larry Paulson, Makarius Wenzel, and many others

18 Does there exist a function f from reals to reals such that for all x and y, f(x + y 2 ) f(x) y? let lemma = prove (`!f:real->real. ~(!x y. f(x + y * y) - f(x) >= y)`, REWRITE_TAC[real_ge] THEN REPEAT STRIP_TAC THEN SUBGOAL_THEN `!n x y. &n * y <= f(x + &n * y * y) - f(x)` MP_TAC THENL [MATCH_MP_TAC num_induction THEN SIMP_TAC[REAL_MUL_LZERO; REAL_ADD_RID] THEN REWRITE_TAC[REAL_SUB_REFL; REAL_LE_REFL; GSYM REAL_OF_NUM_SUC] THEN GEN_TAC THEN REPEAT(MATCH_MP_TAC MONO_FORALL THEN GEN_TAC) THEN FIRST_X_ASSUM(MP_TAC o SPECL [`x + &n * y * y`; `y:real`]) THEN SIMP_TAC[REAL_ADD_ASSOC; REAL_ADD_RDISTRIB; REAL_MUL_LID] THEN REAL_ARITH_TAC; X_CHOOSE_TAC `m:num` (SPEC `f(&1) - f(&0):real` REAL_ARCH_SIMPLE) THEN DISCH_THEN(MP_TAC o SPECL [`SUC m EXP 2`; `&0`; `inv(&(suc m))`]) THEN REWRITE_TAC[REAL_ADD_LID; GSYM REAL_OF_NUM_SUC; GSYM REAL_OF_NUM_POW] THEN REWRITE_TAC[REAL_FIELD `(&m + &1) pow 2 * inv(&m + &1) = &m + &1`; REAL_FIELD `(&m + &1) pow 2 * inv(&m + &1) * inv(&m + &1) = &1`] THEN ASM_REAL_ARITH_TAC]);; John Harrison

19 Does there exist a function f from reals to reals such that for all x and y, f(x + y 2 ) f(x) y? [1] f(x + y 2 ) f(x) y for any x and y (given) [2] f(x + n y 2 ) f(x) n y for any x, y, and natural number n (by an easy induction using [1] for the step case) [3] f(1) f(0) m + 1 for any natural number m (set n = (m + 1) 2, x = 0, y = 1/(m + 1) in [2]) [4] Contradiction of [3] and the Archimedean property of the reals John Harrison

20 intermediate properties manual generated automatically

21

22

23

24

25

26 Proof assistants Automatic provers = Isabelle Isabelle vs. Vampire well suited for large formalizations but require intensive manual labor Sledgehammer fully automatic but no proof management

27 superposition select lemmas + translate to FOL = Isabelle HOL reconstruct proof SMT

28 superposition SMT refutational resolution rule term ordering equality reasoning redundancy criterion E, SPASS, Vampire, refutational SAT solver + congruence closure + quantifier instantiation + other theories (e.g. LIA, LRA) CVC4, verit, Yices, Z3,

29 Other hammers in proof assistants pre-sledgehammer Otter in ACL2 Bliksem in Coq Gandalf in HOL98 DISCOUNT, SPASS, etc., in ILF Otter, SPASS, etc., in KIV LEO, SPASS, etc., in ΩMEGA E, Vampire, etc., in Naproche... post-sledgehammer HOLyHammer for HOLs MizAR for Mizar SMTCoq/CVC4Coq for Coq SMT integration in TLAPS...

30 x Traditional encodings of HOL in FOL are inefficient HOL FOL higher-order features (e.g., currying) Suc n app(suc, n) types (possibly polymorphic) Suc n t(suc(t(n, nat)), nat) t(app(t(suc, fun(nat, nat)), t(n, nat)), nat)

31 More efficient encodings of higher-order features are possible HOL Suc x map f [x] = [ f x] λ x y. y + x p (x = x) FOL suc(x) map(f, [x]) = [app(f, x)] c(plus) p(eq(x, x))

32 More efficient encodings of types are possible HOL Suc x Nil Cons x xs x y x = off FOL suc(x) nil cons(a, x, xs) x y t(x, state) = off

33 Upon success, proofs are translated to Isabelle one-line detailed (Isar)

34 One-line proofs lemma "length (tl xs) length xs" by (metis diff_le_self length_tl) proof method lemmas usually fast and reliable lightweight cryptic sometimes slow (several seconds) often cannot deal with theories

35 Detailed (Isar) proofs lemma "length (tl xs) length xs" proof - have " x1 x2. (x1 nat) - x2 - x1 = 0 - x2" by (metis comm_monoid_diff_class.diff_cancel diff_right_commute) hence "length xs length xs = 0" by (metis zero_diff) hence "length xs - 1 length xs" by (metis diff_is_0_eq) thus "length (tl xs) length xs" by (metis length_tl) qed faster than one-liners higher reconstruction success rate self-explanatory technically more challenging not always so self-explanatory

36

37 Sledgehammer really works Developing proofs without Sledgehammer is like walking as opposed to running. Tobias Nipkow Larry Paulson I have recently been working on a new development. Sledgehammer has found some simply incredible proofs. I would estimate the improvement in productivity as a factor of at least three, maybe five. Sledgehammers have led to visible success. Fully automated procedures can prove 47% of the HOL Light/Flyspeck libraries, with comparable rates in Isabelle. These automation rates represent an enormous saving in human labor. Thomas Hales

38 Isabelle s pros and cons, according to my students 11.5 Sledgehammer 4 Nitpick 4 Isar 2.5 automation 2 IDE 1 Quickcheck 1 set theory 1 schematic variables 1 structural induction 1 classical logic 1 function induction 1 infix operators 1 "qed auto" 5 goal/assumption handling 4 weak logic (props as types, types as terms) 3 Sledgehammer on lists, HO goals, or induction 1 automatic induction 1 Sledgehammer-generated Isar 1 arithmetic 1 Isar 1 opaque proofs 1 double quotes around inner syntax 1 underdeveloped "fset" 1 proof reuse 1 no hnf for statements, not even definitions 1 guaranteed computability 1 forward "apply" in assumptions (drule?) 1 error messages in inner syntax 1 ltac (Eisbach?) 1 cannot click on fun to see definition (?) 1 tooltips for built-in functions etc.

39 Sledgehammer's main 3 weaknesses Higher-order "lost in translation" No induction Explosive search space

40 4. Matryoshka 2. Higher-order automatic 2. provers for proof assistants Ongoing joint work with Alex Bentkamp, Pascal Fontaine, Johannes Hölzl, Rob Lewis, Stephan Schulz, Uwe Waldmann, and many others

41 Vision: Take the Hard Labor out of Vision: Interactive Verification Push button automation for proof assistants (e.g. Coq) based on efficient higher-order (HO) provers λσ Π {} Discover Proof Using HO Provers HO super- position prover HO SMT solver λ Σ Π {} 4

42 Application: A Verified EasyChair PC members cannot review papers if they have a conflict of interest Proof today: using assms proof induction case (Step s a) thus?case proof (cases a) case (Cact ca) show?thesis using Step pref_conflict_isrev reach.step by simp next case (Uact ua) show?thesis proof (cases ua) case (upref confid uid p paperid pref) thus?thesis using Step unfolding Uact upref isrev_def2 by (blast dest: pref_conflict_isrevnth reach.step) qed (insert Step, simp add: Uact isrev_def2 u_defs pref_conflict_isrevnth_def)+ next case (UUact uua) show?thesis using Step unfolding UUact isrev_def2 by (meson IO_Automaton.reach.Step pref_conflict_isrevnth) qed simp+ qed (simp add: istate_def) Induction Rule Simplifier Arithmetic Procedure General Reasoner First-Order Provers via SLEDGEHAMMER fully automatic 5

43 Application: A Verified EasyChair PC members cannot review papers if they have a conflict of interest Proof today: using assms proof induction case (Step s a) thus?case proof (cases a) case (Cact ca) show?thesis using Step pref_conflict_isrev reach.step by simp next case (Uact ua) show?thesis proof (cases ua) case (upref confid uid p paperid pref) thus?thesis using Step unfolding Uact upref isrev_def2 by (blast dest: pref_conflict_isrevnth reach.step) qed (insert Step, simp add: Uact isrev_def2 u_defs pref_conflict_isrevnth_def)+ next case (UUact uua) show?thesis using Step unfolding UUact isrev_def2 by (meson IO_Automaton.reach.Step pref_conflict_isrevnth) qed simp+ qed (simp add: istate_def) Induction Rule Simplifier Arithmetic Procedure General Reasoner First-Order Provers via SLEDGEHAMMER fully automatic 5

44 Application: A Verified EasyChair PC members cannot review papers if they have a conflict of interest Proof today: using assms proof induction case (Step s a) thus?case proof (cases a) case (Cact ca) show?thesis using Step pref_conflict_isrev reach.step by simp next case (Uact ua) show?thesis proof (cases ua) case (upref confid uid p paperid pref) thus?thesis using Step unfolding Uact upref isrev_def2 by (blast dest: pref_conflict_isrevnth reach.step) qed (insert Step, simp add: Uact isrev_def2 u_defs pref_conflict_isrevnth_def)+ next case (UUact uua) show?thesis using Step unfolding UUact isrev_def2 by (meson IO_Automaton.reach.Step pref_conflict_isrevnth) qed simp+ qed (simp add: istate_def) Induction Rule Simplifier Arithmetic Procedure General Reasoner First-Order Provers via SLEDGEHAMMER boilerplate manual hints fully automatic 6

45 Application: A Verified EasyChair PC members cannot review papers if they have a conflict of interest Proof after Matryoshka: using assms proof induction case (Step s a) thus?case proof (cases a) case (Cact ca) show?thesis using Step pref_conflict_isrev reach.step by simp next case (Uact ua) show?thesis proof (cases ua) case (upref confid uid p paperid pref) thus?thesis using Step unfolding Uact upref isrev_def2 by (blast dest: pref_conflict_isrevnth reach.step) qed (insert Step, simp add: Uact isrev_def2 u_defs pref_conflict_isrevnth_def)+ next case (UUact uua) show?thesis using Step unfolding UUact isrev_def2 by (meson IO_Automaton.reach.Step pref_conflict_isrevnth) qed simp+ qed (simp add: istate_def) Σ {} Discover Proof Using HO Provers λ Π Σ {} λ Π missing proof fully automatic 7

46 My Grand Challenge Create efficient proof calculi and higher-order provers targeting proof assistants and their applications to software and hardware development by fusing and extending two lines of research: automatic proving & interactive proving Scientific Objectives SO1. SO2. SO3. SO4. Extend superposition and SMT to higher-order logic Design practical methods and heuristics based on benchmarks Conceive stratified architectures to build higher-order provers Integrate our provers into proof assistants (Coq, Isabelle, TLA + ) 8

47 SO1 Higher-Order Superposition (λsup) A "counterexample": a = β (λx. a) (f a) > f a > a The problem is not so much λ as β. 9

48 SO1 Higher-Order Superposition (λsup) First-order rule: D' t t' C' s[u] s' (D' C' s[t'] s')σ SUP-Left where σ = mgu(t, u) u is not a variable tσ t'σ sσ s'σ (t t' )σ is strictly maximal in (D' t t' )σ and no selection (s s' )σ is maximal in (C' s s' )σ or selected 9

49 SO1 Higher-Order Superposition (λsup) First-order rule: D' t t' C' s[u] s' (D' C' s[t'] s')σ SUP-Left where σ = mgu(t, u) u is not a variable tσ t'σ sσ s'σ (t t' )σ is strictly maximal in (D' t t' )σ and no selection (s s' )σ is maximal in (C' s s' )σ or selected We need sequences of unifiers 9

50 SO1 Higher-Order Superposition (λsup) First-order rule: D' t t' C' s[u] s' (D' C' s[t'] s')σ SUP-Left where σ = mgu(t, u) u is not a variable tσ t'σ sσ s'σ (t t' )σ is strictly maximal in (D' t t' )σ and no selection (s s' )σ is maximal in (C' s s' )σ or selected We need sequences of unifiers We need higher-order term ordering We also want proof-assistant-style HO rewriting 9

51 SO1 Higher-Order Term Orderings First-order Well-foundedness Transitivity Stability under substitution FO subterm property Compat. with FO contexts Totality for ground terms KBO LPO 10

52 SO1 Higher-Order Term Orderings First-order KBO LPO CPO/ HORPO Higher-order λfkbo λflpo Well-foundedness Transitivity Stability under substitution FO subterm property Compat. with FO contexts Totality for ground terms HO subterm property Compat. with HO contexts?? () () 10

53 SO3 Stratified Architecture main loop FO rules FO formulas HO rules HO formulas Inspired by Nelson Oppen (SMT) Base FO provers: E & verit Some scientific challenges: How to exploit derived FO formulas and/or candidate models to guide HO quantifier instantiation? How to generate certificates for reconstruction in proof assistants? First-Order Prover (e.g. verit) Matryoshka Prover (e.g. verihot) 11

54 SO3 Higher-Order SMT FO QI main loop HO QI First-order quantifier instantiation (QI): E-matching (triggers) Model-based QI Conflict-guided instantiation Congruence closure with free variables We need to extend these strategies to higher-order logic SAT Solver (e.g. MiniSat) First-Order Prover (e.g. verit) Matryoshka Prover (e.g. verihot) 12

55 SO4 Connection with Proof Assistants SAT Solver (e.g. MiniSat) First-Order Prover (e.g. verit) Matryoshka Prover (e.g. verihot) Proof Assistant (e.g. Coq) 13

56 SO4 Connection with Proof Assistants Dependent Type Theory Classical Higher-Order Logic Set Theory verihot verihot verihot HO E HO E HO E Coq Isabelle/HOL TLA + Agda HOL4 Isabelle/ZF Lean HOL Light Mizar Matita PVS Rodin (Event-B) 14

57 The m a t λ r y o s h k a Team Scientific Leader: Senior Collaborator: Postdoctoral Researchers: Ph.D. Students: Jasmin Blanchette Pascal Fontaine Johannes Hölzl Rob Lewis Alex Bentkamp Daniel El Ouraoui Hans-Jörg Schurr Petar Vukmirović Adam Ncy Adam Adam Adam Ncy Ncy Adam Associated Members: Other Collaborators: Stephan Schulz Uwe Waldmann Haniel Barbosa Simon Cruanes Simon Robillard & more Stgt SB Ncy Ncy Gbg 15

58 Matryoshka in one Slide Grand Challenge & Outcome Risks λ m a t r y o s h k a Create efficient proof calculi (λsup & λsmt) and stratified higher-order provers (HO E & verihot) to dramatically improve automation in proof assistants Efficient HO automation is a long-standing open problem Proposed stratified architecture has never been tried Impact The project will recast the methods of automatic proving to reach the goals of interactive proving Interactive verification will become a cost-effective option for building software & hardware of the highest quality 16

Nunchaku: Flexible Model Finding for Higher-Order Logic

Nunchaku: Flexible Model Finding for Higher-Order Logic Nunchaku: Flexible Model Finding for Higher-Order Logic Simon Cruanes, Jasmin Blanchette, Andrew Reynolds Veridis, Inria Nancy https://cedeela.fr/~simon/ April 7th, 2016 1 / 21 Summary Introduction Nunchaku

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

Analyse et Conception Formelle. Lesson 4. Proofs with a proof assistant

Analyse et Conception Formelle. Lesson 4. Proofs with a proof assistant Analyse et Conception Formelle Lesson 4 Proofs with a proof assistant T. Genet (ISTIC/IRISA) ACF-4 1 / 26 Prove logic formulas... to prove programs fun nth:: "nat => a list => a" where "nth 0 (x#_)=x"

More information

Model Finding for Recursive Functions in SMT

Model Finding for Recursive Functions in SMT Model Finding for Recursive Functions in SMT Andrew Reynolds 1, Jasmin Christian Blanchette 2,3, Simon Cruanes 2, and Cesare Tinelli 1 1 Department of Computer Science, The University of Iowa, USA 2 Inria

More information

Scalable and Accurate Verification of Data Flow Systems. Cesare Tinelli The University of Iowa

Scalable and Accurate Verification of Data Flow Systems. Cesare Tinelli The University of Iowa Scalable and Accurate Verification of Data Flow Systems Cesare Tinelli The University of Iowa Overview AFOSR Supported Research Collaborations NYU (project partner) Chalmers University (research collaborator)

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

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

Quantifier Instantiation Techniques for Finite Model Finding in SMT

Quantifier Instantiation Techniques for Finite Model Finding in SMT Quantifier Instantiation Techniques for Finite Model Finding in SMT Andrew Reynolds, Cesare Tinelli Amit Goel, Sava Krstic Morgan Deters, Clark Barrett Satisfiability Modulo Theories (SMT) SMT solvers

More information

arxiv: v3 [cs.lo] 14 Sep 2016

arxiv: v3 [cs.lo] 14 Sep 2016 Axiomatizing Category Theory in Free Logic Christoph Benzmüller 1 and Dana S. Scott 2 1 Freie Universität Berlin, Germany 2 Visiting Scholar at University of Califormia, Berkeley, USA arxiv:1609.01493v3

More information

Constraint Solving for Finite Model Finding in SMT Solvers

Constraint Solving for Finite Model Finding in SMT Solvers myjournal manuscript No. (will be inserted by the editor) Constraint Solving for Finite Model Finding in SMT Solvers Andrew Reynolds Cesare Tinelli Clark Barrett Received: date / Accepted: date Abstract

More information

Automated Reasoning. Lecture 9: Isar A Language for Structured Proofs

Automated Reasoning. Lecture 9: Isar A Language for Structured Proofs Automated Reasoning Lecture 9: Isar A Language for Structured Proofs Jacques Fleuriot jdf@inf.ed.ac.uk Acknowledgement: Tobias Nipkow kindly provided the slides for this lecture Apply scripts unreadable

More information

Proof Reconstruction for Z3 in Isabelle/HOL

Proof Reconstruction for Z3 in Isabelle/HOL Proof Reconstruction for Z3 in Isabelle/HOL Sascha Böhme Technische Universität München boehmes@in.tum.de Abstract Currently, only a few Satisfiability Modulo Theories (SMT) solvers are able to produce

More information

Solving Quantified Verification Conditions using Satisfiability Modulo Theories

Solving Quantified Verification Conditions using Satisfiability Modulo Theories Solving Quantified Verification Conditions using Satisfiability Modulo Theories Yeting Ge, Clark Barrett, Cesare Tinelli Solving Quantified Verification Conditions using Satisfiability Modulo Theories

More information

Code Generation for a Simple First-Order Prover

Code Generation for a Simple First-Order Prover Code Generation for a Simple First-Order Prover Jørgen Villadsen, Anders Schlichtkrull, and Andreas Halkjær From DTU Compute, Technical University of Denmark, 2800 Kongens Lyngby, Denmark Abstract. We

More information

The TLA + proof system

The TLA + proof system The TLA + proof system Stephan Merz Kaustuv Chaudhuri, Damien Doligez, Leslie Lamport INRIA Nancy & INRIA-MSR Joint Centre, France Amir Pnueli Memorial Symposium New York University, May 8, 2010 Stephan

More information

Rewriting for Satisfiability Modulo Theories

Rewriting for Satisfiability Modulo Theories 1 Dipartimento di Informatica Università degli Studi di Verona Verona, Italy July 10, 2010 1 Joint work with Chris Lynch (Department of Mathematics and Computer Science, Clarkson University, NY, USA) and

More information

M a s t e r r e s e a rc h I n t e r n s h i p. Formalisation of Ground Inference Systems in a Proof Assistant

M a s t e r r e s e a rc h I n t e r n s h i p. Formalisation of Ground Inference Systems in a Proof Assistant M a s t e r r e s e a rc h I n t e r n s h i p Master Thesis Formalisation of Ground Inference Systems in a Proof Assistant Domain: Data Structures and Algorithms - Logic in Computer Science Author: Mathias

More information

Anselm s God in Isabelle/HOL

Anselm s God in Isabelle/HOL Anselm s God in Isabelle/HOL Ben Blumson September 12, 2017 Contents 1 Introduction 1 2 Free Logic 2 3 Definite Descriptions 3 4 Anselm s Argument 4 5 The Prover9 Argument 6 6 Soundness 7 7 Conclusion

More information

MP 5 Program Transition Systems and Linear Temporal Logic

MP 5 Program Transition Systems and Linear Temporal Logic MP 5 Program Transition Systems and Linear Temporal Logic CS 477 Spring 2018 Revision 1.0 Assigned April 10, 2018 Due April 17, 2018, 9:00 PM Extension extend48 hours (penalty 20% of total points possible)

More information

A New Look At Generalized Rewriting in Type Theory

A New Look At Generalized Rewriting in Type Theory A New Look At Generalized Rewriting in Type Theory Matthieu Sozeau Harvard University TYPES 09 May 13th 2009 Aussois, France Generalized Rewriting Equational reasoning x = y - x + 1 ==> y + 1 Logical reasoning

More information

Imperative Insertion Sort

Imperative Insertion Sort Imperative Insertion Sort Christian Sternagel October 11, 2017 Contents 1 Looping Constructs for Imperative HOL 1 1.1 While Loops............................ 1 1.2 For Loops.............................

More information

SMT BASICS WS 2017/2018 ( ) LOGIC SATISFIABILITY MODULO THEORIES. Institute for Formal Models and Verification Johannes Kepler Universität Linz

SMT BASICS WS 2017/2018 ( ) LOGIC SATISFIABILITY MODULO THEORIES. Institute for Formal Models and Verification Johannes Kepler Universität Linz LOGIC SATISFIABILITY MODULO THEORIES SMT BASICS WS 2017/2018 (342.208) Armin Biere Martina Seidl biere@jku.at martina.seidl@jku.at Institute for Formal Models and Verification Johannes Kepler Universität

More information

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

A New Look at Generalized Rewriting in Type Theory

A New Look at Generalized Rewriting in Type Theory A New Look at Generalized Rewriting in Type Theory Matthieu Sozeau Harvard University 1st Coq Workshop August 21th 2009 Munich, Germany Generalized Rewriting Equational reasoning x = y - x + 1 ==> y +

More information

Pretending to be an SMT Solver with Vampire (and How We Do Instantiation)

Pretending to be an SMT Solver with Vampire (and How We Do Instantiation) Pretending to be an SMT Solver with Vampire (and How We Do Instantiation) Giles Reger 1, Martin Suda 2, and Andrei Voronkov 1,2 1 School of Computer Science, University of Manchester, UK 2 TU Wien, Vienna,

More information

12th International Satisfiability Modulo Theories Competition SMT-COMP 2017

12th International Satisfiability Modulo Theories Competition SMT-COMP 2017 12th International Satisfiability Modulo Theories Competition SMT-COMP 2017 Matthias Heizmann (co-organizer) Giles Reger (co-organizer) Tjark Weber (chair) Outline Main changes over last competition Benchmarks

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

Automated theorem proving in algebra

Automated theorem proving in algebra Automated theorem proving in algebra David Stanovský Charles University in Prague Czech Republic stanovsk@karlin.mff.cuni.cz http://www.karlin.mff.cuni.cz/ stanovsk Beograd, November 2009 David Stanovský

More information

Combined Satisfiability Modulo Parametric Theories

Combined Satisfiability Modulo Parametric Theories Intel 07 p.1/39 Combined Satisfiability Modulo Parametric Theories Sava Krstić*, Amit Goel*, Jim Grundy*, and Cesare Tinelli** *Strategic CAD Labs, Intel **The University of Iowa Intel 07 p.2/39 This Talk

More information

Towards Lightweight Integration of SMT Solvers

Towards Lightweight Integration of SMT Solvers Towards Lightweight Integration of SMT Solvers Andrei Lapets Boston University Boston, USA lapets@bu.edu Saber Mirzaei Boston University Boston, USA smirzaei@bu.edu 1 Introduction A large variety of SMT

More information

Boolean Expression Checkers

Boolean Expression Checkers Boolean Expression Checkers Tobias Nipkow May 27, 2015 Abstract This entry provides executable checkers for the following properties of boolean expressions: satisfiability, tautology and equivalence. Internally,

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

Systematic Verification of the Modal Logic Cube in Isabelle/HOL

Systematic Verification of the Modal Logic Cube in Isabelle/HOL Systematic Verification of the Modal Logic Cube in Isabelle/HOL Christoph Benzmüller Maximilian Claus Dep. of Mathematics and Computer Science, Freie Universität Berlin, Germany c.benzmueller m.claus@fu-berlin.de

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

Finding Conflicting Instances of Quantified Formulas in SMT. Andrew Reynolds Cesare Tinelli Leonardo De Moura July 18, 2014

Finding Conflicting Instances of Quantified Formulas in SMT. Andrew Reynolds Cesare Tinelli Leonardo De Moura July 18, 2014 Finding Conflicting Instances of Quantified Formulas in SMT Andrew Reynolds Cesare Tinelli Leonardo De Moura July 18, 2014 Outline of Talk SMT solvers: Efficient methods for ground constraints Heuristic

More information

Hierarchic Superposition: Completeness without Compactness

Hierarchic Superposition: Completeness without Compactness Hierarchic Superposition: Completeness without Compactness Peter Baumgartner 1 and Uwe Waldmann 2 1 NICTA and Australian National University, Canberra, Australia Peter.Baumgartner@nicta.com.au 2 MPI für

More information

SAT/SMT/AR Introduction and Applications

SAT/SMT/AR Introduction and Applications SAT/SMT/AR Introduction and Applications Ákos Hajdu Budapest University of Technology and Economics Department of Measurement and Information Systems 1 Ákos Hajdu About me o PhD student at BME MIT (2016

More information

ArgoCaLyPso SAT-Inspired Coherent Logic Prover

ArgoCaLyPso SAT-Inspired Coherent Logic Prover ArgoCaLyPso SAT-Inspired Coherent Logic Prover Mladen Nikolić and Predrag Janičić Automated Reasoning GrOup (ARGO) Faculty of Mathematics University of, February, 2011. Motivation Coherent logic (CL) (also

More information

Hierarchic Superposition With Weak Abstraction and the Beagle Theorem Prover

Hierarchic Superposition With Weak Abstraction and the Beagle Theorem Prover Hierarchic Superposition With Weak Abstraction and the Beagle Theorem Prover Peter Baumgartner NICTA and ANU, Canberra Uwe Waldmann MPI für Informatik, Saarbrücken Goal Automated deduction in hierarchic

More information

Proving in the Isabelle Proof Assistant that the Set of Real Numbers is not Countable

Proving in the Isabelle Proof Assistant that the Set of Real Numbers is not Countable Downloaded from orbit.dtu.dk on: Mar 18, 2019 Proving in the Isabelle Proof Assistant that the Set of Real Numbers is not Countable Villadsen, Jørgen Publication date: 2018 Document Version Publisher's

More information

First-Order Theorem Proving and Vampire

First-Order Theorem Proving and Vampire First-Order Theorem Proving and Vampire Laura Kovács 1,2 and Martin Suda 2 1 TU Wien 2 Chalmers Outline Introduction First-Order Logic and TPTP Inference Systems Saturation Algorithms Redundancy Elimination

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

No Choice: Reconstruction of First-order ATP Proofs without Skolem Functions

No Choice: Reconstruction of First-order ATP Proofs without Skolem Functions No Choice: Reconstruction of First-order ATP Proofs without Skolem Functions Michael Färber michael.faerber@uibk.ac.at Cezary Kaliszyk cezary.kaliszyk@uibk.ac.at Universität Innsbruck Innsbruck, Austria

More information

Menger's Theorem. Christoph Dittmann August 16, Contents

Menger's Theorem. Christoph Dittmann August 16, Contents Menger's Theorem Christoph Dittmann isabelle@christoph-d.de August 16, 2018 We present a formalization of Menger's Theorem for directed and undirected graphs in Isabelle/HOL. This well-known result shows

More information

Combinations of Theories for Decidable Fragments of First-order Logic

Combinations of Theories for Decidable Fragments of First-order Logic Combinations of Theories for Decidable Fragments of First-order Logic Pascal Fontaine Loria, INRIA, Université de Nancy (France) Montreal August 2, 2009 Montreal, August 2, 2009 1 / 15 Context / Motivation

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

Reasoning with Higher-Order Abstract Syntax and Contexts: A Comparison

Reasoning with Higher-Order Abstract Syntax and Contexts: A Comparison 1 Reasoning with Higher-Order Abstract Syntax and Contexts: A Comparison Amy Felty University of Ottawa July 13, 2010 Joint work with Brigitte Pientka, McGill University 2 Comparing Systems We focus on

More information

Hammering towards QED

Hammering towards QED Hammering towards QED Jasmin C. Blanchette Inria Nancy & LORIA, France Cezary Kaliszyk University of Innsbruck, Austria Lawrence C. Paulson University of Cambridge, UK and Josef Urban Radboud University,

More information

Lazy Proofs for DPLL(T)-Based SMT Solvers

Lazy Proofs for DPLL(T)-Based SMT Solvers Lazy Proofs for DPLL(T)-Based SMT Solvers Guy Katz, Clark Barrett New York University Cesare Tinelli, Andrew Reynolds The University of Iowa Liana Hadarean Synopsys Inc. Abstract With the integration of

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

Superposition with Datatypes and Codatatypes

Superposition with Datatypes and Codatatypes Superposition with Datatypes and Codatatypes Downloaded from: https://research.chalmers.se, 2019-02-26 17:51 UTC Citation for the original published paper (version of record): Blanchette, J., Peltier,

More information

Analysing the microrna-17-92/myc/e2f/rb Compound Toggle Switch by Theorem Proving

Analysing the microrna-17-92/myc/e2f/rb Compound Toggle Switch by Theorem Proving Analysing the microrna-17-92/myc/e2f/rb Compound Toggle Switch by Theorem Proving Giampaolo Bella and Pietro Liò @ Catania and Cambridge Under the auspices of British Council's grant ``Computer-assisted

More information

The syntactic guard condition of Coq

The syntactic guard condition of Coq The syntactic guard condition of Coq Bruno Barras February 2, 2010 Overview 1 Theory Basic criterion Extensions 2 Algorithm Efficiency 3 Discussion 4 Attic A short history of the syntactic guard criterion

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

Majority Vote Algorithm Revisited Again

Majority Vote Algorithm Revisited Again Majority Vote Algorithm Revisited Again Tobias Nipkow (Technische Universität München, www.in.tum.de/ nipkow) Abstract In his article Experience with Software Specification and Verification Using LP, the

More information

Automated Generation of Formal and Readable Proofs of Mathematical Theorems ongoing work

Automated Generation of Formal and Readable Proofs of Mathematical Theorems ongoing work Automated Generation of Formal and Readable Proofs of Mathematical Theorems ongoing work Sana Stojanović Predrag Janičić Faculty of Mathematics University of Belgrade SVARM 2013 Rome, Italy, January 20-21,

More information

Bounded Relational Analysis of Free Data Types

Bounded Relational Analysis of Free Data Types Bounded Relational Analysis of Free Data Types A. Dunets S. Schellhorn W. Reif Department of Computer Science University of Augsburg The Second International Conference on Tests and Proofs Prato, Italy

More information

Finite model finding in satisfiability modulo theories

Finite model finding in satisfiability modulo theories University of Iowa Iowa Research Online Theses and Dissertations Fall 2013 Finite model finding in satisfiability modulo theories Andrew Joseph Reynolds University of Iowa Copyright 2013 Andrew J. Reynolds

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

Toward a new formalization of real numbers

Toward a new formalization of real numbers Toward a new formalization of real numbers Catherine Lelay Institute for Advanced Sciences September 24, 2015 1 / 9 Toward a new formalization of real numbers in Coq using Univalent Foundations Catherine

More information

The Curry-Howard Isomorphism

The Curry-Howard Isomorphism The Curry-Howard Isomorphism Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) The Curry-Howard Isomorphism MFES 2008/09

More information

Programming with Dependent Types in Coq

Programming with Dependent Types in Coq Programming with Dependent Types in Coq Matthieu Sozeau LRI, Univ. Paris-Sud - Démons Team & INRIA Saclay - ProVal Project PPS Seminar February 26th 2009 Paris, France Coq A higher-order, polymorphic logic:

More information

Structuring the verification of heap-manipulating programs

Structuring the verification of heap-manipulating programs Structuring the verification of heap-manipulating programs Aleksandar Nanevski (IMDEA Madrid) Viktor Vafeiadis (MSR / Univ. of Cambridge) Josh Berdine (MSR Cambridge) Hoare/Separation Logic Hoare logic

More information

Miscellaneous Isabelle/Isar examples

Miscellaneous Isabelle/Isar examples Miscellaneous Isabelle/Isar examples Makarius Wenzel With contributions by Gertrud Bauer and Tobias Nipkow October 8, 2017 Abstract Isar offers a high-level (and theory) language for Isabelle. We give

More information

A Machine Checked Model of Idempotent MGU Axioms For a List of Equational Constraints

A Machine Checked Model of Idempotent MGU Axioms For a List of Equational Constraints A Machine Checked Model of Idempotent MGU Axioms For a List of Equational Constraints Sunil Kothari, James Caldwell Department of Computer Science, University of Wyoming, USA Machine checked proofs of

More information

An Introduction to Proof Assistants

An Introduction to Proof Assistants An Introduction to Proof Assistants Patrick Schnider Student Seminar in Combinatorics: Mathematical Software, ETH Zürich 1 Motivation The development of proof assistants was motivated by the use of computers

More information

Ordinals in HOL: Transfinite Arithmetic up to (and beyond) ω 1

Ordinals in HOL: Transfinite Arithmetic up to (and beyond) ω 1 Ordinals in HOL: Transfinite Arithmetic up to (and beyond) ω 1 Michael Norrish 1 and Brian Huffman 2 1 Canberra Research Lab., NICTA also, Australian National University Michael.Norrish@nicta.com.au 2

More information

Much Ado about Two. By Sascha Böhme. February 22, 2013

Much Ado about Two. By Sascha Böhme. February 22, 2013 Much Ado about Two By Sascha Böhme February 22, 2013 Abstract This article is an Isabelle formalisation of a paper with the same. In a similar way as Knuth s 0-1-principle for sorting algorithms, that

More information

Sledgehammer: Judgement Day

Sledgehammer: Judgement Day Sledgehammer: Judgement Day Sascha Böhme and Tobias Nipkow Institut für Informatik, Technische Universität München Abstract. Sledgehammer, a component of the interactive theorem prover Isabelle, finds

More information

Verified Characteristic Formulae for CakeML. Armaël Guéneau, Magnus O. Myreen, Ramana Kumar, Michael Norrish April 18, 2017

Verified Characteristic Formulae for CakeML. Armaël Guéneau, Magnus O. Myreen, Ramana Kumar, Michael Norrish April 18, 2017 Verified Characteristic Formulae for CakeML Armaël Guéneau, Magnus O. Myreen, Ramana Kumar, Michael Norrish April 18, 2017 CakeML Has: references, modules, datatypes, exceptions, a FFI,... Doesn t have:

More information

The Tortoise and the Hare Algorithm

The Tortoise and the Hare Algorithm The Tortoise and the Hare Algorithm Peter Gammie April 17, 2016 Abstract We formalize the Tortoise and Hare cycle-finding algorithm ascribed to Floyd by Knuth (1981, p7, exercise 6), and an improved version

More information

Interactive Theorem Proving

Interactive Theorem Proving Interactive Theorem Proving 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

Vinter: A Vampire-Based Tool for Interpolation

Vinter: A Vampire-Based Tool for Interpolation Vinter: A Vampire-Based Tool for Interpolation Kryštof Hoder 1, Andreas Holzer 2, Laura Kovács 2, and Andrei Voronkov 1 1 University of Manchester 2 TU Vienna Abstract. This paper describes the Vinter

More information

Solving Quantified Linear Arithmetic by Counterexample- Guided Instantiation

Solving Quantified Linear Arithmetic by Counterexample- Guided Instantiation Noname manuscript No. (will be inserted by the editor) Solving Quantified Linear Arithmetic by Counterexample- Guided Instantiation Andrew Reynolds Tim King Viktor Kuncak Received: date / Accepted: date

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

Isabelle/FOL First-Order Logic

Isabelle/FOL First-Order Logic Isabelle/FOL First-Order Logic Larry Paulson and Markus Wenzel August 15, 2018 Contents 1 Intuitionistic first-order logic 2 1.1 Syntax and axiomatic basis................... 2 1.1.1 Equality..........................

More information

Program-ing in Coq. Matthieu Sozeau under the direction of Christine Paulin-Mohring

Program-ing in Coq. Matthieu Sozeau under the direction of Christine Paulin-Mohring Program-ing in Coq Matthieu Sozeau under the direction of Christine Paulin-Mohring LRI, Univ. Paris-Sud - Démons Team & INRIA Saclay - ProVal Project Foundations of Programming seminar February 15th 2008

More information

Automated Reasoning Lecture 17: Inductive Proof (in Isabelle)

Automated Reasoning Lecture 17: Inductive Proof (in Isabelle) Automated Reasoning Lecture 17: Inductive Proof (in Isabelle) Jacques Fleuriot jdf@inf.ed.ac.uk Recap Previously: Unification and Rewriting This time: Proof by Induction (in Isabelle) Proof by Mathematical

More information

An Isabelle/HOL Formalization of the Textbook Proof of Huffman s Algorithm

An Isabelle/HOL Formalization of the Textbook Proof of Huffman s Algorithm An Isabelle/HOL Formalization of the Textbook Proof of Huffman s Algorithm Jasmin Christian Blanchette Institut für Informatik, Technische Universität München, Germany blanchette@in.tum.de March 12, 2013

More information

Nominal Inversion Principles

Nominal Inversion Principles Nominal Inversion Principles Stefan Berghofer and Christian Urban Technische Universität München Institut für Informatik, Boltzmannstraße 3, 85748 Garching, Germany Abstract. When reasoning about inductively

More information

An Introduction to Z3

An Introduction to Z3 An Introduction to Z3 Huixing Fang National Trusted Embedded Software Engineering Technology Research Center April 12, 2017 Outline 1 SMT 2 Z3 Huixing Fang (ECNU) An Introduction to Z3 April 12, 2017 2

More information

A Coq Tactic for Equality Learning in Linear Arithmetic

A Coq Tactic for Equality Learning in Linear Arithmetic A Coq Tactic for Equality Learning in Linear Arithmetic Sylvain Boulmé, Alexandre Maréchal To cite this version: Sylvain Boulmé, Alexandre Maréchal. A Coq Tactic for Equality Learning in Linear Arithmetic.

More information

Introduction to Isabelle/HOL

Introduction to Isabelle/HOL Introduction to Isabelle/HOL 1 Notes on Isabelle/HOL Notation In Isabelle/HOL: [ A 1 ;A 2 ; ;A n ]G can be read as if A 1 and A 2 and and A n then G 3 Note: -Px (P x) stands for P (x) (P(x)) -P(x, y) can

More information

The Tortoise and the Hare Algorithm

The Tortoise and the Hare Algorithm The Tortoise and the Hare Algorithm Peter Gammie October 11, 2017 Abstract We formalize the Tortoise and Hare cycle-finding algorithm ascribed to Floyd by Knuth (1981, p7, exercise 6), and an improved

More information

Positional Determinacy of Parity Games

Positional Determinacy of Parity Games Positional Determinacy of Parity Games Christoph Dittmann christoph.dittmann@tu-berlin.de April 17, 2016 We present a formalization of parity games (a two-player game on directed graphs) and a proof of

More information

Introduction to SMT Solving And Infinite Bounded Model Checking

Introduction to SMT Solving And Infinite Bounded Model Checking Introduction to SMT Solving And Infinite Bounded Model Checking John Rushby Computer Science Laboratory SRI International Menlo Park, California, USA John Rushby, SR I Introduction to SMT and Infinite

More information

SMT and Z3. Nikolaj Bjørner Microsoft Research ReRISE Winter School, Linz, Austria February 5, 2014

SMT and Z3. Nikolaj Bjørner Microsoft Research ReRISE Winter School, Linz, Austria February 5, 2014 SMT and Z3 Nikolaj Bjørner Microsoft Research ReRISE Winter School, Linz, Austria February 5, 2014 Plan Mon An invitation to SMT with Z3 Tue Equalities and Theory Combination Wed Theories: Arithmetic,

More information

Automated Proving in Geometry using Gröbner Bases in Isabelle/HOL

Automated Proving in Geometry using Gröbner Bases in Isabelle/HOL Automated Proving in Geometry using Gröbner Bases in Isabelle/HOL Danijela Petrović Faculty of Mathematics, University of Belgrade, Serbia Abstract. For several decades, algebraic method have been successfully

More information

Program Composition in Isabelle/UNITY

Program Composition in Isabelle/UNITY Program Composition in Isabelle/UNITY Sidi O. Ehmety and Lawrence C. Paulson Cambridge University Computer Laboratory J J Thomson Avenue Cambridge CB3 0FD England Tel. (44) 1223 763584 Fax. (44) 1223 334678

More information

A Termination Checker for Isabelle Hoare Logic

A Termination Checker for Isabelle Hoare Logic A Termination Checker for Isabelle Hoare Logic Jia Meng 1, Lawrence C. Paulson 2, and Gerwin Klein 3 1 National ICT Australia jia.meng@nicta.com.au 2 Computer Laboratory, University of Cambridge lp15@cam.ac.uk

More information

Mining the Archive of Formal Proofs

Mining the Archive of Formal Proofs Mining the Archive of Formal Proofs Jasmin Christian Blanchette 1,2, Maximilian Haslbeck 3, Daniel Matichuk 4,5, and Tobias Nipkow 3 1 Inria Nancy & LORIA, Villers-lès-Nancy, France 2 Max-Planck-Institut

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

A proof checking kernel for the λπ-calculus modulo

A proof checking kernel for the λπ-calculus modulo A proof checking kernel for the λπ-calculus modulo Mathieu Boespflug, École Polytechnique PhD defense, 18 january 2011 Funded by Pythia of Delphi Pythia of Delphi True False Proof implies truth. 1 1 For

More information

First-Order Theorem Proving and Vampire. Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester)

First-Order Theorem Proving and Vampire. Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester) First-Order Theorem Proving and Vampire Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester) Outline Introduction First-Order Logic and TPTP Inference Systems

More information

Satisfiability Modulo Theories (SMT)

Satisfiability Modulo Theories (SMT) Satisfiability Modulo Theories (SMT) Sylvain Conchon Cours 7 / 9 avril 2014 1 Road map The SMT problem Modern efficient SAT solvers CDCL(T) Examples of decision procedures: equality (CC) and difference

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

Topics in Model-Based Reasoning

Topics in Model-Based Reasoning Towards Integration of Proving and Solving Dipartimento di Informatica Università degli Studi di Verona Verona, Italy March, 2014 Automated reasoning Artificial Intelligence Automated Reasoning Computational

More information

Theorem Proving beyond Deduction

Theorem Proving beyond Deduction Theorem Proving beyond Deduction Specification and Verification with Higher-Order Logic Arnd Poetzsch-Heffter (Slides by Jens Brandt) Software Technology Group Fachbereich Informatik Technische Universität

More information