17456
|
1 |
(* Title: CCL/ex/Stream.thy
|
0
|
2 |
ID: $Id$
|
1474
|
3 |
Author: Martin Coen, Cambridge University Computer Laboratory
|
0
|
4 |
Copyright 1993 University of Cambridge
|
|
5 |
*)
|
|
6 |
|
17456
|
7 |
header {* Programs defined over streams *}
|
|
8 |
|
|
9 |
theory Stream
|
|
10 |
imports List
|
|
11 |
begin
|
0
|
12 |
|
|
13 |
consts
|
17456
|
14 |
iter1 :: "[i=>i,i]=>i"
|
|
15 |
iter2 :: "[i=>i,i]=>i"
|
0
|
16 |
|
17456
|
17 |
defs
|
0
|
18 |
|
17456
|
19 |
iter1_def: "iter1(f,a) == letrec iter x be x$iter(f(x)) in iter(a)"
|
|
20 |
iter2_def: "iter2(f,a) == letrec iter x be x$map(f,iter(x)) in iter(a)"
|
0
|
21 |
|
17456
|
22 |
ML {* use_legacy_bindings (the_context ()) *}
|
0
|
23 |
|
|
24 |
end
|