equal
deleted
inserted
replaced
1 (*<*)theory PDL = Base:(*>*) |
1 (*<*)theory PDL = Base:(*>*) |
2 |
2 |
3 subsection{*Propositional dynmic logic---PDL*} |
3 subsection{*Propositional dynamic logic---PDL*} |
4 |
4 |
5 text{* |
5 text{*\index{PDL|(} |
6 The formulae of PDL are built up from atomic propositions via the customary |
6 The formulae of PDL are built up from atomic propositions via the customary |
7 propositional connectives of negation and conjunction and the two temporal |
7 propositional connectives of negation and conjunction and the two temporal |
8 connectives @{text AX} and @{text EF}. Since formulae are essentially |
8 connectives @{text AX} and @{text EF}. Since formulae are essentially |
9 (syntax) trees, they are naturally modelled as a datatype: |
9 (syntax) trees, they are naturally modelled as a datatype: |
10 *} |
10 *} |
57 "mc(Atom a) = {s. a \<in> L s}" |
57 "mc(Atom a) = {s. a \<in> L s}" |
58 "mc(Neg f) = -mc f" |
58 "mc(Neg f) = -mc f" |
59 "mc(And f g) = mc f \<inter> mc g" |
59 "mc(And f g) = mc f \<inter> mc g" |
60 "mc(AX f) = {s. \<forall>t. (s,t) \<in> M \<longrightarrow> t \<in> mc f}" |
60 "mc(AX f) = {s. \<forall>t. (s,t) \<in> M \<longrightarrow> t \<in> mc f}" |
61 "mc(EF f) = lfp(\<lambda>T. mc f \<union> M^-1 ^^ T)" |
61 "mc(EF f) = lfp(\<lambda>T. mc f \<union> M^-1 ^^ T)" |
62 |
|
63 |
62 |
64 text{*\noindent |
63 text{*\noindent |
65 Only the equation for @{term EF} deserves some comments. Remember that the |
64 Only the equation for @{term EF} deserves some comments. Remember that the |
66 postfix @{text"^-1"} and the infix @{text"^^"} are predefined and denote the |
65 postfix @{text"^-1"} and the infix @{text"^^"} are predefined and denote the |
67 converse of a relation and the application of a relation to a set. Thus |
66 converse of a relation and the application of a relation to a set. Thus |
197 Fortunately, @{term"EN f"} can already be expressed as a PDL formula. How? |
196 Fortunately, @{term"EN f"} can already be expressed as a PDL formula. How? |
198 |
197 |
199 Show that the semantics for @{term EF} satisfies the following recursion equation: |
198 Show that the semantics for @{term EF} satisfies the following recursion equation: |
200 @{prop[display]"(s \<Turnstile> EF f) = (s \<Turnstile> f | s \<Turnstile> EN(EF f))"} |
199 @{prop[display]"(s \<Turnstile> EF f) = (s \<Turnstile> f | s \<Turnstile> EN(EF f))"} |
201 \end{exercise} |
200 \end{exercise} |
|
201 \index{PDL|)} |
202 *} |
202 *} |
203 (*<*) |
203 (*<*) |
204 theorem main: "mc f = {s. s \<Turnstile> f}"; |
204 theorem main: "mc f = {s. s \<Turnstile> f}"; |
205 apply(induct_tac f); |
205 apply(induct_tac f); |
206 apply(auto simp add:EF_lemma); |
206 apply(auto simp add:EF_lemma); |