Algebraic semantics

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In programming language theory, the algebraic semantics of a programming language is a form of axiomatic semantics based on algebraic laws for describing and reasoning about program semantics in a formal manner.

In mathematical logic, algebraic semantics is a formal semantics based on algebras studied as part of algebraic logic. For example, the modal logic S4 is characterized by the class of topological boolean algebras—that is, boolean algebras with an interior operator. Other modal logics are characterized by various other algebras with operators. The class of boolean algebras characterizes classical propositional logic, and the class of Heyting algebras propositional intuitionistic logic.

[edit] See also

[edit] Further reading

  • Josep Maria Font; Ramón Jansana (1996). A general algebraic semantics for sentential logics. Springer-Verlag. ISBN 9783540616993.  (2nd published by ASL in 2009) open access at Project Euclid
  • W.J. Blok; Don Pigozzi (1989). Algebraizable logics. American Mathematical Society. ISBN 0821824597. 
  • Janusz Czelakowski (2001). Protoalgebraic logics. Springer. ISBN 9780792369400. 
  • J. Michael Dunn; Gary M. Hardegree (2001). Algebraic methods in philosophical logic. Oxford University Press. ISBN 9780198531920.  Good introduction for readers with prior exposure to non-classical logics but without much background in order theory and/or universal algebra; the book covers these prerequisites at length. The book however has been criticized for poor and sometimes incorrect presentation of AAL results. [1]
  • Eric G. Wagner (1995). "Algebraic Semantic". In Samson Abramsky, Dov M. Gabbay, Thomas S. E. Maibaum. Handbook of Logic in Computer Science: Semantic structures. 3. Clarendon Press. ISBN 9780198537625. 
  • Joseph Goguen; Grant Malcolm (1996). Algebraic semantics of imperative programs. MIT Press. ISBN 9780262071727. 
Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages