src/HOLCF/ex/Loop.thy
author paulson
Tue, 16 Jul 1996 15:49:46 +0200
changeset 1868 836950047d85
parent 1479 21eb5e156d91
child 2642 3c3a84cc85a9
permissions -rw-r--r--
Put in minimal simpset to avoid excessive simplification, just as in revision 1.9 of HOL/indrule.ML

(*  Title:      HOLCF/ex/Loop.thy
    ID:         $Id$
    Author:     Franz Regensburger
    Copyright   1993 Technische Universitaet Muenchen

Theory for a loop primitive like while
*)

Loop = Tr2 +

consts

        step  :: "('a -> tr)->('a -> 'a)->'a->'a"
        while :: "('a -> tr)->('a -> 'a)->'a->'a"

defs

  step_def      "step == (LAM b g x. If b`x then g`x else x fi)"
  while_def     "while == (LAM b g. fix`(LAM f x.
                   If b`x then f`(g`x) else x fi))"

end