ppt

Automated Reasoning SS08
Christoph Weidenbach
Content
Linear
Arithmetic
Logic
Calculus
Algorithms
First-Order Logic
+
Theories
SUP(T)
Coupling
First-Order Logic
Superposition
Indexing, Sharing,
Filtering
Propositional Logic
+
Theories
DPLL(T)
Coupling
Propositional Logic
DPLL
2-Watch, Learning
Christoph Weidenbach
Automated Reasoning SS08
Propositional Logic
P
Q
&
1
&
R
Christoph Weidenbach
1
Automated Reasoning SS08
Hardware
• Industrial Processor Verification: 14-cycle Model Checking
• 1Mio Variables, 10 Mio Literals, 4 Mio Clauses
• 3 hours run time (2004)
Christoph Weidenbach
Automated Reasoning SS08
SUDOKU
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
Christoph Weidenbach
Automated Reasoning SS08
Summary
• propositional logic is suitable to represent finite domains
• software: restrict all variables to finite domain
• hardware: restrict number of cycles
• suitable to test problems with thousands of variables
• Limits: infinite domains or “calculations”, i.e.,
mathematical structure
Christoph Weidenbach
Automated Reasoning SS08
Propositional Logic + T
Christoph Weidenbach
Automated Reasoning SS08
Dutch Soccer League
•
•
•
•
•
if Eindhoven and Amsterdam play on the same day the TV income is x
If Eindhoven and Amsterdam play on two different days, the income is 2x
if a team plays on Wednesday champions league it doesn’t play on Friday
there are at most 3 plays on Friday
….. in sum several thousand constraints over LP and Boolean variables
•
League is modelled by the Barcelogic tool
Christoph Weidenbach
Automated Reasoning SS08
Transition Systems
Christoph Weidenbach
Automated Reasoning SS08
Summary
• propositional logic + T can also represent aspects of infinite theories
• for the “meta algorithm” for the theory often “nice” properties are needed
• bottleneck often the solver for T
• Limits: quantification and “free” structures beyond boolean combinations
Christoph Weidenbach
Automated Reasoning SS08
First-Order Logic
All professors love squeezing all students.
Chris is a professor.
Christoph Weidenbach
Automated Reasoning SS08
SUDOKU
9
5
7
2, 3, 4
1, 4, 6, 8
Christoph Weidenbach
Automated Reasoning SS08
SUDOKU
Christoph Weidenbach
Automated Reasoning SS08
SUDOKU
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
7
8
9
Christoph Weidenbach
Automated Reasoning SS08
SUDOKU
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
7
8
9
Christoph Weidenbach
Automated Reasoning SS08
LAN Router
Sent(epacket(incoming-net, router-mac, src-mac, e-ip,
ippacket(ip-src, ip-dst, ip-proto, ip-data))))
RouteEntry(route(router,dst-netmask,dst-net-addr,outgoing-net))
ipand(ip-dst,dst-netmask) dst-net-addr
Sent(epacket(outgoing-net, dst-mac, src-mac, e-ip,
ippacket(ip-src, ip-dst, ip-proto, ip-data)))
Christoph Weidenbach
Automated Reasoning SS08
Summary
• first-order logic can model freely defined infinite theories
• inductive theories are out of scope
• incredible expressiveness
• full quantification
• Limits: undecidable (take serious), some important theories can not be
(finitely) represented
Christoph Weidenbach
Automated Reasoning SS08
First-Order Logic + T
All professors above 50 love squeezing all students.
Chris is a professor below 50.
Christoph Weidenbach
Automated Reasoning SS08
Hybrid Automata
Christoph Weidenbach
Automated Reasoning SS08
Summary
• first-order logic + T can also model aspects involving inductive theories
• adequately represent many aspects of software, hardware
• incredible incredible expressiveness
• quantification over theory variables potentially limited
• Limits: very undecidable (take serious), in general not compact, and any
calculus not complete
Christoph Weidenbach
Automated Reasoning SS08
The End: Let’s Start
Linear
Arithmetic
Logic
Calculus
Algorithms
First-Order Logic
+
Theories
SUP(T)
Coupling
First-Order Logic
Superposition
Indexing, Sharing,
Filtering
Propositional Logic
+
Theories
DPLL(T)
Coupling
Propositional Logic
DPLL
2-Watch, Learning
Christoph Weidenbach
Automated Reasoning SS08