src/HOLCF/ex/Loop.thy
author obua
Sat, 17 Sep 2005 11:49:29 +0200
changeset 17444 a389e5892691
parent 17291 94f6113fe9ed
child 19742 86f21beabafc
permissions -rw-r--r--
1) mapped .. and == constants 2) improved protect_varname

(*  Title:      HOLCF/ex/Loop.thy
    ID:         $Id$
    Author:     Franz Regensburger
*)

header {* Theory for a loop primitive like while *}

theory Loop
imports HOLCF
begin

constdefs
  step  :: "('a -> tr)->('a -> 'a)->'a->'a"
  "step == (LAM b g x. If b$x then g$x else x fi)"
  while :: "('a -> tr)->('a -> 'a)->'a->'a"
  "while == (LAM b g. fix$(LAM f x.
    If b$x then f$(g$x) else x fi))"

ML {* use_legacy_bindings (the_context ()) *}

end