• Aucun résultat trouvé

Proof Assistants Automated Reasoning

N/A
N/A
Protected

Academic year: 2022

Partager "Proof Assistants Automated Reasoning"

Copied!
7
0
0

Texte intégral

(1)

Proof Assistants Automated Reasoning

Guillaume Melquiond

INRIA Saclay – Île-de-France Laboratoire de Recherche en Informatique

2011-02-15

(2)

Outline

How toautomaticallyprove the numerous verification conditions produced by a weakest precondition calculus?

1 SMT Solvers Basic Concepts Supported Theories

2 Interactive Provers Dedicated Approaches Quantifier Elimination

(3)

SMT Solvers Basic Concepts

SMT Solvers

SMT = Satisfiability Modulo Theories.

Components :

a SAT solver for propositional formulas,

a heuristic for instantiating lemmas (e.g., triggers),

a way to combine theories (e.g., Nelson-Oppen algorithm),

dedicated solvers for finding contradictory literals in particular theories (e.g., omega test, simplex).

Usage for program verification: negate the goal and prove it is unsatisfiable.

(4)

SMT Solvers Basic Concepts

Propositional Solving

1 (Lazily) put the formula into CNF. (SAT)

2 Propagate any forced literal into the other disjunctions. (SAT) Does that produce an empty disjunction in the formula?

If yes, the original goal cannot be satisfied.

3 Modify the formula in one of the following ways:

1 Take a literal and add it, first as true, then as false. (SAT) Recursively handle the two new normal formulas.

2 Ask the supported theories which literals are contradictory. (SMT) Negate them and add their disjunction to the normal formula.

3 Select a lemma (syntactic: symbol occurrences). (Matching) Add its instantiation to the normal formula.

4 Go back to step 2.

(5)

SMT Solvers Supported Theories

Supported Theories

Congruence:

a=c∧f(a,b)6=f(c,d) ⇒ b6=d. Presburger’s Arithmetic:

2x +1=2y ⇒ ⊥.

Linear arithmetic over Q:

x+2y ≥5∧3x −y >2 ⇒ x >15/7.

Unbounded functional arrays:

t[i]6=t{j ←v}[i] ⇒ i =j. Lists and/or inductive types:

hd(cons(h,t)) =h.

(6)

Interactive Provers Dedicated Approaches

Interactive Provers

SAT and SMT can still be used in interactive provers through reflection/extraction and/or execution traces.

But interactive provers also offer some dedicated automations:

Prolog-like inference, ([e]autoin Coq)

automated induction, (rippling in Isabelle)

algebraic equalities, (ring andfieldin Coq) quantifier elimination.

(7)

Interactive Provers Quantifier Elimination

Quantifier Elimination

Knowing how to eliminate ∃x,V

Li (withLi literals) is enough.

Dense linear orders: x <y ⇒ ∃z, x <z <y. Presburger’s arithmetic: (Z,+,≤,k|·)

Linear arithmetic: (Q,+,≤)

Mixed linear arithmetic: (Q,+,b·c,≤) Polynomials: (C,+,×,=)

Real closed fields: (R,+,×,≤)

Note: quantifier elimination is a costly approach.

Références

Documents relatifs

Type information re- quired by the solvers is provided by a typing discipline for TLA + proof obligations, which helps us disambiguate the translation of expressions of (untyped) TLA

Comparison of the average timing results for the credential proof verification on an embedded platform, where all computations are performed in software (SW), and where a

• We define a framework that can ease the import of other techniques originally devel- oped in solvers for computing backbones of CNF formulas in the abstract procedures for

In conclusion, we have illustrated that the foundational proof certificate ap- proach to defining proof evidence can be used to define several different kinds of equational

Therefore, this chapter is organised as follows: Section 5.1 recalls the standard presentation of clause tableaux and connection tableaux for propositional logic, as well as

In spite of an identical inversion required by both logical operators, we found that universal sentences required stronger reasoning network activation than particular

2) Skewness of Probability Distributions: Figure 2 shows the probability for the most frequent repair actions of repair model CTET according to the transaction size (in number of

Thus a Cartan subalgebra h of g is abelian, and since every element of h is diagonalizable under ad, and they all commute, it follows that the adjoint representation of h on g