doc-src/TutorialI/CTL/PDL.thy
changeset 10186 499637e8f2c6
parent 10178 aecb5bf6f76f
child 10210 e8aa81362f41
equal deleted inserted replaced
10185:c452fea3ce74 10186:499637e8f2c6
   156 \ \isadigit{1}{\isachardot}\ {\isasymAnd}t{\isachardot}\ t\ {\isasymin}\ A\ {\isasymLongrightarrow}\ t\ {\isasymin}\ lfp\ {\isacharparenleft}{\isasymlambda}T{\isachardot}\ A\ {\isasymunion}\ M{\isacharcircum}{\isacharminus}\isadigit{1}\ {\isacharcircum}{\isacharcircum}\ T{\isacharparenright}
   156 \ \isadigit{1}{\isachardot}\ {\isasymAnd}t{\isachardot}\ t\ {\isasymin}\ A\ {\isasymLongrightarrow}\ t\ {\isasymin}\ lfp\ {\isacharparenleft}{\isasymlambda}T{\isachardot}\ A\ {\isasymunion}\ M{\isacharcircum}{\isacharminus}\isadigit{1}\ {\isacharcircum}{\isacharcircum}\ T{\isacharparenright}
   157 \end{isabelle}
   157 \end{isabelle}
   158 is solved by unrolling @{term lfp} once
   158 is solved by unrolling @{term lfp} once
   159 *}
   159 *}
   160 
   160 
   161  apply(rule ssubst[OF lfp_Tarski[OF mono_ef]])
   161  apply(rule ssubst[OF lfp_unfold[OF mono_ef]])
   162 (*pr(latex xsymbols symbols);*)
   162 (*pr(latex xsymbols symbols);*)
   163 txt{*
   163 txt{*
   164 \begin{isabelle}
   164 \begin{isabelle}
   165 \ \isadigit{1}{\isachardot}\ {\isasymAnd}t{\isachardot}\ t\ {\isasymin}\ A\ {\isasymLongrightarrow}\ t\ {\isasymin}\ A\ {\isasymunion}\ M{\isacharcircum}{\isacharminus}\isadigit{1}\ {\isacharcircum}{\isacharcircum}\ lfp\ {\isacharparenleft}{\isasymlambda}T{\isachardot}\ A\ {\isasymunion}\ M{\isacharcircum}{\isacharminus}\isadigit{1}\ {\isacharcircum}{\isacharcircum}\ T{\isacharparenright}
   165 \ \isadigit{1}{\isachardot}\ {\isasymAnd}t{\isachardot}\ t\ {\isasymin}\ A\ {\isasymLongrightarrow}\ t\ {\isasymin}\ A\ {\isasymunion}\ M{\isacharcircum}{\isacharminus}\isadigit{1}\ {\isacharcircum}{\isacharcircum}\ lfp\ {\isacharparenleft}{\isasymlambda}T{\isachardot}\ A\ {\isasymunion}\ M{\isacharcircum}{\isacharminus}\isadigit{1}\ {\isacharcircum}{\isacharcircum}\ T{\isacharparenright}
   166 \end{isabelle}
   166 \end{isabelle}
   171 
   171 
   172 txt{*\noindent
   172 txt{*\noindent
   173 The proof of the induction step is identical to the one for the base case:
   173 The proof of the induction step is identical to the one for the base case:
   174 *}
   174 *}
   175 
   175 
   176 apply(rule ssubst[OF lfp_Tarski[OF mono_ef]])
   176 apply(rule ssubst[OF lfp_unfold[OF mono_ef]])
   177 apply(blast)
   177 apply(blast)
   178 done
   178 done
   179 
   179 
   180 text{*
   180 text{*
   181 The main theorem is proved in the familiar manner: induction followed by
   181 The main theorem is proved in the familiar manner: induction followed by
   211 done;
   211 done;
   212 
   212 
   213 lemma "(s \<Turnstile> EF f) = (s \<Turnstile> f | s \<Turnstile> Neg(AX(Neg(EF f))))";
   213 lemma "(s \<Turnstile> EF f) = (s \<Turnstile> f | s \<Turnstile> Neg(AX(Neg(EF f))))";
   214 apply(simp only:aux);
   214 apply(simp only:aux);
   215 apply(simp);
   215 apply(simp);
   216 apply(rule ssubst[OF lfp_Tarski[OF mono_ef]], fast);
   216 apply(rule ssubst[OF lfp_unfold[OF mono_ef]], fast);
   217 done
   217 done
   218 
   218 
   219 end
   219 end
   220 (*>*)
   220 (*>*)