LabelFunSem :: "('s,'e,'d)hierauto
=> (('s,'e,'d)status ⇀ ((('s,'e,'d) atomar) set))" where
"LabelFunSem a = (λ ST.
(if (HA ST = a) then
(let
In_preds = (λ s. (IN s)) ` (Conf ST);
En_preds = (λ e. (EN e)) ` (Events ST);
Val_preds = { x . (∃ P. (x = (VAL P)) ∧ P (Value ST)) }
in
Some (In_preds ∪ En_preds ∪ Val_preds ∪ {atomar.TRUE}))
else
None))"
HA2Kripke :: "('s,'e,'d)hierauto => ('s,'e,'d)hakripke" where
"HA2Kripke a =
Abs_kripke ({ST. HA ST = a},
{InitStatus a},
StepRelSem a,
LabelFunSem a)"
"eval_ctl_HA a f = ((HA2Kripke a), (InitStatus a) |=c= f)"
Kripke_HA [simp]:
"Kripke {ST. HA ST = a} {InitStatus a} (StepRelSem a) (LabelFunSem a)"
(unfold Kripke_def)
auto
(unfold StepRelSem_def)
auto
(unfold LabelFunSem_def Let_def If_def dom_def)
auto
2
(rename_tac ST S)
(case_tac "HA ST = a")
auto
(rename_tac ST)
(case_tac "HPT ST = {}")
auto
(rename_tac TSS)
(erule_tac x="StepStatus ST TSS (@ u. u : ResolveRacing TSS)" in allE)
(erule_tac x=TSS in ballE)
auto
LabelFun_LabelFunSem [simp]:
"(LabelFun (HA2Kripke a)) = (LabelFunSem a)"
(unfold HA2Kripke_def LabelFun_def)
auto
(subst Abs_kripke_inverse)
auto
(unfold kripke_def)
auto
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.