A proof-theoretical journey through programming, model checking and theorem proving
David Baelde
IT University of Copenhagen
ASL Meeting, Structural Proof Theory Session Madison, Wisconsin, April 2012
1 / 26
A proof-theoretical journey through programming, model checking and - - PowerPoint PPT Presentation
A proof-theoretical journey through programming, model checking and theorem proving David Baelde IT University of Copenhagen ASL Meeting, Structural Proof Theory Session Madison, Wisconsin, April 2012 1 / 26 Logic programming A specification
IT University of Copenhagen
1 / 26
2 / 26
3 / 26
4 / 26
5 / 26
def
6 / 26
def
7 / 26
8 / 26
9 / 26
10 / 26
11 / 26
12 / 26
def
13 / 26
def
14 / 26
◮ Natural generic rules, various ambient calculi ◮ Completeness of focused systems [Baelde & Miller ’07] ◮ Cut elimination [Baelde ’10] ◮ Game semantics for µLJ proofs [Clairambault ’09]
◮ Definitions (SH 93, MM 00, MT 03) ◮ Type theory (Mendler 91, Matthes 99, Paulin) ◮ Cyclic proofs (. . . Santocanale 01, Brotherston 05) ◮ µ-calculus, Kleene algebras. . .
15 / 26
◮ Interactive theorem provers for µLJ ◮ Extensions for reasoning about binding (esp. Abella) ◮ Tac: automated focused (co)inductive theorem proving
◮ “model checking” over syntactic specifications ◮ finite behavior proofs, “prolog + exhaustive case analyses” ◮ example: bisimulation checker for π, spi (Miller & Tiu, Tiu) ◮ tabling and cyclic proofs
16 / 26
17 / 26
◮ Independently checkable certificates ◮ Not too ad-hoc, composable: proofs ◮ Compute: run a certificate on examples (synthesis) ◮ Interoperate: mix automatic and interactive theorem proving,
◮ Completeness, decidability results, proof structures ◮ More algebraic viewpoint on automata techniques
18 / 26
◮ Does a system satisfy a specification? ◮ M |= S ◮ Often translated to automata inclusion [M] ⊆ [S]
19 / 26
◮ Alphabet Σ = {α, β, γ, . . .} ◮ Finite set of states ◮ Distinguished initial and final states ◮ Transition relation s →α q
20 / 26
◮ if p is final, then there must be a final state in Q; ◮ for any α and p′ such that p →α p′
21 / 26
α
α β
α α
β α
1 β
1}), (p2, {q2})}
22 / 26
z s
z s
s s
s z
z
s, q′′ s }), (pz, {qz}), (pz, {q′ z})}
23 / 26
24 / 26
s
s
25 / 26
◮ Very rich logics ◮ Precise proof theoretical analysis ◮ Wider range of applications, supported by focusing
◮ Extend: B¨
◮ Automated (co)inductive reasoning, loop schemes in Bedwyr
26 / 26