1479
|
1 |
(* Title: HOLCF/ex/Loop.thy
|
244
|
2 |
ID: $Id$
|
1479
|
3 |
Author: Franz Regensburger
|
244
|
4 |
*)
|
|
5 |
|
17291
|
6 |
header {* Theory for a loop primitive like while *}
|
244
|
7 |
|
17291
|
8 |
theory Loop
|
|
9 |
imports HOLCF
|
|
10 |
begin
|
244
|
11 |
|
17291
|
12 |
constdefs
|
|
13 |
step :: "('a -> tr)->('a -> 'a)->'a->'a"
|
|
14 |
"step == (LAM b g x. If b$x then g$x else x fi)"
|
|
15 |
while :: "('a -> tr)->('a -> 'a)->'a->'a"
|
|
16 |
"while == (LAM b g. fix$(LAM f x.
|
|
17 |
If b$x then f$(g$x) else x fi))"
|
244
|
18 |
|
17291
|
19 |
ML {* use_legacy_bindings (the_context ()) *}
|
244
|
20 |
|
|
21 |
end
|
17291
|
22 |
|