Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Denotational semantics
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Abstraction== It is often considered important to connect denotational semantics with [[operational semantics]]. This is especially important when the denotational semantics is rather mathematical and abstract, and the operational semantics is more concrete or closer to the computational intuitions. The following properties of a denotational semantics are often of interest. #'''Syntax independence''': The denotations of programs should not involve the syntax of the source language. #'''Adequacy (or soundness)''': All [[observational equivalence|observably distinct]] programs have distinct denotations; #'''Full abstraction''': All observationally equivalent programs have equal denotations. For semantics in the traditional style, adequacy and full abstraction may be understood roughly as the requirement that "operational equivalence coincides with denotational equality". For denotational semantics in more intensional models, such as the [[actor model]] and [[process calculi]], there are different notions of equivalence within each model, and so the concepts of adequacy and of full abstraction are a matter of debate, and harder to pin down. Also the mathematical structure of operational semantics and denotational semantics can become very close. Additional desirable properties we may wish to hold between operational and denotational semantics are: #'''Constructivism''': [[Constructivism (mathematics)|Constructivism]] is concerned with whether domain elements can be shown to exist by constructive methods. #'''Independence of denotational and operational semantics''': The denotational semantics should be formalized using mathematical structures that are independent of the operational semantics of a programming language; However, the underlying concepts can be closely related. See the section on [[Denotational semantics#Compositionality|Compositionality]] below. #'''Full completeness''' or '''definability''': Every morphism of the semantic model should be the denotation of a program.<ref>{{cite journal | last = Curien | first = Pierre-Louis | title = Definability and Full Abstraction | journal = Electronic Notes in Theoretical Computer Science | volume = 172 | pages = 301β310 | doi = 10.1016/j.entcs.2007.02.011 | year = 2007 | doi-access = free }}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)