efficient validation of fol id cyclic induction reasoning
play

Efficient Validation of FOL ID Cyclic Induction Reasoning VeriDis + - PowerPoint PPT Presentation

Efficient Validation of FOL ID Cyclic Induction Reasoning VeriDis + MATRYOSHKA Workshop, Amsterdam June 12, 2019 Sorin Stratulat INRIA, Universit de Lorraine Motivation soundness checking of cyclic pre-proofs in FOL with inductive


  1. Efficient Validation of FOL ID Cyclic Induction Reasoning VeriDis + MATRYOSHKA Workshop, Amsterdam June 12, 2019 Sorin Stratulat INRIA, Université de Lorraine

  2. Motivation ☞ soundness checking of cyclic pre-proofs in FOL with inductive definitions (FOLID) pre-proof: finite derivation tree with backlinks (bud-companion relations) using CLKID ω (LK + ‘=’ rules + unfold + case) (Brotherston and Simpson [2011]) ⇒ R (0 , y ) (1) ⇒ N (0) (4) R ( x, 0) ⇒ R ( sx, 0) (2) N ( x ) ⇒ N ( s ( x )) (5) R ( ssx, y ) ⇒ R ( sx, sy ) (3) Nx ′ ⊢ R ( x ′ , 0) ( † 1 ) ( Subst ) Nx ′′ ⊢ R ( x ′′ , 0) Nx, Ny ⊢ R ( x, y ) ( ∗ 1 ) ( R. (1)) ( R. (2)) ( Subst ) Nx ′′ ⊢ R ( sx ′′ , 0) Nssx ′ , Ny ′ ⊢ R ( ssx ′ , y ′ ) ⊢ R (0 , 0) ( Case N ) ( Cut ) Nx ′ ⊢ R ( x ′ , 0) ( † ) Nx ′ , Ny ′ ⊢ R ( ssx ′ , y ′ ) ( R. (2)) ( R. (3)) Nx ′ ⊢ R ( sx ′ , 0) Nx ′ , Ny ′ ⊢ R ( sx ′ , sy ′ ) ( Case N ) ( R. (1)) Nx ′ , Ny ⊢ R ( sx ′ , y ) Ny ⊢ R (0 , y ) ( Case N ) Nx, Ny ⊢ R ( x, y ) ( ∗ )

  3. Motivation ☞ soundness checking of cyclic pre-proofs in FOL with inductive definitions (FOLID) pre-proof: finite derivation tree with backlinks (bud-companion relations) using CLKID ω (LK + ‘=’ rules + unfold + case) (Brotherston and Simpson [2011]) ⇒ R (0 , y ) (1) ⇒ N (0) (4) R ( x, 0) ⇒ R ( sx, 0) (2) N ( x ) ⇒ N ( s ( x )) (5) R ( ssx, y ) ⇒ R ( sx, sy ) (3) Nx ′ ⊢ R ( x ′ , 0) ( † 1 ) ( Subst ) Nx ′′ ⊢ R ( x ′′ , 0) Nx, Ny ⊢ R ( x, y ) ( ∗ 1 ) ( R. (1)) ( R. (2)) ( Subst ) Nx ′′ ⊢ R ( sx ′′ , 0) Nssx ′ , Ny ′ ⊢ R ( ssx ′ , y ′ ) ⊢ R (0 , 0) ( Case N ) ( Cut ) Nx ′ ⊢ R ( x ′ , 0) ( † ) Nx ′ , Ny ′ ⊢ R ( ssx ′ , y ′ ) ( R. (2)) ( R. (3)) Nx ′ ⊢ R ( sx ′ , 0) Nx ′ , Ny ′ ⊢ R ( sx ′ , sy ′ ) ( Case N ) ( R. (1)) Nx ′ , Ny ⊢ R ( sx ′ , y ) Ny ⊢ R (0 , y ) ( Case N ) Nx, Ny ⊢ R ( x, y ) ( ∗ )

  4. Soundness checking ☞ annotate paths with traces (Brotherston and Simpson [2011]) Global trace condition: implements the ‘Descente Infinie’ principle (1) by contradiction, assume that the root sequent Γ ⊢ ∆ is false ☞ finite unfoldings for true ind. atoms: N (0) , N ( s (0)) , . . . (2) show that for every infinite path p in the cyclic derivation, there is some trace following p such that all successive steps starting from some point are decreasing and certain steps occurring infinitely often are strictly decreasing w.r.t. some semantic ordering defined over the number of unfoldings. (3) true ind. atoms require infinite unfoldings. Contradiction. Check: testing the inclusion relation between two Büchi automata • decidable but doubly exponential • implemented in the Cyclist prover; the proofs are not certified

  5. Soundness checking ☞ annotate paths with traces (Brotherston and Simpson [2011]) Global trace condition: implements the ‘Descente Infinie’ principle (1) by contradiction, assume that the root sequent Γ ⊢ ∆ is false ☞ finite unfoldings for true ind. atoms: N (0) , N ( s (0)) , . . . (2) show that for every infinite path p in the cyclic derivation, there is some trace following p such that all successive steps starting from some point are decreasing and certain steps occurring infinitely often are strictly decreasing w.r.t. some semantic ordering defined over the number of unfoldings. (3) true ind. atoms require infinite unfoldings. Contradiction. Check: testing the inclusion relation between two Büchi automata • decidable but doubly exponential • implemented in the Cyclist prover; the proofs are not certified

  6. Overview Cyclic Reasoning for FOL ID A Polynomial Procedure for Checking the Global Trace Condition Certifying Cyclic Proofs with Coq

  7. Cyclic Reasoning for FOL ID

  8. CLKID ω N : a particular case of CLKID ω ☞ Stratulat [2017a, 2018] Γ[ { x �→ u } ] ⊢ ∆[ { x �→ u } ] x is a variable not occurring in u (= L ) Γ , x = u ⊢ ∆ ☞ particular case of (= L ) of CLKID ω where x can also be a non-variable term

  9. The case when the trace value is strictly decreasing The inductive predicates are defined by axioms of the form Q 1 ( u 1 ) ∧ . . . ∧ Q h ( u h ) ∧ P j 1 ( t 1 ) ∧ . . . ∧ P j m ( t m ) ⇒ P i ( t ) (6) The ( Case ) rule: Γ , t ′ = t , Q 1 ( u 1 ) , . . . , Q h ( u h ) , P j 1 ( t 1 ) , . . . , P jm ( t m ) ⊢ ∆ . . . . . . ( Case P i ) Γ , P i ( t ′ ) ⊢ ∆ ☞ unfolding step: P j 1 ( t 1 ) , . . . , P j m ( t m ) are case descendants of P i ( t ′ ) .

  10. Traces and progress points inductive antecedent atoms (IAA) τ 1 τ 2 . . . τ n . . . Definition (Trace, Progress point) A trace following some (potentially infinite) path p [ N 1 , N 2 , . . . ] in a pre-proof tree is a sequence ( τ i ) ( i ≥ 0) of IAAs such that: • τ i +1 is τ i [ { x �→ u } ] if S ( N i ) ≡ (Γ , x = u ⊢ ∆) is the conclusion of (= L ) ; • τ i = τ i +1 [ δ ] if S ( N i ) is the conclusion of ( Subst ) using δ ; • if S ( N i ) is the conclusion of a ( Case ) -rule, then either i) τ i +1 is τ i , or ii) τ i is its principal formula and τ i +1 is a case descendant of τ i . In this case, i is called a progress point ; • τ i +1 = τ i if S ( N i ) is the conclusion of any other rule. An infinitely progressing trace has infinitely many progress points.

  11. Proofs Definition (CLKID ω N proof) A CLKID ω N pre-proof is a CLKID ω N proof if every infinite path has an infinitely progressing trace starting from some point. ☞ the global trace condition is satisfied Nx ′ ⊢ R ( x ′ , 0) ( † 1 ) ( Subst ) Nx ′′ ⊢ R ( x ′′ , 0) Nx, Ny ⊢ R ( x, y ) ( ∗ 1 ) ( R. (2)) ( R. (1)) ( Subst ) Nx ′′ ⊢ R ( sx ′′ , 0) Nssx ′ , Ny ′ ⊢ R ( ssx ′ , y ′ ) ⊢ R (0 , 0) ( Case N ) ( Cut ) Nx ′ ⊢ R ( x ′ , 0) ( † ) Nx ′ , Ny ′ ⊢ R ( ssx ′ , y ′ ) ( R. (2)) ( R. (3)) Nx ′ ⊢ R ( sx ′ , 0) Nx ′ , Ny ′ ⊢ R ( sx ′ , sy ′ ) ( Case N ) ( R. (1)) Nx ′ , Ny ⊢ R ( sx ′ , y ) Ny ⊢ R (0 , y ) ( Case N ) Nx, Ny ⊢ R ( x, y ) ( ∗ )

  12. Proofs Definition (CLKID ω N proof) A CLKID ω N pre-proof is a CLKID ω N proof if every infinite path has an infinitely progressing trace starting from some point. ☞ the global trace condition is satisfied Nx ′ ⊢ R ( x ′ , 0) ( † 1 ) ( Subst ) Nx ′′ ⊢ R ( x ′′ , 0) Nx, Ny ⊢ R ( x, y ) ( ∗ 1 ) ( R. (2)) ( R. (1)) ( Subst ) Nx ′′ ⊢ R ( sx ′′ , 0) Nssx ′ , Ny ′ ⊢ R ( ssx ′ , y ′ ) ⊢ R (0 , 0) ( Case N ) ( Cut ) Nx ′ ⊢ R ( x ′ , 0) ( † ) Nx ′ , Ny ′ ⊢ R ( ssx ′ , y ′ ) ( R. (2)) ( R. (3)) Nx ′ ⊢ R ( sx ′ , 0) Nx ′ , Ny ′ ⊢ R ( sx ′ , sy ′ ) ( Case N ) ( R. (1)) Nx ′ , Ny ⊢ R ( sx ′ , y ) Ny ⊢ R (0 , y ) ( Case N ) Nx, Ny ⊢ R ( x, y ) ( ∗ )

  13. A Polynomial Procedure for Checking the Global Trace Condition

  14. The checking procedure Input: a CLKID ω N pre-proof P (1) normalize P to a pre-proof tree-set TS that is path-equivalent to P and every path following its cycles is a concatenation of root-bud paths ( rb-paths ) starting from some point (2) return YES if every rb-path found in a cycle of TS satisfies some derivability constraints

  15. The normalization procedure ☞ exhaustive application of transformation operations to get a pre-proof tree set . . . Γ ⊢ ∆ ( ∗ 1) . Γ ⊢ ∆ . ( Subst ) ( Subst ) . Γ[ σ ] ⊢ ∆[ σ ] Γ[ σ ] ⊢ ∆[ σ ] becomes Γ ⊢ ∆ ( ∗ ) . . . . (new tree) . . . . . . Γ ⊢ ∆ ( ∗ 1) . . ( Subst ) Γ ⊢ ∆ ( ∗ ) becomes Γ ⊢ ∆ Γ ⊢ ∆ ( ∗ ) . . . . (new tree) . . Γ ⊢ ∆ ( ∗ 1) ( Subst ) Γ ⊢ ∆ ( ∗ 1) Γ ⊢ ∆ not ( Subst ) not ( Subst ) Γ ′ ⊢ ∆ ′ Γ ′ ⊢ ∆ ′ becomes . . . . . .

  16. The normalization procedure ☞ exhaustive application of transformation operations to get a pre-proof tree set . . . Γ ⊢ ∆ ( ∗ 1) . Γ ⊢ ∆ . ( Subst ) ( Subst ) . Γ[ σ ] ⊢ ∆[ σ ] Γ[ σ ] ⊢ ∆[ σ ] becomes Γ ⊢ ∆ ( ∗ ) . . . . (new tree) . . . . . . Γ ⊢ ∆ ( ∗ 1) . . ( Subst ) Γ ⊢ ∆ ( ∗ ) becomes Γ ⊢ ∆ Γ ⊢ ∆ ( ∗ ) . . . . (new tree) . . Γ ⊢ ∆ ( ∗ 1) ( Subst ) Γ ⊢ ∆ ( ∗ 1) Γ ⊢ ∆ not ( Subst ) not ( Subst ) Γ ′ ⊢ ∆ ′ Γ ′ ⊢ ∆ ′ becomes . . . . . .

  17. The normalization procedure ☞ exhaustive application of transformation operations to get a pre-proof tree set . . . Γ ⊢ ∆ ( ∗ 1) . Γ ⊢ ∆ . ( Subst ) ( Subst ) . Γ[ σ ] ⊢ ∆[ σ ] Γ[ σ ] ⊢ ∆[ σ ] becomes Γ ⊢ ∆ ( ∗ ) . . . . (new tree) . . . . . . Γ ⊢ ∆ ( ∗ 1) . . ( Subst ) Γ ⊢ ∆ ( ∗ ) becomes Γ ⊢ ∆ Γ ⊢ ∆ ( ∗ ) . . . . (new tree) . . Γ ⊢ ∆ ( ∗ 1) ( Subst ) Γ ⊢ ∆ ( ∗ 1) Γ ⊢ ∆ not ( Subst ) not ( Subst ) Γ ′ ⊢ ∆ ′ Γ ′ ⊢ ∆ ′ becomes . . . . . .

  18. The normalization procedure ☞ exhaustive application of transformation operations to get a pre-proof tree set . . . Γ ⊢ ∆ ( ∗ 1) . Γ ⊢ ∆ . ( Subst ) ( Subst ) . Γ[ σ ] ⊢ ∆[ σ ] Γ[ σ ] ⊢ ∆[ σ ] becomes Γ ⊢ ∆ ( ∗ ) . . . . (new tree) . . . . . . Γ ⊢ ∆ ( ∗ 1) . . ( Subst ) Γ ⊢ ∆ ( ∗ ) becomes Γ ⊢ ∆ Γ ⊢ ∆ ( ∗ ) . . . . (new tree) . . Γ ⊢ ∆ ( ∗ 1) ( Subst ) Γ ⊢ ∆ ( ∗ 1) Γ ⊢ ∆ not ( Subst ) not ( Subst ) Γ ′ ⊢ ∆ ′ Γ ′ ⊢ ∆ ′ becomes . . . . . .

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend