(* Title: HOL/HOLCF/IMP/Denotational.thy Author: Tobias Nipkow and Robert Sandner, TUM Copyright 1996 TUM
*)
section "Denotational Semantics of Commands in HOLCF"
theory Denotational imports HOLCF "HOL-IMP.Big_Step"begin
subsection "Definition"
definition
dlift :: "(('a::type) discr -> 'b::pcpo) => ('a lift -> 'b)"where "dlift f = (LAM x. case x of UU \ UU | Def y \ f\(Discr y))"
primrec D :: "com \ state discr \ state lift" where "D(SKIP) = (LAM s. Def(undiscr s))"
| "D(X ::= a) = (LAM s. Def((undiscr s)(X := aval a (undiscr s))))"
| "D(c0 ;; c1) = (dlift(D c1) oo (D c0))"
| "D(IF b THEN c1 ELSE c2) =
(LAM s. if bval b (undiscr s) then (D c1)\<cdot>s else (D c2)\<cdot>s)"
| "D(WHILE b DO c) = fix\<cdot>(LAM w s. if bval b (undiscr s) then (dlift w)\<cdot>((D c)\<cdot>s)
else Def(undiscr s))"
subsection "Equivalence of Denotational Semantics in HOLCF and Evaluation Semantics in HOL"
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 ist noch experimentell.