src/HOL/Lex/AutoMaxChop.thy
changeset 4714 bcdf68c78e18
child 4832 bc11b5b06f87
equal deleted inserted replaced
4713:bea2ab2e360b 4714:bcdf68c78e18
       
     1 (*  Title:      HOL/Lex/AutoMaxChop.thy
       
     2     ID:         $Id$
       
     3     Author:     Tobias Nipkow
       
     4     Copyright   1998 TUM
       
     5 *)
       
     6 
       
     7 AutoMaxChop = Auto + MaxChop +
       
     8 
       
     9 consts
       
    10  auto_split :: "('a,'s)auto => 's => 'a list => 'a list => 'a list * 'a list
       
    11                 => 'a list * 'a list"
       
    12 primrec auto_split list
       
    13 "auto_split A q ps []     res = (if fin A q then (ps,[]) else res)"
       
    14 "auto_split A q ps (x#xs) res = auto_split A (next A q x) (ps@[x]) xs
       
    15                                      (if fin A q then (ps,x#xs) else res)"
       
    16 
       
    17 constdefs
       
    18  auto_chop :: "('a,'s)auto => 'a chopper"
       
    19 "auto_chop A == chop (%xs. auto_split A (start A) [] xs ([],xs))"
       
    20 end