diff -r d688a01b8f89 -r 1a4e5b94293b thys/Sulzmann.thy --- a/thys/Sulzmann.thy Mon Sep 10 21:41:54 2018 +0100 +++ b/thys/Sulzmann.thy Sun Sep 30 12:02:04 2018 +0100 @@ -312,9 +312,19 @@ } then show "blexer r s = lexer r s" unfolding blexer_def lexer_flex - by(auto simp add: bnullable_correctness[symmetric]) + apply(subst bnullable_correctness[symmetric]) + apply(simp) + done qed +fun simp where + "simp (AALT bs a AZERO) = fuse bs (simp a)" +| "simp (AALT bs AZERO a) = fuse bs (simp a)" +| "simp (ASEQ bs a AZERO) = AZERO" +| "simp (ASEQ bs AZERO a) = AZERO" +| "simp a = a" + + unused_thms end \ No newline at end of file