higher order proof reconstruction from paramodulation
play

Higher order proof reconstruction from paramodulation-based - PowerPoint PPT Presentation

Higher order proof reconstruction from paramodulation-based refutations: the unit equality case Andrea Asperti and Enrico Tassi Department of Computer Science, University of Bologna 28-30 June 2007 Context What we had: Matita is an ITP


  1. Higher order proof reconstruction from paramodulation-based refutations: the unit equality case Andrea Asperti and Enrico Tassi Department of Computer Science, University of Bologna 28-30 June 2007

  2. Context What we had: ◮ Matita is an ITP developed at the university of Bologna ◮ Lack of automation is one of the most reported issues of ITPs ◮ ATP are effective tools, but usually do not provide a proof object, sometimes a minimalistic trace mainly for efficiency (both space and time). ◮ Matita follows the independent verification principle: we need a real CIC proof ◮ We implemented our own first order paramodulation based automatic theorem prover (that, of course, provides a good trace), restricted to the unit equality case.

  3. Context What we had: ◮ Matita is an ITP developed at the university of Bologna ◮ Lack of automation is one of the most reported issues of ITPs ◮ ATP are effective tools, but usually do not provide a proof object, sometimes a minimalistic trace mainly for efficiency (both space and time). ◮ Matita follows the independent verification principle: we need a real CIC proof ◮ We implemented our own first order paramodulation based automatic theorem prover (that, of course, provides a good trace), restricted to the unit equality case. ◮ Why your own prover?

  4. Context What we had: ◮ Matita is an ITP developed at the university of Bologna ◮ Lack of automation is one of the most reported issues of ITPs ◮ ATP are effective tools, but usually do not provide a proof object, sometimes a minimalistic trace mainly for efficiency (both space and time). ◮ Matita follows the independent verification principle: we need a real CIC proof ◮ We implemented our own first order paramodulation based automatic theorem prover (that, of course, provides a good trace), restricted to the unit equality case. ◮ Why your own prover? For fun :-)

  5. Aim What we want: ◮ To be able to read the proofs: ◮ To understand what the automatic procedure did. ◮ Nice natural language rendering using MoWGLI tech. a = b by lemma 1 = c by lemma 2 = d by lemma 3

  6. Aim What we want: ◮ To be able to read the proofs: ◮ To understand what the automatic procedure did. ◮ Nice natural language rendering using MoWGLI tech. a = b by lemma 1 = c by lemma 2 = d by lemma 3 ◮ Save earth from overheating ◮ Fast to typecheck ◮ Not re-doing proof search every time we compile a file

  7. Plan The plan: 1. Start from the trace of the prover 2. Transform it into a CIC object 3. Apply type preserving transformations to obtain a nice proof object suitable for point 4. 4. Render it in natural language (re-using MoWGLI/Matita rendering facility) 5. Thanks to C. Sacerdoti Coen declarative language, the printed proof is a re-executable script (PLMMS talk).

  8. Outline ◮ Equality in CIC ◮ Superposition rules ◮ Proof reconstruction ◮ Demo ◮ Conclusion

  9. Equality in CIC ◮ Not built in, but an inductive predicate with one constructor: refl eq : x = A x ◮ As any inductive type, comes with an eliminator in two flavours: h : P a 1 k : a 1 = A a 2 ( eq ind A a 1 P h a 2 k ) : P a 2 h : P a 2 k : a 1 = A a 2 ( eq ind r A a 2 P h a 1 k ) : P a 1

  10. Superposition rules ◮ Superposition left (backward reasoning) ⊢ l = A r t = B s ⊢ C t [ r ] p σ = B s σ ⊢ C σ ◮ Superposition right (forward reasoning) ⊢ l = A r ⊢ t = B s ⊢ t [ r ] p σ = B s σ ◮ Equality resolution t = A s ⊢ C ⊢ C σ

  11. � � � � � � � � � � Data flow (1/3) � � � � � CIC Proof ψ eq ind trace � � � � � � � � � � � � ρ � � � � � � CIC CIC eq trans θ canonical eq sym

  12. � � � � � � � � � � Data flow (1/3) � � � � � CIC Proof ψ eq ind trace � � � � � � � � � � � � ρ � � � � � � CIC CIC eq trans θ canonical eq sym

  13. Superposition rules with CIC proofs ◮ Superposition left (backward reasoning) ⊢ l = A r t = B s ⊢ C t [ r ] p σ = B s σ ⊢ C σ ◮ Superposition right (forward reasoning) ⊢ l = A r ⊢ t = B s ⊢ t [ r ] p σ = B s σ ◮ Equality resolution t = A s ⊢ C ⊢ C σ

  14. Superposition rules with CIC proofs ◮ Superposition left (backward reasoning) ⊢ h : l = A r α : t = B s ⊢ M : C β : t [ r ] p σ = B s σ ⊢ M σ [ R /ασ ] : C σ R = ( eq ind r A r σ ( λ x : A . t [ x ] p = B s ) σ β l σ h σ ) : t σ = B s σ ◮ Superposition right (forward reasoning) ⊢ l = A r ⊢ t = B s ⊢ t [ r ] p σ = B s σ ◮ Equality resolution t = A s ⊢ C ⊢ C σ

  15. Superposition rules with CIC proofs ◮ Superposition left (backward reasoning) ⊢ h : l = A r α : t = B s ⊢ M : C β : t [ r ] p σ = B s σ ⊢ M σ [ R /ασ ] : C σ R = ( eq ind r A r σ ( λ x : A . t [ x ] p = B s ) σ β l σ h σ ) : t σ = B s σ ◮ Superposition right (forward reasoning) ⊢ h : l = A r ⊢ k : t = B s ⊢ R : t [ r ] p σ = B s σ R = ( eq ind A l σ ( λ x : A . t [ x ] p = B s ) σ k σ r σ h σ ) : t [ r ] p σ = B s σ ◮ Equality resolution t = A s ⊢ C ⊢ C σ

  16. Superposition rules with CIC proofs ◮ Superposition left (backward reasoning) ⊢ h : l = A r α : t = B s ⊢ M : C β : t [ r ] p σ = B s σ ⊢ M σ [ R /ασ ] : C σ R = ( eq ind r A r σ ( λ x : A . t [ x ] p = B s ) σ β l σ h σ ) : t σ = B s σ ◮ Superposition right (forward reasoning) ⊢ h : l = A r ⊢ k : t = B s ⊢ R : t [ r ] p σ = B s σ R = ( eq ind A l σ ( λ x : A . t [ x ] p = B s ) σ k σ r σ h σ ) : t [ r ] p σ = B s σ ◮ Equality resolution α : t = A s ⊢ M : C ⊢ M [ refl eq A t σ/α ] : C σ

  17. Superposition rules with CIC proofs ◮ Superposition left (backward reasoning) ⊢ h : l = A r α : t = B s ⊢ M : C t [ r ] p σ = B s σ ⊢ C σ ◮ Superposition right (forward reasoning) ⊢ h : l = A r ⊢ k : t = B s ⊢ t [ r ] p σ = B s σ ◮ Equality resolution α : t = A s ⊢ C ⊢ C σ

  18. � � � � � � � � � � Data flow (2/3) � � � � � CIC Proof ψ eq ind trace � � � � � � � � � � � � ρ � � � � � � CIC CIC eq trans θ canonical eq sym

  19. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � Data flow (2/3) � � � � � � � � � � CIC Proof ψ eq ind trace � � � � � � � � � � � � � � � � � ρ � � � � � � � � � � � � � � � � � � CIC CIC eq trans θ canonical eq sym � � � � � � � � � � � �

  20. Data flow (2/3) Typing Proof size Problem Search Steps raw opt raw opt BOO069-1 2.15 27 79.50 3.1M BOO071-1 2.23 27 203.03 5.4M GRP118-1 0.11 17 7.66 546K GRP485-1 0.17 47 323.35 5.1M LAT008-1 0.48 40 22.56 933K LCL115-2 0.81 52 24.42 1.1M Tab. 1. Timing (in seconds) and proof size

  21. Data flow (2/3) Typing Proof size Problem Search Steps raw opt raw opt BOO069-1 2.15 27 79.50 0.23 3.1M 29K BOO071-1 2.23 27 203.03 0.22 5.4M 28K GRP118-1 0.11 17 7.66 0.13 546K 21K GRP485-1 0.17 47 323.35 0.23 5.1M 33K LAT008-1 0.48 40 22.56 0.12 933K 19K LCL115-2 0.81 52 24.42 0.29 1.1M 37K Tab. 1. Timing (in seconds) and proof size

  22. � � � � � � � � � � Data flow (2/3) � � � � � CIC Proof ψ letin trace eq ind � � � � � � � � � � � � ρ � � � � � � CIC CIC letin θ letin eq trans canonical eq sym

  23. � � � � � � � � � � Data flow (2/3) � � � � � CIC Proof ψ letin trace eq ind � � � � � � � � � � � � ρ � � � � � � CIC CIC letin θ letin eq trans canonical eq sym

  24. Normal form Given the following standard lemmas: trans : ∀ A : Type . ∀ x , y , z : A . x = A y → y = A z → x = A z sym : ∀ A : Type . ∀ x , y : A . x = A y → y = A x eq f : ∀ A , B : Type . ∀ f : A → B . ∀ x , y : A . x = A y → ( f x ) = B ( f y ) Definition (Proof normal form) π = eq f B C ∆ a b axiom | eq f B C ∆ a b ( sym B b a axiom ) | trans A a b c π π

  25. ρ , CIC eq ind → CIC trans sym ρ ( π ) � ρ ′ ( λ x : B . x , π ) when π : a = B b ρ ′ (∆ , eq ind A a ( λ x . Γ[ x ] = B m ) π 1 b π 2 ) � trans C (∆ ◦ Γ)[ b ] (∆ ◦ Γ)[ a ] ∆[ m ] ( sym C (∆ ◦ Γ)[ a ] (∆ ◦ Γ)[ b ] ρ ′ (∆ ◦ Γ , π 2 )) ρ ′ (∆ , π 1 ) ρ ′ (∆ , eq ind r A a ( λ x . Γ[ x ] = B m ) π 1 b π 2 ) � trans C (∆ ◦ Γ)[ b ] (∆ ◦ Γ)[ a ] ∆[ m ] ρ ′ (∆ ◦ Γ , π 2 ) ρ ′ (∆ , π 1 ) ρ ′ (∆ , eq ind A a ( λ x . m = B Γ[ x ]) π 2 b π 1 ) � trans C ∆[ m ] (∆ ◦ Γ)[ a ] (∆ ◦ Γ)[ b ] ρ ′ (∆ , π 2 ) ρ ′ (∆ ◦ Γ , π 1 ) ρ ′ (∆ , eq ind r A a ( λ x . m = B Γ[ x ]) π 1 b π 2 ) � trans C ∆[ m ] (∆ ◦ Γ)[ a ] (∆ ◦ Γ)[ b ] ρ ′ (∆ , π 1 ) ( sym C (∆ ◦ Γ)[ b ] (∆ ◦ Γ)[ a ] ρ ′ (∆ ◦ Γ , π 2 )) ρ ′ (∆ , π ) � eq f B C ∆ a b π when π : a = B b and ∆ : B → C

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