Towards Higher-Order Superposition and SMT. Jasmin Blanchette
|
|
- Rosalind Porter
- 5 years ago
- Views:
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 Simon Cruanes, Jasmin Blanchette, Andrew Reynolds Veridis, Inria Nancy https://cedeela.fr/~simon/ April 7th, 2016 1 / 21 Summary Introduction Nunchaku
More informationInteractive 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 informationAnalyse 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 informationModel 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 informationScalable 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 informationNICTA 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 informationInteractive 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 informationQuantifier 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 informationarxiv: 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 informationConstraint 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 informationAutomated 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 informationProof 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 informationSolving 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 informationCode 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 informationThe 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 informationRewriting 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 informationM 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 informationAnselm 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 informationMP 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 informationA 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 informationImperative 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 informationSMT 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 informationFormal 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 informationA 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 informationPretending 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 information12th 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 informationA 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 informationAutomated 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 informationCombined 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 informationTowards 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 informationBoolean 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 informationBeyond 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 informationSystematic 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 informationLCF + 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 informationFinding 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 informationHierarchic 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 informationSAT/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 informationArgoCaLyPso 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 informationHierarchic 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 informationProving 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 informationFirst-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 informationComputational 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 informationNo 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 informationMenger'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 informationCombinations 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 informationInductive 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 informationReasoning 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 informationHammering 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 informationLazy 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 informationValidating 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 informationSuperposition 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 informationAnalysing 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 informationThe 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 informationComputer-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 informationMajority 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 informationAutomated 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 informationBounded 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 informationFinite 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 informationAgent-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 informationToward 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 informationThe 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 informationProgramming 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 informationStructuring 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 informationMiscellaneous 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 informationA 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 informationAn 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 informationOrdinals 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 informationMuch 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 informationSledgehammer: 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 informationVerified 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 informationThe 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 informationInteractive 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 informationVinter: 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 informationSolving 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 informationFormal 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 informationIsabelle/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 informationProgram-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 informationAutomated 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 informationAn 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 informationNominal 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 informationAn 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 informationA 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 informationIntroduction 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 informationThe 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 informationPositional 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 informationIntroduction 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 informationSMT 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 informationAutomated 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 informationProgram 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 informationA 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 informationMining 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 informationThe 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 informationA 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 informationFirst-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 informationSatisfiability 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 informationAn 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 informationTopics 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 informationTheorem 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