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

a fixedpoint approach to co inductive definitions
SMART_READER_LITE
LIVE PREVIEW

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,


slide-1
SLIDE 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’

slide-2
SLIDE 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

slide-3
SLIDE 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

slide-4
SLIDE 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, . . .
slide-5
SLIDE 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

slide-6
SLIDE 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
slide-7
SLIDE 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
slide-8
SLIDE 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