definition
UpdateOverride :: "['d pupdate, 'd update] => 'd update" (‹(_ [U+]/ _)› [10,11]10) where "UpdateOverride U P = Abs_update (λ DA . (U !! DA) [D+] (P !!! DA))"
(* -------------------------------------------------------------- *) (* We use our own FoldSet operator simular to the definition *) (* of Isabelle 2002. Note, it is different to the definition *) (* in Isabelle 2009. Basically we express "f (g x)" by "h x" *) (* -------------------------------------------------------------- *)
inductive
FoldSet :: "('b => 'a => 'a) => 'a => 'b set => 'a => bool" for h :: "'b => 'a => 'a" and z :: 'a where
emptyI [intro]: "FoldSet h z {} z"
| insertI [intro]: "[ x ∉ A; FoldSet h z A y ] ==> FoldSet h z (insert x A) (h x y)"
definition
SequentialRacing :: "('d pupdate set) => ('d update set)"where "SequentialRacing U = {u. FoldSet UpdateOverride DefaultUpdate U u}"
lemma FoldSet_imp_finite: "FoldSet h z A x ==> finite A" by (induct set: FoldSet) auto
lemma finite_imp_FoldSet: "finite A ==>∃ x. FoldSet h z A x" by (induct set: finite) auto
lemma finite_SequentialRacing: "finite US ==> (SOME u. u ∈ SequentialRacing US) ∈ SequentialRacing US" apply (unfold SequentialRacing_def) apply auto apply (drule_tac h=UpdateOverride and z=DefaultUpdate in finite_imp_FoldSet) apply auto apply (rule someI) apply auto done
end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-10)
¤
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.