# HG changeset patch # User wenzelm # Date 1452342677 -3600 # Node ID 8d75ff14e3e963f9c88e3e0a3943a4e2790134bd # Parent d65f80949ff1ce5ca5830aff96baef4f9c105cff tuned syntax; diff -r d65f80949ff1 -r 8d75ff14e3e9 src/HOL/HOLCF/ex/Concurrency_Monad.thy --- a/src/HOL/HOLCF/ex/Concurrency_Monad.thy Sat Jan 09 13:00:04 2016 +0100 +++ b/src/HOL/HOLCF/ex/Concurrency_Monad.thy Sat Jan 09 13:31:17 2016 +0100 @@ -200,23 +200,23 @@ lemma zipR_strict2 [simp]: "zipR\f\r\\ = \" by (fixrec_simp, cases r, simp_all) -abbreviation apR (infixl "\" 70) - where "a \ b \ zipR\ID\a\b" +abbreviation apR (infixl "\" 70) + where "a \ b \ zipR\ID\a\b" text {* Proofs that @{text zipR} satisfies the applicative functor laws: *} -lemma R_homomorphism: "Done\f \ Done\x = Done\(f\x)" +lemma R_homomorphism: "Done\f \ Done\x = Done\(f\x)" by simp -lemma R_identity: "Done\ID \ r = r" +lemma R_identity: "Done\ID \ r = r" by (induct r, simp_all add: mapN_mapN eta_cfun) -lemma R_interchange: "r \ Done\x = Done\(\ f. f\x) \ r" +lemma R_interchange: "r \ Done\x = Done\(\ f. f\x) \ r" by (induct r, simp_all add: mapN_mapN) text {* The associativity rule is the hard one! *} -lemma R_associativity: "Done\cfcomp \ r1 \ r2 \ r3 = r1 \ (r2 \ r3)" +lemma R_associativity: "Done\cfcomp \ r1 \ r2 \ r3 = r1 \ (r2 \ r3)" proof (induct r1 arbitrary: r2 r3) case (Done x1) thus ?case proof (induct r2 arbitrary: r3)