doc-src/TutorialI/CTL/CTL.thy
changeset 10237 875bf54b5d74
parent 10235 20cf817f3b4a
child 10242 028f54cd2cc9
equal deleted inserted replaced
10236:7626cb4e1407 10237:875bf54b5d74
   179 apply(rule ssubst[OF lfp_unfold[OF mono_af]]);
   179 apply(rule ssubst[OF lfp_unfold[OF mono_af]]);
   180 apply(simp add:af_def);
   180 apply(simp add:af_def);
   181 done;
   181 done;
   182 
   182 
   183 text{*\noindent
   183 text{*\noindent
   184 is proved by a variant of contraposition (@{thm[source]contrapos_np}:
   184 is proved by a variant of contraposition:
   185 @{thm contrapos_np[no_vars]}), i.e.\ assuming the negation of the conclusion
   185 assume the negation of the conclusion and prove @{term"s : lfp(af A)"}.
   186 and proving @{term"s : lfp(af A)"}. Unfolding @{term lfp} once and
   186 Unfolding @{term lfp} once and
   187 simplifying with the definition of @{term af} finishes the proof.
   187 simplifying with the definition of @{term af} finishes the proof.
   188 
   188 
   189 Now we iterate this process. The following construction of the desired
   189 Now we iterate this process. The following construction of the desired
   190 path is parameterized by a predicate @{term P} that should hold along the path:
   190 path is parameterized by a predicate @{term P} that should hold along the path:
   191 *};
   191 *};
   331 
   331 
   332 theorem AF_lemma2:
   332 theorem AF_lemma2:
   333 "{s. \<forall> p \<in> Paths s. \<exists> i. p i \<in> A} \<subseteq> lfp(af A)";
   333 "{s. \<forall> p \<in> Paths s. \<exists> i. p i \<in> A} \<subseteq> lfp(af A)";
   334 
   334 
   335 txt{*\noindent
   335 txt{*\noindent
   336 The proof is again pointwise and then by contraposition (@{thm[source]contrapos_pp} is the rule
   336 The proof is again pointwise and then by contraposition:
   337 @{thm contrapos_pp}):
       
   338 *};
   337 *};
   339 
   338 
   340 apply(rule subsetI);
   339 apply(rule subsetI);
   341 apply(erule contrapos_pp);
   340 apply(erule contrapos_pp);
   342 apply simp;
   341 apply simp;