fun aval :: "aexp ==> state ==> val option"where "aval (N i) s = Some i" | "aval (V x) s = s x" | "aval (Plus a🪙1 a🪙2) s = (case (aval a🪙1 s, aval a🪙2 s) of (Some i🪙1,Some i🪙2) ==> Some(i🪙1+i🪙2) | _ ==> None)"
fun bval :: "bexp ==> state ==> bool option"where "bval (Bc v) s = Some v" | "bval (Not b) s = (case bval b s of None ==> None | Some bv ==> Some(¬ bv))" | "bval (And b🪙1 b🪙2) s = (case (bval b🪙1 s, bval b🪙2 s) of (Some bv🪙1, Some bv🪙2) ==> Some(bv🪙1 & bv🪙2) | _ ==> None)" | "bval (Less a🪙1 a🪙2) s = (case (aval a🪙1 s, aval a🪙2 s) of (Some i🪙1, Some i🪙2) ==> Some(i🪙1 < i🪙2) | _ ==> None)"
lemma aval_Some: "vars a ⊆ dom s ==>∃ i. aval a s = Some i" by (induct a) auto
lemma bval_Some: "vars b ⊆ dom s ==>∃ bv. bval b s = Some bv" by (induct b) (auto dest!: aval_Some)
end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet am 2026-04-30)
¤
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.