src/HOL/Lex/Automata.thy
author nipkow
Mon, 27 Apr 1998 16:46:56 +0200
changeset 4832 bc11b5b06f87
child 4907 0eb6730de30f
permissions -rw-r--r--
Added conversion of reg.expr. to automata. Renamed expand_const -> split_const.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4832
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
     1
(*  Title:      HOL/Lex/Automata.thy
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
     2
    ID:         $Id$
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
     3
    Author:     Tobias Nipkow
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
     4
    Copyright   1998 TUM
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
     5
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
     6
Conversions between different kinds of automata
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
     7
*)
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
     8
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
     9
Automata = DA + NAe +
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    10
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    11
constdefs
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    12
 na2da :: ('a,'s)na => ('a,'s set)da
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    13
"na2da A == ({start A}, %a Q. lift(next A a) Q, %Q. ? q:Q. fin A q)"
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    14
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    15
 nae2da :: ('a,'s)nae => ('a,'s set)da
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    16
"nae2da A == ({start A},
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    17
              %a Q. lift (next A (Some a)) ((eps A)^* ^^ Q),
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    18
              %Q. ? p: (eps A)^* ^^ Q. fin A p)"
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    19
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    20
end