inductive
big_step :: "penv × venv × nat ==> com × store ==> store ==> bool"
(‹_ ⊨ _ ==> _› [60,0,60] 55) where
Skip: "e ⊨ (SKIP,s) ==> s" |
Assign: "(pe,ve,f) ⊨ (x ::= a,s) ==> s(ve x := aval a (s o ve))" |
Seq: "[ e ⊨ (c🪙1,s🪙1) ==> s🪙2; e ⊨ (c🪙2,s🪙2) ==> s🪙3 ]==> e ⊨ (c🪙1;;c🪙2, s🪙1) ==> s🪙3" |
IfTrue: "[ bval b (s ∘ venv e); e ⊨ (c🪙1,s) ==> t ]==> e ⊨ (IF b THEN c🪙1 ELSE c🪙2, s) ==> t" |
IfFalse: "[¬bval b (s ∘ venv e); e ⊨ (c🪙2,s) ==> t ]==> e ⊨ (IF b THEN c🪙1 ELSE c🪙2, s) ==> t" |
WhileFalse: "¬bval b (s ∘ venv e) ==> e ⊨ (WHILE b DO c,s) ==> s" |
WhileTrue: "[ bval b (s🪙1 ∘ venv e); e ⊨ (c,s🪙1) ==> s🪙2; e ⊨ (WHILE b DO c, s🪙2) ==> s🪙3 ]==> e ⊨ (WHILE b DO c, s🪙1) ==> s🪙3" |
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.