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
© Copyright 2024 Paperzz