diff -r 654b542ce8db -r 18d19d039ac9 thys/LexerExt.thy --- a/thys/LexerExt.thy Wed Mar 08 10:32:51 2017 +0000 +++ b/thys/LexerExt.thy Sat Mar 11 12:50:01 2017 +0000 @@ -781,11 +781,11 @@ \(\s\<^sub>3 s\<^sub>4. s\<^sub>3 \ [] \ s\<^sub>3 @ s\<^sub>4 = s2 \ (s1 @ s\<^sub>3) \ L r \ s\<^sub>4 \ L (NTIMES r n))\ \ (s1 @ s2) \ NTIMES r (Suc n) \ Stars (v # vs)" | Posix_NTIMES2: "[] \ NTIMES r 0 \ Stars []" -| Posix_FROMNTIMES1: "\s1 \ r \ v; s2 \ FROMNTIMES r n \ Stars vs; +| Posix_FROMNTIMES1: "\s1 \ r \ v; s2 \ FROMNTIMES r n \ Stars vs; \(\s\<^sub>3 s\<^sub>4. s\<^sub>3 \ [] \ s\<^sub>3 @ s\<^sub>4 = s2 \ (s1 @ s\<^sub>3) \ L r \ s\<^sub>4 \ L (FROMNTIMES r n))\ \ (s1 @ s2) \ FROMNTIMES r (Suc n) \ Stars (v # vs)" | Posix_FROMNTIMES2: "s \ STAR r \ Stars vs \ s \ FROMNTIMES r 0 \ Stars vs" -| Posix_NMTIMES1: "\s1 \ r \ v; s2 \ NMTIMES r n m \ Stars vs; +| Posix_NMTIMES1: "\s1 \ r \ v; s2 \ NMTIMES r n m \ Stars vs; flat v = [] \ flat (Stars vs) = []; \(\s\<^sub>3 s\<^sub>4. s\<^sub>3 \ [] \ s\<^sub>3 @ s\<^sub>4 = s2 \ (s1 @ s\<^sub>3) \ L r \ s\<^sub>4 \ L (NMTIMES r n m))\ \ (s1 @ s2) \ NMTIMES r (Suc n) (Suc m) \ Stars (v # vs)" | Posix_NMTIMES2: "s \ UPNTIMES r m \ Stars vs \ s \ NMTIMES r 0 m \ Stars vs" @@ -1164,7 +1164,7 @@ then obtain v' vs' where "v2 = Stars (v' # vs')" "s1 \ r \ v'" "s2 \ (NMTIMES r n m) \ (Stars vs')" apply(cases) apply (auto simp add: append_eq_append_conv2) using Posix1(1) apply fastforce - by (metis Posix1(1) Posix_NMTIMES1.hyps(5) append_Nil append_Nil2) + by (m etis Posix1(1) Posix_NMTIMES1.hyps(5) append_Nil append_Nil2) moreover have IHs: "\v2. s1 \ r \ v2 \ v = v2" "\v2. s2 \ NMTIMES r n m \ v2 \ Stars vs = v2" by fact+