a fixedpoint approach to co inductive definitions
play

A Fixedpoint Approach to (Co)Inductive Definitions Lawrence C. - PowerPoint PPT Presentation

L. Paulson A Fixedpoint Approach to (Co)Inductive Definitions 1 A Fixedpoint Approach to (Co)Inductive Definitions Lawrence C. Paulson Computer Laboratory University of Cambridge England lcp@cl.cam.ac.uk Thanks: SERC grants GR/G53279,


  1. L. Paulson A Fixedpoint Approach to (Co)Inductive Definitions 1 A Fixedpoint Approach to (Co)Inductive Definitions Lawrence C. Paulson Computer Laboratory University of Cambridge England lcp@cl.cam.ac.uk Thanks: SERC grants GR/G53279, GR/H40570; ESPRIT Project 6453 ‘Types’

  2. L. Paulson A Fixedpoint Approach to (Co)Inductive Definitions 2 Inductive Definitions • datatypes – finite lists, trees – syntax of expressions, . . . • inference systems – transitive closure of a relation – transition systems – structural operational semantics Supported by Boyer/Moore, HOL, Coq, . . . , Isabelle/ZF

  3. L. Paulson A Fixedpoint Approach to (Co)Inductive Definitions 3 Coinductive Definitions • codatatypes – infinite lists, trees – syntax of infinite expressions, . . . • bisimulation relations – process equivalence – uses in functional programming (Abramksy, Howe) Supported by . . . ?, . . . , Isabelle/ZF

  4. L. Paulson A Fixedpoint Approach to (Co)Inductive Definitions 4 The Knaster-Tarksi Fixedpoint Theorem h a monotone function D a set such that h ( D ) ⊆ D The least fixedpoint lfp ( D, h ) yields inductive definitions The greatest fixedpoint gfp ( D, h ) yields coinductive definitions A general approach : • handles all provably monotone definitions • works for set theory, higher-order logic, . . .

  5. L. Paulson A Fixedpoint Approach to (Co)Inductive Definitions 5 An Implementation in Isabelle/ZF • Input – description of introduction rules & tree’s constructors – theorems implying that the definition is monotonic • Output – (co)induction rules – case analysis rule and rule inversion tools, . . . flexible, secure, . . . but fast

  6. L. Paulson A Fixedpoint Approach to (Co)Inductive Definitions 6 Working Examples • lists • terms recursive over lists: term ( A ) = A × list ( term ( A )) • primitive recursive functions • lazy lists • bisimulations for lazy lists • combinator reductions; Church-Rosser Theorem • mutually recursive trees & forests

  7. L. Paulson A Fixedpoint Approach to (Co)Inductive Definitions 7 Other Work Using Fixedpoints The HOL system : • Melham’s induction package: special case of Fixedpoint Theorem • Andersen & Petersen’s induction package • (no HOL datatype package uses fixedpoints) Coq and LEGO : • (Co)induction almost expressible in base logic (CoC) • . . . inductive definitions are built-in

  8. L. Paulson A Fixedpoint Approach to (Co)Inductive Definitions 8 Limitations & Future Developments • infinite-branching trees – justification requires proof – would be easier to build them in ! • recursive function definitions – use well-founded recursion – distinct from datatype definitions • port to Isabelle/HOL

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