Certification of prefixed tableau proofs for modal logic Tomer Libal and Marco Volpe INRIA, Parsifal Team T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
Can we trust provers? Complex software is rarely free of bugs . Automated theorem provers are complex software - can we trust them? T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
The Provers’ Tower of Babel Current provers can rarely share each other’s proofs Work has been done for building bridges between two specific provers (but even a change in the version number of one prover can cause that bridge to collapse) T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
Towards proof certification Motivating questions 1 Can we trust provers? 2 Can provers talk a common language ? Goal Provide a flexible framework for defining the semantics of a wide range of proof evidences in such a way that: provers would define the meaning of their own proof evidence; trusted proof checkers would be able to interpret that meaning and check its formal correctness. T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
An analogy Structural Operational Semantics 1 There are many programming languages. 2 SOS can define the semantics of many of them. 3 Compilers can be built based on the semantics. Foundational Proof Certificates (FPCs) 1 There are many forms of proof evidence. 2 FPC can define the semantics of many of them. 3 Checkers can be built based on the semantics. T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
Foundational Proof Certificates Proof evidence : The proof output from a prover. Pretty printer : Some program for properly formatting the proof evidence. FPC specification : Specification of predicates used to interpret the proof evidence in order to guide the kernel proof search. Kernel : A trustable low-level calculus, with additional control predicates. T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
Foundational Proof Certificates (our implementation) Proof evidence : The proof output from a prover. Pretty printer : Some (typically OCaml) program for properly formatting the proof evidence (as a λ Prolog file). FPC specification : λ Prolog specification of predicates used to interpret the proof evidence in order to guide the kernel proof search. Kernel : An encoding of (focused) sequent calculus (LKF + control predicates) as a λ Prolog program. T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
Focused proof systems Let’s consider a sequent calculus for classical first-order logic (LK). Reduce the search space . Better organize the structure of derivations. Emphasis on: non-invertible vs. invertible rules. Propositional connectives have: a positive version; a negative version. ⊢ Θ , B i ⊢ Θ , B 1 , B 2 + ∨ − ∨ F F ⊢ Θ , B 1 ∨ B 2 ⊢ Θ , B 1 ∨ B 2 T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
Focused proof systems Let’s consider a sequent calculus for classical first-order logic (LK). Reduce the search space . Better organize the structure of derivations. Emphasis on: non-invertible vs. invertible rules. Propositional connectives have: a positive version; a negative version. Polarization of a formula does not affect its provability . T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
Focused proof systems store (a positive formula to possibly focus on later) t − , f − , ∨ − , ∧ − , ∀ ⊢ Θ ⇑ Γ release t + , f + , ∨ + , ∧ + , ∃ ⊢ Θ ⇓ A decide (on a positive formula to focus on) T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
Focused proof systems store (a positive formula to possibly focus on later) ⊢ Θ ⇑ Γ NEGATIVE PHASE (invertible) release (change of phase) ⊢ Θ ⇓ A POSITIVE PHASE (non-invertible) decide (on a positive formula to focus on) T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
Focused proof systems store (a positive formula to possibly focus on later) t − , f − , ∨ − , ∧ − , ∀ ⊢ Θ ⇑ Γ By the way, release this is a BIPOLE t + , f + , ∨ + , ∧ + , ∃ ⊢ Θ ⇓ A decide (on a positive formula to focus on) T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
A focused proof system for classical logic (LKF) Negative introduction rules ⊢ Θ ⇑ A , Γ ⊢ Θ ⇑ B , Γ ⊢ Θ ⇑ Γ ⊢ Θ ⇑ A , B , Γ , Γ t − ∧ − , Γ f − − B , Γ ∨ − − B , Γ ⊢ Θ ⇑ t − ⊢ Θ ⇑ A ∧ ⊢ Θ ⇑ f − ⊢ Θ ⇑ A ∨ ⊢ Θ ⇑ [ y / x ] B , Γ ∀† ⊢ Θ ⇑ ∀ x . B , Γ Positive introduction rules ⊢ Θ ⇓ B 1 ⊢ Θ ⇓ B 2 ⊢ Θ ⇓ B i ⊢ Θ ⇓ [ t / x ] B + , i ∈ { 1 , 2 } ⊢ Θ ⇓ t + t + + ∨ ∧ ∃ + B 2 + B 2 ⊢ Θ ⇓ B 1 ∧ ⊢ Θ ⇓ B 1 ∨ ⊢ Θ ⇓ ∃ x . B Identity rules ⊢ Θ ⇑ B ⊢ Θ ⇑ ¬ B ⊢ ¬ P a , Θ ⇓ P a init cut ⊢ Θ ⇑ · Structural rules ⊢ Θ , C ⇑ Γ ⊢ Θ ⇑ N ⊢ P , Θ ⇓ P ⊢ Θ ⇑ C , Γ store ⊢ Θ ⇓ N release decide ⊢ P , Θ ⇑ · T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
Labeled proof systems Labeled deduction approach: we encode in the syntax additional information (e.g. of a semantic nature). Labels denoting worlds Two classes of formulas : Labeled logical formulas, e.g. x : A 1 Relational formulas, e.g. xRy 2 The basic idea is: each label y refers to a world y in the Kripke semantics the relational symbol R refers to the accessibility relation T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
A labeled sequent system for modal logic Classical rules x : A , x : B , Γ ⊢ ∆ Γ ⊢ ∆ , x : A Γ ⊢ ∆ , x : B L ∧ R ∧ x : P , Γ ⊢ ∆ , x : P init x : A ∧ B , Γ ⊢ ∆ Γ ⊢ ∆ , x : A ∧ B x : A , Γ ⊢ ∆ x : B , Γ ⊢ ∆ Γ ⊢ ∆ , x : A , x : B L ∨ R ∨ x : A ∨ B , Γ ⊢ ∆ Γ ⊢ ∆ , x : A ∨ B Modal rules y : A , x : � A , xRy , Γ ⊢ ∆ xRy , Γ ⊢ ∆ , y : A L � R � x : � A , xRy , Γ ⊢ ∆ Γ ⊢ ∆ , x : � A xRy , y : A , Γ ⊢ ∆ xRy , Γ ⊢ ∆ , x : ♦ A , y : A L ♦ R ♦ x : ♦ A , Γ ⊢ ∆ xRy , Γ ⊢ ∆ , x : ♦ A In R � and L ♦ , y does not occur in the conclusion. T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
A prefixed tableau system for modal logic Classical rules σ : A ∧ B σ : A ∨ B σ : B ∨ F σ : A , σ : B ∧ F σ : A | Modal rules σ : ♦ A σ : � A σ. n : A � F σ. n : A ♦ F In � F , σ. n is used. In ♦ F , σ. n is new. Plus branch closure rules , of course. T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
Labeling and focusing FIRST-ORDER PROPOSITIONAL STANDARD CLASSICAL MODAL LOGIC TRANSLATION LOGIC LABELED FOCUSED PROOF PROOF SYSTEM SYSTEM T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
Labeling and focusing FIRST-ORDER PROPOSITIONAL STANDARD CLASSICAL MODAL LOGIC TRANSLATION LOGIC + - LABELED FOCUSED LESS STANDARD PROOF PROOF TRANSLATION SYSTEM SYSTEM T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
Labeling and focusing FIRST-ORDER PROPOSITIONAL STANDARD CLASSICAL MODAL LOGIC TRANSLATION LOGIC + - LABELED FOCUSED LESS STANDARD PROOF PROOF TRANSLATION SYSTEM SYSTEM bipole inference rule T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
The standard translation Modal language ⇒ FO language with: - a binary predicate R - a unary predicate P for each P ∈ P ST x ( P ) = P ( x ) ST x ( A ∧ B ) = ST x ( A ) ∧ ST x ( B ) ST x ( � A ) = ∀ y ( ¬ R ( x , y ) ∨ ST y ( A )) ST x ( ♦ A ) = ∃ y ( R ( x , y ) ∧ ST y ( A )) where x is a free variable. For any modal formula A , any model M and any world w : M , w | = A iff M | = ST x ( A )[ x ← w ] T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
Our translation [ · ] ST x ( P ) = P ( x ) [ x : P ] = P ( x ) ST x ( A ∧ B ) = ST x ( A ) ∧ ST x ( B ) ∂ + ([ x : A ]) ∧ − ∂ + ( [x : B] ) [ x : A ∧ B ] = ST x ( � A ) = ∀ y ( ¬ R ( x , y ) ∨ ST y ( A )) [ x : � � � A ] − ∂ + ( [y : A] )) = ∀ y ( ¬ R(x , y) ∨ ST x ( ♦ A ) = ∃ y ( R ( x , y ) ∧ ST y ( A )) + ∂ − ( ∂ + ( [y : A] ))) [ x : ♦ ♦ A ] ♦ = ∃ y ( R(x , y) ∧ Delay operators ( ∂ + , ∂ − ) force a formula to be positive or negative. T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
Theorem of adequacy FIRST-ORDER PROPOSITIONAL STANDARD CLASSICAL MODAL LOGIC TRANSLATION LOGIC + - LABELED FOCUSED LESS STANDARD PROOF PROOF TRANSLATION SYSTEM SYSTEM bipole inference rule T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
LKF + control predicates ⊢ Θ ⇓ [ t / x ] B ∃ ⊢ Θ ⇓ ∃ x . B Ξ ′ ⊢ Θ ⇓ [ t / x ] B exists e (Ξ , t , Ξ ′ ) Ξ ⊢ Θ ⇓ ∃ x . B Typically, in an FPC specification, the information about t will be contained in Ξ. e.g., Ξ = { t , t 1 , . . . , t n } and Ξ ′ = { t 1 , . . . , t n } . T. Libal, M. Volpe Certification of prefixed tableau proofs for modal logic
Recommend
More recommend