doc-src/TutorialI/CTL/CTL.thy
changeset 10217 e61e7e1eacaf
parent 10212 33fe2d701ddd
child 10225 b9fd52525b69
equal deleted inserted replaced
10216:e928bdf62014 10217:e61e7e1eacaf
   362 
   362 
   363  apply(auto dest:not_in_lfp_afD);
   363  apply(auto dest:not_in_lfp_afD);
   364 done;
   364 done;
   365 
   365 
   366 text{*
   366 text{*
   367 The main theorem is proved as for PDL, except that we also derive the necessary equality
   367 If you found the above proofs somewhat complicated we recommend you read
   368 @{text"lfp(af A) = ..."} by combining @{thm[source]AF_lemma1} and @{thm[source]AF_lemma2}
   368 \S\ref{sec:CTL-revisited} where we shown how inductive definitions lead to
   369 on the spot:
   369 simpler arguments.
       
   370 
       
   371 The main theorem is proved as for PDL, except that we also derive the
       
   372 necessary equality @{text"lfp(af A) = ..."} by combining
       
   373 @{thm[source]AF_lemma1} and @{thm[source]AF_lemma2} on the spot:
   370 *}
   374 *}
   371 
   375 
   372 theorem "mc f = {s. s \<Turnstile> f}";
   376 theorem "mc f = {s. s \<Turnstile> f}";
   373 apply(induct_tac f);
   377 apply(induct_tac f);
   374 apply(auto simp add: EF_lemma equalityI[OF AF_lemma1 AF_lemma2]);
   378 apply(auto simp add: EF_lemma equalityI[OF AF_lemma1 AF_lemma2]);