definition
fcall:: "('s→'s) → 'p → ('s → 's → 's)→('s → 'v) → ('v→('s,'p,'f) com) →('s,'p,'f) com"where "fcall init p restore result return = call init p restore (λs t. return (result t))"
definition
lem:: "'x → ('s,'p,'f)com →('s,'p,'f)com"where "lem x c = c"
primrec switch:: "('s → 'v) → ('v set × ('s,'p,'f) com) list → ('s,'p,'f) com" where "switch v [] = Skip" | "switch v (Vc#vs) = Cond {s. v s ∈ fst Vc} (snd Vc) (switch v vs)"
definition guaranteeStrip:: "'f → 's set → ('s,'p,'f) com → ('s,'p,'f) com" where"guaranteeStrip f g c = Guard f g c"
definition guaranteeStripPair:: "'f → 's set → ('f × 's set)" where"guaranteeStripPair f g = (f,g)"
primrec guards:: "('f × 's set ) list → ('s,'p,'f) com → ('s,'p,'f) com" where "guards [] c = c" | "guards (g#gs) c = Guard (fst g) (snd g) (guards gs c)"
definition
while:: "('f × 's set) list → 's bexp → ('s,'p,'f) com → ('s, 'p, 'f) com" where "while gs b c = guards gs (While b (Seq c (guards gs Skip)))"
definition
whileAnno:: "'s bexp → 's assn → ('s × 's) assn → ('s,'p,'f) com → ('s,'p,'f) com"where "whileAnno b I V c = While b c"
definition
whileAnnoG:: "('f × 's set) list → 's bexp → 's assn → ('s × 's) assn → ('s,'p,'f) com → ('s,'p,'f) com"where "whileAnnoG gs b I V c = while gs b c"
definition
whileAnnoFix:: "'s bexp → ('a → 's assn) → ('a → ('s × 's) assn) → ('a → ('s,'p,'f) com) → ('s,'p,'f) com"where "whileAnnoFix b I V c = While b (c undefined)"
definition
whileAnnoGFix:: "('f × 's set) list → 's bexp → ('a → 's assn) → ('a → ('s × 's) assn) → ('a → ('s,'p,'f) com) → ('s,'p,'f) com"where "whileAnnoGFix gs b I V c = while gs b (c undefined)"
definition if_rel::"('s → bool) → ('s → 's) → ('s → 's) → ('s → 's) → ('s × 's) set" where"if_rel b f g h = {(s,t). if b s then t = f s else t = g s ∨ t = h s}"
lemma fst_guaranteeStripPair: "fst (guaranteeStripPair f g) = f" by (simp add: guaranteeStripPair_def)
lemma snd_guaranteeStripPair: "snd (guaranteeStripPair f g) = g" by (simp add: guaranteeStripPair_def)
end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-07-02)
¤
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.