definition
InitStatuses :: "('s,'a) kripke => 's set"where "InitStatuses == fst o snd o Rep_kripke"
definition
StepRel :: "('s,'a) kripke => ('s * 's) set"where "StepRel == fst o snd o snd o Rep_kripke"
definition
LabelFun :: "('s,'a) kripke => ('s ⇀ 'a set)"where "LabelFun == snd o snd o snd o Rep_kripke"
definition
Paths :: "[('s,'a) kripke, 's] => (nat => 's) set"where "Paths M S == { p . S = p (0::nat) ∧ (∀i. (p i, p (i+1)) ∈ (StepRel M))}"
datatype ('s,'a) ctl = Atom "'a"
| AND"('s,'a) ctl""('s,'a) ctl"
| OR "('s,'a) ctl""('s,'a) ctl"
| IMPLIES "('s,'a) ctl""('s,'a) ctl"
| CAX "('s,'a) ctl"
| AF "('s,'a) ctl"
| AG "('s,'a) ctl"
| AU "('s,'a) ctl""('s,'a) ctl"
| AR "('s,'a) ctl""('s,'a) ctl"
primrec
eval_ctl :: "[('s,'a) kripke, 's, ('s,'a) ctl] => bool" (‹_,_ |=c= _› [92,91,90]90) where "(M,S |=c= (Atom P)) = (P ∈ the ((LabelFun M) S))"
| "(M,S |=c= (AND F1 F2)) = ((M,S |=c= F1) ∧ (M,S |=c= F2))"
| "(M,S |=c= (OR F1 F2)) = ((M,S |=c= F1) ∨ (M,S |=c= F2))"
| "(M,S |=c= (IMPLIES F1 F2)) = ((M,S |=c= F1) ⟶ (M,S |=c= F2))"
| "(M,S |=c= (CAX F)) = (∀ T. (S,T) ∈ (StepRel M) ⟶ (M,T |=c= F))"
| "(M,S |=c= (AF F)) = (∀ P ∈ Paths M S. ∃ i. (M,(P i) |=c= F))"
| "(M,S |=c= (AG F)) = (∀ P ∈ Paths M S. ∀ i. (M,(P i) |=c= F))"
| "(M,S |=c= (AU F G)) = (∀ P ∈ Paths M S. ∃ i. (M,(P i) |=c= G) ∧ (∀ j. j < i ⟶ (M,(P j) |=c= F)))"
| "(M,S |=c= (AR F G)) = (∀ P ∈ Paths M S. ∀ i. (M,(P i) |=c= G) ∨ (∃ j. j < i ∧ (M,(P j) |=c= F)))"
end
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.8Bemerkung:
(vorverarbeitet am 2026-09-29)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.