Got rid of NAe.delta
authornipkow
Thu, 07 May 1998 13:02:23 +0200
changeset 4900 a4301a63bf5c
parent 4899 447d6b2956ba
child 4901 d492b2ab7351
Got rid of NAe.delta
src/HOL/Lex/Automata.ML
src/HOL/Lex/NAe.ML
src/HOL/Lex/NAe.thy
--- a/src/HOL/Lex/Automata.ML	Wed May 06 13:01:45 1998 +0200
+++ b/src/HOL/Lex/Automata.ML	Thu May 07 13:02:23 1998 +0200
@@ -22,12 +22,12 @@
 (*** Direct equivalence of NAe and DA ***)
 
 goalw thy [nae2da_def]
- "!Q. (eps A)^* ^^ (DA.delta (nae2da A) w Q) = lift(NAe.delta A w) Q";
+ "!Q. (eps A)^* ^^ (DA.delta (nae2da A) w Q) = steps A w ^^ Q";
 by(induct_tac "w" 1);
- by(ALLGOALS Asm_simp_tac);
- by(Blast_tac 1);
+ by (Simp_tac 1);
+by(asm_full_simp_tac (simpset() addsimps [step_def]) 1);
 by(Blast_tac 1);
-qed_spec_mp "espclosure_DA_delta_is_lift_NAe_delta";
+qed_spec_mp "espclosure_DA_delta_is_steps";
 
 goalw thy [nae2da_def]
  "fin (nae2da A) Q = (? q : (eps A)^* ^^ Q. fin A q)";
@@ -36,8 +36,7 @@
 
 goalw thy [NAe.accepts_def,DA.accepts_def]
   "NAe.accepts A w = DA.accepts (nae2da A) w";
-by(simp_tac (simpset() addsimps [lemma,steps_equiv_delta,
-     espclosure_DA_delta_is_lift_NAe_delta]) 1);
+by(simp_tac (simpset() addsimps [lemma,espclosure_DA_delta_is_steps]) 1);
 by(simp_tac (simpset() addsimps [nae2da_def]) 1);
 by(Blast_tac 1);
 qed "NAe_DA_equiv";
--- a/src/HOL/Lex/NAe.ML	Wed May 06 13:01:45 1998 +0200
+++ b/src/HOL/Lex/NAe.ML	Thu May 07 13:02:23 1998 +0200
@@ -42,7 +42,7 @@
 qed "in_steps_append";
 AddIffs [in_steps_append];
 
-(** Equivalence of steps and delta **)
+(* Equivalence of steps and delta
 (* Use "(? x : f `` A. P x) = (? a:A. P(f x))" ?? *)
 goal thy "!p. (p,q) : steps A w = (q : delta A w p)";
 by (induct_tac "w" 1);
@@ -50,3 +50,4 @@
 by (asm_simp_tac (simpset() addsimps [comp_def,step_def]) 1);
 by(Blast_tac 1);
 qed_spec_mp "steps_equiv_delta";
+*)
--- a/src/HOL/Lex/NAe.thy	Wed May 06 13:01:45 1998 +0200
+++ b/src/HOL/Lex/NAe.thy	Thu May 07 13:02:23 1998 +0200
@@ -22,13 +22,14 @@
 "steps A [] = (eps A)^*"
 "steps A (a#w) = steps A w  O  step A (Some a)  O  (eps A)^*"
 
+constdefs
+ accepts :: ('a,'s)nae => 'a list => bool
+"accepts A w == ? q. (start A,q) : steps A w & fin A q"
+
+(* not really used:
 consts delta :: "('a,'s)nae => 'a list => 's => 's set"
 primrec delta list
 "delta A [] s = (eps A)^* ^^ {s}"
 "delta A (a#w) s = lift(delta A w) (lift(next A (Some a)) ((eps A)^* ^^ {s}))"
-
-constdefs
- accepts :: ('a,'s)nae => 'a list => bool
-"accepts A w == ? q. (start A,q) : steps A w & fin A q"
-
+*)
 end