SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
The solver
David Déharbe, Pablo Federico Dobal,
Pascal Fontaine, . . .
VeriDis
4 octobre 2013 1 / 7
SAT and SMT solvers : what can they do for you
Automated reasoning, constraint solving
Reason on (reasonably large) sets of facts
Depending on the facts, more or less expressivity is required
E.g. Sudokus can be expressed in SAT logic
Besides solving puzzles, SAT/SMT solvers are used for :
planning
configuration checking
placement
model checking
formal verification
. . .
4 octobre 2013 2 / 7
Using a SAT solver : a toy example
1
3
2
2
“or” : ∨
“and” : ∧
negation : ¬
line i, column j, there is x (pi,j,x)
4 octobre 2013 3 / 7
Using a SAT solver : a toy example
1
3
2
2
“or” : ∨
“and” : ∧
negation : ¬
line i, column j, there is x (pi,j,x)
Line 1, column 1, there is “1” :
4 octobre 2013 3 / 7
Using a SAT solver : a toy example
1
3
2
2
“or” : ∨
“and” : ∧
negation : ¬
line i, column j, there is x (pi,j,x)
Line 1, column 1, there is “1” : p1,1,1
4 octobre 2013 3 / 7
Using a SAT solver : a toy example
1
3
2
2
“or” : ∨
“and” : ∧
negation : ¬
line i, column j, there is x (pi,j,x)
Line 1, column 1, there is “1” : p1,1,1
Line 2, column 4, there is “3” :
4 octobre 2013 3 / 7
Using a SAT solver : a toy example
1
3
2
2
“or” : ∨
“and” : ∧
negation : ¬
line i, column j, there is x (pi,j,x)
Line 1, column 1, there is “1” : p1,1,1
Line 2, column 4, there is “3” : p2,4,3
4 octobre 2013 3 / 7
Using a SAT solver : a toy example
1
3
2
2
“or” : ∨
“and” : ∧
negation : ¬
line i, column j, there is x (pi,j,x)
Line 1, column 1, there is “1” : p1,1,1
Line 2, column 4, there is “3” : p2,4,3
At position (1, 2), there is only one number
4 octobre 2013 3 / 7
Using a SAT solver : a toy example
1
3
2
2
“or” : ∨
“and” : ∧
negation : ¬
line i, column j, there is x (pi,j,x)
Line 1, column 1, there is “1” : p1,1,1
Line 2, column 4, there is “3” : p2,4,3
At position (1, 2), there is only one number
¬p1,2,1 ∨ ¬p1,2,2
¬p1,2,1 ∨ ¬p1,2,3
¬p1,2,1 ∨ ¬p1,2,4
¬p1,2,2 ∨ ¬p1,2,3
¬p1,2,2 ∨ ¬p1,2,4
¬p1,2,3 ∨ ¬p1,2,4
4 octobre 2013 3 / 7
Using a SAT solver : a toy example
1
3
2
2
“or” : ∨
“and” : ∧
negation : ¬
line i, column j, there is x (pi,j,x)
4 octobre 2013 4 / 7
Using a SAT solver : a toy example
1
3
2
2
“or” : ∨
“and” : ∧
negation : ¬
line i, column j, there is x (pi,j,x)
At position (1, 2), there is either 1, 2, 3, or 4
4 octobre 2013 4 / 7
Using a SAT solver : a toy example
1
3
2
2
“or” : ∨
“and” : ∧
negation : ¬
line i, column j, there is x (pi,j,x)
At position (1, 2), there is either 1, 2, 3, or 4
p1,2,1 ∨ p1,2,2 ∨ p1,2,3 ∨ p1,2,4
4 octobre 2013 4 / 7
Using a SAT solver : a toy example
1
3
2
2
“or” : ∨
“and” : ∧
negation : ¬
line i, column j, there is x (pi,j,x)
At position (1, 2), there is either 1, 2, 3, or 4
p1,2,1 ∨ p1,2,2 ∨ p1,2,3 ∨ p1,2,4
Number “1” should be somewhere on line 1
4 octobre 2013 4 / 7
Using a SAT solver : a toy example
1
3
2
2
“or” : ∨
“and” : ∧
negation : ¬
line i, column j, there is x (pi,j,x)
At position (1, 2), there is either 1, 2, 3, or 4
p1,2,1 ∨ p1,2,2 ∨ p1,2,3 ∨ p1,2,4
Number “1” should be somewhere on line 1
p1,1,1 ∨ p1,2,1 ∨ p1,3,1 ∨ p1,4,1
4 octobre 2013 4 / 7
Using a SAT solver : a toy example
1
3
2
2
“or” : ∨
“and” : ∧
negation : ¬
line i, column j, there is x (pi,j,x)
At position (1, 2), there is either 1, 2, 3, or 4
p1,2,1 ∨ p1,2,2 ∨ p1,2,3 ∨ p1,2,4
Number “1” should be somewhere on line 1
p1,1,1 ∨ p1,2,1 ∨ p1,3,1 ∨ p1,4,1
Number “1” should be at most once on line 1
4 octobre 2013 4 / 7
Using a SAT solver : a toy example
1
3
2
2
“or” : ∨
“and” : ∧
negation : ¬
line i, column j, there is x (pi,j,x)
At position (1, 2), there is either 1, 2, 3, or 4
p1,2,1 ∨ p1,2,2 ∨ p1,2,3 ∨ p1,2,4
Number “1” should be somewhere on line 1
p1,1,1 ∨ p1,2,1 ∨ p1,3,1 ∨ p1,4,1
Number “1” should be at most once on line 1
¬p1,1,1 ∨ ¬p1,2,1
¬p1,1,1 ∨ ¬p1,3,1
¬p1,1,1 ∨ ¬p1,4,1
¬p1,2,1 ∨ ¬p1,3,1
¬p1,2,1 ∨ ¬p1,4,1
¬p1,3,1 ∨ ¬p1,4,1
4 octobre 2013 4 / 7
SMT = SAT + expressiveness
SAT solvers
¬ (p ⇒ q) ⇒ (¬p ⇒ q) ⇒ q
Congruence closure (uninterpreted symbols + equality)
a = b ∧ f(a) = f(b) ∨ (p(a) ∧ ¬p(b))
adding arithmetic
a ≤ b ∧ b ≤ a + x ∧ x = 0 ∧ f(a) = f(b) ∨ (p(a) ∧ ¬p(b + x))
. . .
Some examples : Barcelogic, CVC4 (SVC, CVC, CVC-lite, CVC3),
MathSAT, OpenSMT, Yices, Z3 . . .
The solver
4 octobre 2013 5 / 7
SMT internals
SMT formula
SMT solver
4 octobre 2013 6 / 7
SMT internals
SMT formula
SMT solver
SAT solver
4 octobre 2013 6 / 7
SMT internals
SMT formula
SMT solver
Boolean Model
SAT solver
4 octobre 2013 6 / 7
SMT internals
SMT formula
SMT solver
Boolean Model
Theory
reasoner
SAT solver
4 octobre 2013 6 / 7
SMT internals
SMT formula
SMT solver
Boolean Model
Conflict clause
Theory
reasoner
SAT solver
4 octobre 2013 6 / 7
SMT internals
SMT formula
SMT solver
Quantifier-free SMT solver
Boolean Model
Conflict clause
Theory
reasoner
SAT solver
4 octobre 2013 6 / 7
SMT internals
SMT formula
SMT solver
Quantifier-free SMT solver
Boolean Model
Conflict clause
Theory
reasoner
SAT solver
Model
4 octobre 2013 6 / 7
SMT internals
SMT formula
SMT solver
Quantifier-free SMT solver
Boolean Model
Conflict clause
Theory
reasoner
SAT solver
Instantiation
module
Instance
Model
4 octobre 2013 6 / 7
SMT internals
SMT formula
SMT solver
Quantifier-free SMT solver
Boolean Model
Conflict clause
Theory
reasoner
SAT solver
Instantiation
module
Instance
Model
Model UNSAT (proof/core)
4 octobre 2013 6 / 7
Conclusion
Reasoning on large formulas with arithmetic, functions, equalities,. . .
Applications
planning
placement
bounded model-checking
verification
. . .
The solver
http://www.verit-solver.org
BSD license
4 octobre 2013 7 / 7

Contenu connexe

Tendances

SRS presentation - Stanley Depth
SRS presentation - Stanley DepthSRS presentation - Stanley Depth
SRS presentation - Stanley DepthAJ Joshi
 
ملزمة الرياضيات للصف السادس التطبيقي الفصل الاول الاعداد المركبة 2022
 ملزمة الرياضيات للصف السادس التطبيقي الفصل الاول الاعداد المركبة 2022 ملزمة الرياضيات للصف السادس التطبيقي الفصل الاول الاعداد المركبة 2022
ملزمة الرياضيات للصف السادس التطبيقي الفصل الاول الاعداد المركبة 2022anasKhalaf4
 
Stdlib functions lesson
Stdlib functions lessonStdlib functions lesson
Stdlib functions lessonteach4uin
 
Math 4 graphing rational functions
Math 4 graphing rational functionsMath 4 graphing rational functions
Math 4 graphing rational functionsLeo Crisologo
 
3.4 looking for real roots of real polynomials t
3.4 looking for real roots of real polynomials t3.4 looking for real roots of real polynomials t
3.4 looking for real roots of real polynomials tmath260
 
Logarithms
LogarithmsLogarithms
Logarithmssupoteta
 
Polycycles and their elementary decompositions
Polycycles and their elementary decompositionsPolycycles and their elementary decompositions
Polycycles and their elementary decompositionsMathieu Dutour Sikiric
 
1.5 algebraic and elementary functions
1.5 algebraic and elementary functions1.5 algebraic and elementary functions
1.5 algebraic and elementary functionsmath265
 
Loss Calibrated Variational Inference
Loss Calibrated Variational InferenceLoss Calibrated Variational Inference
Loss Calibrated Variational InferenceTomasz Kusmierczyk
 
Polynomial functions
Polynomial functionsPolynomial functions
Polynomial functionsLeo Crisologo
 
1.3 sign charts and inequalities
1.3 sign charts and inequalities1.3 sign charts and inequalities
1.3 sign charts and inequalitiesmath123c
 

Tendances (16)

Vertex cover Problem
Vertex cover ProblemVertex cover Problem
Vertex cover Problem
 
Mathematical Statistics Homework Help
Mathematical Statistics Homework HelpMathematical Statistics Homework Help
Mathematical Statistics Homework Help
 
Algorithm Assignment Help
Algorithm Assignment HelpAlgorithm Assignment Help
Algorithm Assignment Help
 
SRS presentation - Stanley Depth
SRS presentation - Stanley DepthSRS presentation - Stanley Depth
SRS presentation - Stanley Depth
 
ملزمة الرياضيات للصف السادس التطبيقي الفصل الاول الاعداد المركبة 2022
 ملزمة الرياضيات للصف السادس التطبيقي الفصل الاول الاعداد المركبة 2022 ملزمة الرياضيات للصف السادس التطبيقي الفصل الاول الاعداد المركبة 2022
ملزمة الرياضيات للصف السادس التطبيقي الفصل الاول الاعداد المركبة 2022
 
Enumeration of 2-level polytopes
Enumeration of 2-level polytopesEnumeration of 2-level polytopes
Enumeration of 2-level polytopes
 
Stdlib functions lesson
Stdlib functions lessonStdlib functions lesson
Stdlib functions lesson
 
Math 4 graphing rational functions
Math 4 graphing rational functionsMath 4 graphing rational functions
Math 4 graphing rational functions
 
Ch04
Ch04Ch04
Ch04
 
3.4 looking for real roots of real polynomials t
3.4 looking for real roots of real polynomials t3.4 looking for real roots of real polynomials t
3.4 looking for real roots of real polynomials t
 
Logarithms
LogarithmsLogarithms
Logarithms
 
Polycycles and their elementary decompositions
Polycycles and their elementary decompositionsPolycycles and their elementary decompositions
Polycycles and their elementary decompositions
 
1.5 algebraic and elementary functions
1.5 algebraic and elementary functions1.5 algebraic and elementary functions
1.5 algebraic and elementary functions
 
Loss Calibrated Variational Inference
Loss Calibrated Variational InferenceLoss Calibrated Variational Inference
Loss Calibrated Variational Inference
 
Polynomial functions
Polynomial functionsPolynomial functions
Polynomial functions
 
1.3 sign charts and inequalities
1.3 sign charts and inequalities1.3 sign charts and inequalities
1.3 sign charts and inequalities
 

En vedette

3574 Med 0911 Afb Depliant A
3574 Med 0911 Afb Depliant A3574 Med 0911 Afb Depliant A
3574 Med 0911 Afb Depliant Ajm h
 
Curso contaminación atmosférica y acústica
Curso contaminación atmosférica y acústicaCurso contaminación atmosférica y acústica
Curso contaminación atmosférica y acústicaEuroinnova Formación
 
Le mercure dans les ampoules à basse consommation
Le mercure dans les ampoules à basse consommationLe mercure dans les ampoules à basse consommation
Le mercure dans les ampoules à basse consommationGreenFacts
 

En vedette (7)

GENERATION Y ET UNIVERSITE 2.0
GENERATION Y ET UNIVERSITE 2.0GENERATION Y ET UNIVERSITE 2.0
GENERATION Y ET UNIVERSITE 2.0
 
3574 Med 0911 Afb Depliant A
3574 Med 0911 Afb Depliant A3574 Med 0911 Afb Depliant A
3574 Med 0911 Afb Depliant A
 
Venezia
VeneziaVenezia
Venezia
 
La Meuse 121027
La Meuse 121027La Meuse 121027
La Meuse 121027
 
PNC Branch Bank
PNC Branch BankPNC Branch Bank
PNC Branch Bank
 
Curso contaminación atmosférica y acústica
Curso contaminación atmosférica y acústicaCurso contaminación atmosférica y acústica
Curso contaminación atmosférica y acústica
 
Le mercure dans les ampoules à basse consommation
Le mercure dans les ampoules à basse consommationLe mercure dans les ampoules à basse consommation
Le mercure dans les ampoules à basse consommation
 

Similaire à SAT SMT solvers explained for constraint solving

Introduction to probability solutions manual
Introduction to probability   solutions manualIntroduction to probability   solutions manual
Introduction to probability solutions manualKibria Prangon
 
Lecture-1-Probability-Theory-Part-1.pdf
Lecture-1-Probability-Theory-Part-1.pdfLecture-1-Probability-Theory-Part-1.pdf
Lecture-1-Probability-Theory-Part-1.pdfMICAHJAMELLEICAWAT1
 
Orthogonal basis and gram schmidth process
Orthogonal basis and gram schmidth processOrthogonal basis and gram schmidth process
Orthogonal basis and gram schmidth processgidc engineering college
 
Fear and loathing with APL (oredev)
Fear and loathing with APL (oredev)Fear and loathing with APL (oredev)
Fear and loathing with APL (oredev)Yan Cui
 
Discrete Math IP4 - Automata Theory
Discrete Math IP4 - Automata TheoryDiscrete Math IP4 - Automata Theory
Discrete Math IP4 - Automata TheoryMark Simon
 
Heuristics slides 321
Heuristics slides 321Heuristics slides 321
Heuristics slides 321Moe Tmz
 
Heuristics
HeuristicsHeuristics
HeuristicsMoe Tmz
 
Ip 5 discrete mathematics
Ip 5 discrete mathematicsIp 5 discrete mathematics
Ip 5 discrete mathematicsMark Simon
 
Discrete mathematic question answers
Discrete mathematic question answersDiscrete mathematic question answers
Discrete mathematic question answersSamet öztoprak
 
Discrete probability
Discrete probabilityDiscrete probability
Discrete probabilityRanjan Kumar
 
BIN PACKING PROBLEM: A LINEAR CONSTANTSPACE  -APPROXIMATION ALGORITHM
BIN PACKING PROBLEM: A LINEAR CONSTANTSPACE  -APPROXIMATION ALGORITHMBIN PACKING PROBLEM: A LINEAR CONSTANTSPACE  -APPROXIMATION ALGORITHM
BIN PACKING PROBLEM: A LINEAR CONSTANTSPACE  -APPROXIMATION ALGORITHMijcsa
 
11 x1 t15 05 polynomial results (2013)
11 x1 t15 05 polynomial results (2013)11 x1 t15 05 polynomial results (2013)
11 x1 t15 05 polynomial results (2013)Nigel Simmons
 
Algebra 2 Section 2-5
Algebra 2 Section 2-5Algebra 2 Section 2-5
Algebra 2 Section 2-5Jimbo Lamb
 

Similaire à SAT SMT solvers explained for constraint solving (20)

PRP - Unit 1.pptx
PRP - Unit 1.pptxPRP - Unit 1.pptx
PRP - Unit 1.pptx
 
Asymptote Curve I
Asymptote Curve IAsymptote Curve I
Asymptote Curve I
 
Introduction to probability solutions manual
Introduction to probability   solutions manualIntroduction to probability   solutions manual
Introduction to probability solutions manual
 
Lecture-1-Probability-Theory-Part-1.pdf
Lecture-1-Probability-Theory-Part-1.pdfLecture-1-Probability-Theory-Part-1.pdf
Lecture-1-Probability-Theory-Part-1.pdf
 
Orthogonal basis and gram schmidth process
Orthogonal basis and gram schmidth processOrthogonal basis and gram schmidth process
Orthogonal basis and gram schmidth process
 
Fear and loathing with APL (oredev)
Fear and loathing with APL (oredev)Fear and loathing with APL (oredev)
Fear and loathing with APL (oredev)
 
PROBABILITY THEORIES.pptx
PROBABILITY THEORIES.pptxPROBABILITY THEORIES.pptx
PROBABILITY THEORIES.pptx
 
Discrete Math IP4 - Automata Theory
Discrete Math IP4 - Automata TheoryDiscrete Math IP4 - Automata Theory
Discrete Math IP4 - Automata Theory
 
Heuristics slides 321
Heuristics slides 321Heuristics slides 321
Heuristics slides 321
 
Heuristics
HeuristicsHeuristics
Heuristics
 
Lect14
Lect14Lect14
Lect14
 
pushdown automata
pushdown automatapushdown automata
pushdown automata
 
Ip 5 discrete mathematics
Ip 5 discrete mathematicsIp 5 discrete mathematics
Ip 5 discrete mathematics
 
Discrete mathematic question answers
Discrete mathematic question answersDiscrete mathematic question answers
Discrete mathematic question answers
 
Discrete probability
Discrete probabilityDiscrete probability
Discrete probability
 
BIN PACKING PROBLEM: A LINEAR CONSTANTSPACE  -APPROXIMATION ALGORITHM
BIN PACKING PROBLEM: A LINEAR CONSTANTSPACE  -APPROXIMATION ALGORITHMBIN PACKING PROBLEM: A LINEAR CONSTANTSPACE  -APPROXIMATION ALGORITHM
BIN PACKING PROBLEM: A LINEAR CONSTANTSPACE  -APPROXIMATION ALGORITHM
 
11 x1 t15 05 polynomial results (2013)
11 x1 t15 05 polynomial results (2013)11 x1 t15 05 polynomial results (2013)
11 x1 t15 05 polynomial results (2013)
 
Algebra 2 Section 2-5
Algebra 2 Section 2-5Algebra 2 Section 2-5
Algebra 2 Section 2-5
 
Mathematics
MathematicsMathematics
Mathematics
 
Mathematics
MathematicsMathematics
Mathematics
 

Plus de Patrick MOREAU

Aristote reproductibilite des resultats
Aristote reproductibilite des resultatsAristote reproductibilite des resultats
Aristote reproductibilite des resultatsPatrick MOREAU
 
Captronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteeCaptronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteePatrick MOREAU
 
Owf 2013 rii why paskevich speaker3
Owf 2013 rii why paskevich speaker3Owf 2013 rii why paskevich speaker3
Owf 2013 rii why paskevich speaker3Patrick MOREAU
 
Owf 2013 rii panorama leroy
Owf 2013 rii panorama leroyOwf 2013 rii panorama leroy
Owf 2013 rii panorama leroyPatrick MOREAU
 
Owf 2013 rii intro moreau
Owf 2013 rii intro moreauOwf 2013 rii intro moreau
Owf 2013 rii intro moreauPatrick MOREAU
 
Owf 2013 rii coccinelle muller speaker 1
Owf 2013 rii coccinelle muller speaker 1Owf 2013 rii coccinelle muller speaker 1
Owf 2013 rii coccinelle muller speaker 1Patrick MOREAU
 
Owf 2013 rii alter go speaker 5
Owf 2013 rii alter go speaker 5 Owf 2013 rii alter go speaker 5
Owf 2013 rii alter go speaker 5 Patrick MOREAU
 
Owf 2013 rii moose speaker 2
Owf 2013 rii moose speaker 2Owf 2013 rii moose speaker 2
Owf 2013 rii moose speaker 2Patrick MOREAU
 

Plus de Patrick MOREAU (8)

Aristote reproductibilite des resultats
Aristote reproductibilite des resultatsAristote reproductibilite des resultats
Aristote reproductibilite des resultats
 
Captronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteeCaptronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presentee
 
Owf 2013 rii why paskevich speaker3
Owf 2013 rii why paskevich speaker3Owf 2013 rii why paskevich speaker3
Owf 2013 rii why paskevich speaker3
 
Owf 2013 rii panorama leroy
Owf 2013 rii panorama leroyOwf 2013 rii panorama leroy
Owf 2013 rii panorama leroy
 
Owf 2013 rii intro moreau
Owf 2013 rii intro moreauOwf 2013 rii intro moreau
Owf 2013 rii intro moreau
 
Owf 2013 rii coccinelle muller speaker 1
Owf 2013 rii coccinelle muller speaker 1Owf 2013 rii coccinelle muller speaker 1
Owf 2013 rii coccinelle muller speaker 1
 
Owf 2013 rii alter go speaker 5
Owf 2013 rii alter go speaker 5 Owf 2013 rii alter go speaker 5
Owf 2013 rii alter go speaker 5
 
Owf 2013 rii moose speaker 2
Owf 2013 rii moose speaker 2Owf 2013 rii moose speaker 2
Owf 2013 rii moose speaker 2
 

Dernier

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 

Dernier (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 

SAT SMT solvers explained for constraint solving

  • 1. The solver David Déharbe, Pablo Federico Dobal, Pascal Fontaine, . . . VeriDis 4 octobre 2013 1 / 7
  • 2. SAT and SMT solvers : what can they do for you Automated reasoning, constraint solving Reason on (reasonably large) sets of facts Depending on the facts, more or less expressivity is required E.g. Sudokus can be expressed in SAT logic Besides solving puzzles, SAT/SMT solvers are used for : planning configuration checking placement model checking formal verification . . . 4 octobre 2013 2 / 7
  • 3. Using a SAT solver : a toy example 1 3 2 2 “or” : ∨ “and” : ∧ negation : ¬ line i, column j, there is x (pi,j,x) 4 octobre 2013 3 / 7
  • 4. Using a SAT solver : a toy example 1 3 2 2 “or” : ∨ “and” : ∧ negation : ¬ line i, column j, there is x (pi,j,x) Line 1, column 1, there is “1” : 4 octobre 2013 3 / 7
  • 5. Using a SAT solver : a toy example 1 3 2 2 “or” : ∨ “and” : ∧ negation : ¬ line i, column j, there is x (pi,j,x) Line 1, column 1, there is “1” : p1,1,1 4 octobre 2013 3 / 7
  • 6. Using a SAT solver : a toy example 1 3 2 2 “or” : ∨ “and” : ∧ negation : ¬ line i, column j, there is x (pi,j,x) Line 1, column 1, there is “1” : p1,1,1 Line 2, column 4, there is “3” : 4 octobre 2013 3 / 7
  • 7. Using a SAT solver : a toy example 1 3 2 2 “or” : ∨ “and” : ∧ negation : ¬ line i, column j, there is x (pi,j,x) Line 1, column 1, there is “1” : p1,1,1 Line 2, column 4, there is “3” : p2,4,3 4 octobre 2013 3 / 7
  • 8. Using a SAT solver : a toy example 1 3 2 2 “or” : ∨ “and” : ∧ negation : ¬ line i, column j, there is x (pi,j,x) Line 1, column 1, there is “1” : p1,1,1 Line 2, column 4, there is “3” : p2,4,3 At position (1, 2), there is only one number 4 octobre 2013 3 / 7
  • 9. Using a SAT solver : a toy example 1 3 2 2 “or” : ∨ “and” : ∧ negation : ¬ line i, column j, there is x (pi,j,x) Line 1, column 1, there is “1” : p1,1,1 Line 2, column 4, there is “3” : p2,4,3 At position (1, 2), there is only one number ¬p1,2,1 ∨ ¬p1,2,2 ¬p1,2,1 ∨ ¬p1,2,3 ¬p1,2,1 ∨ ¬p1,2,4 ¬p1,2,2 ∨ ¬p1,2,3 ¬p1,2,2 ∨ ¬p1,2,4 ¬p1,2,3 ∨ ¬p1,2,4 4 octobre 2013 3 / 7
  • 10. Using a SAT solver : a toy example 1 3 2 2 “or” : ∨ “and” : ∧ negation : ¬ line i, column j, there is x (pi,j,x) 4 octobre 2013 4 / 7
  • 11. Using a SAT solver : a toy example 1 3 2 2 “or” : ∨ “and” : ∧ negation : ¬ line i, column j, there is x (pi,j,x) At position (1, 2), there is either 1, 2, 3, or 4 4 octobre 2013 4 / 7
  • 12. Using a SAT solver : a toy example 1 3 2 2 “or” : ∨ “and” : ∧ negation : ¬ line i, column j, there is x (pi,j,x) At position (1, 2), there is either 1, 2, 3, or 4 p1,2,1 ∨ p1,2,2 ∨ p1,2,3 ∨ p1,2,4 4 octobre 2013 4 / 7
  • 13. Using a SAT solver : a toy example 1 3 2 2 “or” : ∨ “and” : ∧ negation : ¬ line i, column j, there is x (pi,j,x) At position (1, 2), there is either 1, 2, 3, or 4 p1,2,1 ∨ p1,2,2 ∨ p1,2,3 ∨ p1,2,4 Number “1” should be somewhere on line 1 4 octobre 2013 4 / 7
  • 14. Using a SAT solver : a toy example 1 3 2 2 “or” : ∨ “and” : ∧ negation : ¬ line i, column j, there is x (pi,j,x) At position (1, 2), there is either 1, 2, 3, or 4 p1,2,1 ∨ p1,2,2 ∨ p1,2,3 ∨ p1,2,4 Number “1” should be somewhere on line 1 p1,1,1 ∨ p1,2,1 ∨ p1,3,1 ∨ p1,4,1 4 octobre 2013 4 / 7
  • 15. Using a SAT solver : a toy example 1 3 2 2 “or” : ∨ “and” : ∧ negation : ¬ line i, column j, there is x (pi,j,x) At position (1, 2), there is either 1, 2, 3, or 4 p1,2,1 ∨ p1,2,2 ∨ p1,2,3 ∨ p1,2,4 Number “1” should be somewhere on line 1 p1,1,1 ∨ p1,2,1 ∨ p1,3,1 ∨ p1,4,1 Number “1” should be at most once on line 1 4 octobre 2013 4 / 7
  • 16. Using a SAT solver : a toy example 1 3 2 2 “or” : ∨ “and” : ∧ negation : ¬ line i, column j, there is x (pi,j,x) At position (1, 2), there is either 1, 2, 3, or 4 p1,2,1 ∨ p1,2,2 ∨ p1,2,3 ∨ p1,2,4 Number “1” should be somewhere on line 1 p1,1,1 ∨ p1,2,1 ∨ p1,3,1 ∨ p1,4,1 Number “1” should be at most once on line 1 ¬p1,1,1 ∨ ¬p1,2,1 ¬p1,1,1 ∨ ¬p1,3,1 ¬p1,1,1 ∨ ¬p1,4,1 ¬p1,2,1 ∨ ¬p1,3,1 ¬p1,2,1 ∨ ¬p1,4,1 ¬p1,3,1 ∨ ¬p1,4,1 4 octobre 2013 4 / 7
  • 17. SMT = SAT + expressiveness SAT solvers ¬ (p ⇒ q) ⇒ (¬p ⇒ q) ⇒ q Congruence closure (uninterpreted symbols + equality) a = b ∧ f(a) = f(b) ∨ (p(a) ∧ ¬p(b)) adding arithmetic a ≤ b ∧ b ≤ a + x ∧ x = 0 ∧ f(a) = f(b) ∨ (p(a) ∧ ¬p(b + x)) . . . Some examples : Barcelogic, CVC4 (SVC, CVC, CVC-lite, CVC3), MathSAT, OpenSMT, Yices, Z3 . . . The solver 4 octobre 2013 5 / 7
  • 18. SMT internals SMT formula SMT solver 4 octobre 2013 6 / 7
  • 19. SMT internals SMT formula SMT solver SAT solver 4 octobre 2013 6 / 7
  • 20. SMT internals SMT formula SMT solver Boolean Model SAT solver 4 octobre 2013 6 / 7
  • 21. SMT internals SMT formula SMT solver Boolean Model Theory reasoner SAT solver 4 octobre 2013 6 / 7
  • 22. SMT internals SMT formula SMT solver Boolean Model Conflict clause Theory reasoner SAT solver 4 octobre 2013 6 / 7
  • 23. SMT internals SMT formula SMT solver Quantifier-free SMT solver Boolean Model Conflict clause Theory reasoner SAT solver 4 octobre 2013 6 / 7
  • 24. SMT internals SMT formula SMT solver Quantifier-free SMT solver Boolean Model Conflict clause Theory reasoner SAT solver Model 4 octobre 2013 6 / 7
  • 25. SMT internals SMT formula SMT solver Quantifier-free SMT solver Boolean Model Conflict clause Theory reasoner SAT solver Instantiation module Instance Model 4 octobre 2013 6 / 7
  • 26. SMT internals SMT formula SMT solver Quantifier-free SMT solver Boolean Model Conflict clause Theory reasoner SAT solver Instantiation module Instance Model Model UNSAT (proof/core) 4 octobre 2013 6 / 7
  • 27. Conclusion Reasoning on large formulas with arithmetic, functions, equalities,. . . Applications planning placement bounded model-checking verification . . . The solver http://www.verit-solver.org BSD license 4 octobre 2013 7 / 7