src/HOL/Lex/DA.ML
author berghofe
Fri, 24 Jul 1998 13:19:38 +0200
changeset 5184 9b8547a9496a
parent 5132 24f992a25adc
permissions -rw-r--r--
Adapted to new datatype package.
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/DA.ML
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
5069
3ea049f7979d isatool fixgoal;
wenzelm
parents: 4832
diff changeset
     7
Goalw [foldl2_def] "foldl2 f [] a = a";
5132
24f992a25adc isatool expandshort;
wenzelm
parents: 5069
diff changeset
     8
by (Simp_tac 1);
4832
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
     9
qed "foldl2_Nil";
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    10
5069
3ea049f7979d isatool fixgoal;
wenzelm
parents: 4832
diff changeset
    11
Goalw [foldl2_def] "foldl2 f (x#xs) a = foldl2 f xs (f x a)";
5132
24f992a25adc isatool expandshort;
wenzelm
parents: 5069
diff changeset
    12
by (Simp_tac 1);
4832
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    13
qed "foldl2_Cons";
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
Addsimps [foldl2_Nil,foldl2_Cons];
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    16
5069
3ea049f7979d isatool fixgoal;
wenzelm
parents: 4832
diff changeset
    17
Goalw [delta_def] "delta A [] s = s";
5132
24f992a25adc isatool expandshort;
wenzelm
parents: 5069
diff changeset
    18
by (Simp_tac 1);
4832
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    19
qed "delta_Nil";
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    20
5069
3ea049f7979d isatool fixgoal;
wenzelm
parents: 4832
diff changeset
    21
Goalw [delta_def] "delta A (a#w) s = delta A w (next A a s)";
5132
24f992a25adc isatool expandshort;
wenzelm
parents: 5069
diff changeset
    22
by (Simp_tac 1);
4832
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    23
qed "delta_Cons";
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    24
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    25
Addsimps [delta_Nil,delta_Cons];
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    26
5069
3ea049f7979d isatool fixgoal;
wenzelm
parents: 4832
diff changeset
    27
Goal "!q ys. delta A (xs@ys) q = delta A ys (delta A xs q)";
5132
24f992a25adc isatool expandshort;
wenzelm
parents: 5069
diff changeset
    28
by (induct_tac "xs" 1);
4832
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    29
by (ALLGOALS Asm_simp_tac);
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    30
qed "delta_append";
bc11b5b06f87 Added conversion of reg.expr. to automata.
nipkow
parents:
diff changeset
    31
Addsimps [delta_append];