diff -r 4939494ed791 -r ce654b0e6d69 src/HOL/MicroJava/DFA/Semilat.thy --- a/src/HOL/MicroJava/DFA/Semilat.thy Tue Feb 13 14:24:50 2018 +0100 +++ b/src/HOL/MicroJava/DFA/Semilat.thy Thu Feb 15 12:11:00 2018 +0100 @@ -238,7 +238,7 @@ lemma is_lub_bigger1 [iff]: - "is_lub (r^* ) x y y = ((x,y)\r^* )" + "is_lub (r\<^sup>*) x y y = ((x,y)\r\<^sup>*)" (*<*) apply (unfold is_lub_def is_ub_def) apply blast @@ -246,7 +246,7 @@ (*>*) lemma is_lub_bigger2 [iff]: - "is_lub (r^* ) x y x = ((y,x)\r^* )" + "is_lub (r\<^sup>*) x y x = ((y,x)\r\<^sup>*)" (*<*) apply (unfold is_lub_def is_ub_def) apply blast @@ -254,12 +254,12 @@ (*>*) lemma extend_lub: - "\ single_valued r; is_lub (r^* ) x y u; (x',x) \ r \ - \ EX v. is_lub (r^* ) x' y v" + "\ single_valued r; is_lub (r\<^sup>*) x y u; (x',x) \ r \ + \ \v. is_lub (r\<^sup>*) x' y v" (*<*) apply (unfold is_lub_def is_ub_def) -apply (case_tac "(y,x) \ r^*") - apply (case_tac "(y,x') \ r^*") +apply (case_tac "(y,x) \ r\<^sup>*") + apply (case_tac "(y,x') \ r\<^sup>*") apply blast apply (blast elim: converse_rtranclE dest: single_valuedD) apply (rule exI) @@ -271,8 +271,8 @@ (*>*) lemma single_valued_has_lubs [rule_format]: - "\ single_valued r; (x,u) \ r^* \ \ (\y. (y,u) \ r^* \ - (EX z. is_lub (r^* ) x y z))" + "\single_valued r; (x,u) \ r\<^sup>*\ \ (\y. (y,u) \ r\<^sup>* \ + (\z. is_lub (r\<^sup>*) x y z))" (*<*) apply (erule converse_rtrancl_induct) apply clarify @@ -284,7 +284,7 @@ (*>*) lemma some_lub_conv: - "\ acyclic r; is_lub (r^* ) x y u \ \ some_lub (r^* ) x y = u" + "\acyclic r; is_lub (r\<^sup>*) x y u\ \ some_lub (r\<^sup>*) x y = u" (*<*) apply (unfold some_lub_def is_lub_def) apply (rule someI2) @@ -294,8 +294,8 @@ (*>*) lemma is_lub_some_lub: - "\ single_valued r; acyclic r; (x,u)\r^*; (y,u)\r^* \ - \ is_lub (r^* ) x y (some_lub (r^* ) x y)" + "\single_valued r; acyclic r; (x,u)\r\<^sup>*; (y,u)\r\<^sup>*\ + \ is_lub (r\<^sup>*) x y (some_lub (r\<^sup>*) x y)" (*<*) by (fastforce dest: single_valued_has_lubs simp add: some_lub_conv) (*>*) subsection\An executable lub-finder\ @@ -331,7 +331,7 @@ (*<*) apply(unfold exec_lub_def) apply(rule_tac P = "\z. (y,z) \ r\<^sup>* \ (z,u) \ r\<^sup>*" and - r = "(r \ {(a,b). (y,a) \ r\<^sup>* \ (b,u) \ r\<^sup>*})^-1" in while_rule) + r = "(r \ {(a,b). (y,a) \ r\<^sup>* \ (b,u) \ r\<^sup>*})\" in while_rule) apply(blast dest: is_lubD is_ubD) apply(erule conjE) apply(erule_tac z = u in converse_rtranclE) @@ -363,8 +363,8 @@ (*>*) lemma is_lub_exec_lub: - "\ single_valued r; acyclic r; (x,u):r^*; (y,u):r^*; \x y. (x,y) \ r \ f x = y \ - \ is_lub (r^* ) x y (exec_lub r f x y)" + "\ single_valued r; acyclic r; (x,u)\r\<^sup>*; (y,u)\r\<^sup>*; \x y. (x,y) \ r \ f x = y \ + \ is_lub (r\<^sup>*) x y (exec_lub r f x y)" (*<*) by (fastforce dest: single_valued_has_lubs simp add: exec_lub_conv) (*>*) end