Fast Interactive Verification through Strong Higher-Order - - PowerPoint PPT Presentation

fast interactive verification
SMART_READER_LITE
LIVE PREVIEW

Fast Interactive Verification through Strong Higher-Order - - PowerPoint PPT Presentation

Towards Fast Interactive Verification through Strong Higher-Order Automation Jasmin Blanchette Pascal Fontaine Stephan Schulz Uwe Waldmann Vision: Take the Hard Labor out of Vision: Interactive Verification Push button automation for


slide-1
SLIDE 1

Jasmin Blanchette Pascal Fontaine Stephan Schulz Uwe Waldmann

Towards

Fast Interactive Verification

through

Strong Higher-Order Automation

slide-2
SLIDE 2

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

{} Σ

λ

Π

λ

{} Σ

Π

4

super-
 position


prover HO


SMT

solver

Discover Proof Using HO Provers

HO

slide-3
SLIDE 3

First-Order Provers via
 SLEDGEHAMMER Induction Rule Simplifier Arithmetic Procedure General Reasoner

“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)

fully automatic 5

Application: A Verified “EasyChair”

slide-4
SLIDE 4

Induction Rule Simplifier Arithmetic Procedure General Reasoner

Proof today:

fully automatic manual hints 6

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)

First-Order Provers via
 SLEDGEHAMMER

Application: A Verified “EasyChair”

“PC members cannot review papers if they have a conflict of interest”

boilerplate

slide-5
SLIDE 5

Discover Proof Using HO Provers

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)

Proof after Matryoshka:

fully automatic

Discover Proof Using HO Provers

7 missing proof

Application: A Verified “EasyChair”

{ } Σ

λ

Π

λ

{} Σ

Π

“PC members cannot review papers if they have a conflict of interest”

slide-6
SLIDE 6

Extend superposition and SMT to higher-order logic SO1. Design practical methods and heuristics based on benchmarks SO2. Conceive stratified architectures to build higher-order provers SO3. Integrate our provers into proof assistants (Isabelle, Lean, TLA+) SO4.

Our Grand Challenge

Create efficient proof calculi and higher-order provers
 targeting proof assistants and their applications to
 software and hardware development

Scientific Objectives

by fusing and extending two lines of research:
 automatic proving & interactive proving

  • 8
slide-7
SLIDE 7

SO1—Higher-Order Superposition (λSUP)

9

σ = 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 ≰ where First-order rule:

D' ⋁ t ≈ t' (D' ⋁ C' ⋁ s[t'] ≉ s')σ

SUP-Left

C' ⋁ s[u] ≉ s'

slide-8
SLIDE 8

9

σ = 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 ≰ where

σ = mgu(t, u)

We need sequences of unifiers

  • SO1—Higher-Order Superposition (λSUP)

First-order rule:

D' ⋁ t ≈ t' (D' ⋁ C' ⋁ s[t'] ≉ s')σ

SUP-Left

C' ⋁ s[u] ≉ s'

slide-9
SLIDE 9

9

D' ⋁ t ≈ t' (D' ⋁ C' ⋁ s[t'] ≉ s')σ

SUP-Left

C' ⋁ s[u] ≉ s'

σ = 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≰ ≰ where We need sequences of unifiers

  • σ = mgu(t, u)

We need higher-order term ordering

  • tσ ≰ t'σ

sσ ≰ s'σ We also want proof-assistant-style HO rewriting

  • SO1—Higher-Order Superposition (λSUP)

First-order rule:

slide-10
SLIDE 10

SO3—Stratified Architecture

11

rules FO formulas FO rules HO formulas HO main loop

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?

  • Matryoshka Prover (e.g. veriHOT)

First-Order Prover (e.g. veriT)

slide-11
SLIDE 11

SO4—Connection with Proof Assistants

14

Dependent
 Type Theory Classical
 Higher-Order Logic 
 Set Theory

Lean Isabelle/HOL TLA+

… … …

Agda HOL4 Isabelle/ZF Coq HOL Light Mizar Matita PVS Rodin (Event-B)

veriHOT HOE veriHOT HOE veriHOT HOE

slide-12
SLIDE 12

The Team

15

Associated Members:
 
 Other Collaborators:
 
 
 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ć Stephan Schulz
 Uwe Waldmann
 Haniel Barbosa
 Simon Cruanes
 Simon Robillard
 & more Adam Ncy
 Adam Adam Adam Ncy Ncy Adam Stgt SB
 Ncy Ncy Gbg

λ

m a t r y o s h k a

slide-13
SLIDE 13

http://matryoshka.gforge.inria.fr

slide-14
SLIDE 14

A lot of work has gone into engineering the individual proof assistants. Maybe too little has been into developing compositional methods and tools with a broad applicability across systems? Have we done enough for automated reasoning to be used as a tool, where it is needed, for real- life applications? Aren't we creating a FOL playground, whereas the world expects HO?