Proof search has been used to specify a wide range of computation systems. In order to build a framework for reasoning about such specifications, we make use of a sequent calculus involving induction and co-induction. These proof principles are based on a proof theoretic notion of definition, following on work by Schroeder-Heister, Girard, and McDowell and Miller. Definitions are essentially stratified logic programs. The left and right rules for defined atoms treat the definitions as defining fixed points. The use of definitions also makes it possible to reason intensionally about syntax, in particular enforcing free equality via unification. The full system thus allows inductive and co-inductive proofs involving higher-order abstract syntax. We extend earlier work by allowing induction and co-induction on general definitions and show that cut-elimination holds for this extension. We present some examples involving lists and simulation in the lazy λ-calculus. Two prototype implementations are available: one via the Hybrid system implemented on top of Isabelle/HOL and the other in the BLinc system implemented on top of λProlog.

Induction and Co-induction in Sequent Calculus / A. Momigliano, A. Tiu (LECTURE NOTES IN COMPUTER SCIENCE). - In: TYPES 2003: Types for Proofs and Programs / [a cura di] S. Berardi, M. Coppo, F. Damiani. - [s.l] : Springer, 2004. - ISBN 978-3-540-22164-7. - pp. 293-308 (( convegno TYPES: International Workshop on Types for Proofs and Programs : April 30 - May 4 tenutosi a Torino nel 2003.

Induction and Co-induction in Sequent Calculus

A. Momigliano
Primo
;
2004

Abstract

Proof search has been used to specify a wide range of computation systems. In order to build a framework for reasoning about such specifications, we make use of a sequent calculus involving induction and co-induction. These proof principles are based on a proof theoretic notion of definition, following on work by Schroeder-Heister, Girard, and McDowell and Miller. Definitions are essentially stratified logic programs. The left and right rules for defined atoms treat the definitions as defining fixed points. The use of definitions also makes it possible to reason intensionally about syntax, in particular enforcing free equality via unification. The full system thus allows inductive and co-inductive proofs involving higher-order abstract syntax. We extend earlier work by allowing induction and co-induction on general definitions and show that cut-elimination holds for this extension. We present some examples involving lists and simulation in the lazy λ-calculus. Two prototype implementations are available: one via the Hybrid system implemented on top of Isabelle/HOL and the other in the BLinc system implemented on top of λProlog.
Settore INF/01 - Informatica
Settore MAT/01 - Logica Matematica
2004
Book Part (author)
File in questo prodotto:
File Dimensione Formato  
linc.pdf

accesso riservato

Tipologia: Publisher's version/PDF
Dimensione 223.6 kB
Formato Adobe PDF
223.6 kB Adobe PDF   Visualizza/Apri   Richiedi una copia
Pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2434/212693
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 30
  • ???jsp.display-item.citation.isi??? 6
social impact