src/HOL/Lex/AutoProj.thy
changeset 4832 bc11b5b06f87
child 8732 aef229ca5e77
equal deleted inserted replaced
4831:dae4d63a1318 4832:bc11b5b06f87
       
     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