equal
deleted
inserted
replaced
|
1 (* Title: HOL/Lex/AutoProj.thy |
|
2 ID: $Id$ |
|
3 Author: Tobias Nipkow |
|
4 Copyright 1998 TUM |
|
5 |
|
6 Is there an optimal order of arguments for `next'? |
|
7 Currently we can have laws like `delta A (a#w) = delta A w o delta A a' |
|
8 Otherwise we could have `acceps A == fin A o delta A (start A)' |
|
9 and use foldl instead of foldl2. |
|
10 *) |
|
11 |
|
12 AutoProj = Prod + |
|
13 |
|
14 constdefs |
|
15 start :: "'a * 'b * 'c => 'a" |
|
16 "start A == fst A" |
|
17 next :: "'a * 'b * 'c => 'b" |
|
18 "next A == fst(snd(A))" |
|
19 fin :: "'a * 'b * 'c => 'c" |
|
20 "fin A == snd(snd(A))" |
|
21 |
|
22 end |