Formal Semantics is a topic of major importance in the study of programming language design. Action semantics is a recently developed framework for the specification of formal semantics which allows understandable, modular and reusable semantic descriptions of programming languages. Action laws are algebraic properties of primitive actions and action combinators which can be used to prove the existence of semantic equivalence between pairs of constructs, expressions etc. of programming language.
This thesis endeavours to show how action semantics can be formalised computationally by reporting on the representation of the kernel of action notation in CAML. CAML is a functional language whose type systems allow the user to define his/her own data structures. It allows the definitions of functions manipulating these data structures with the security provided by strict type verification. The representation of the kernel in the specification language of the Coq development system is also outlined. The Coq system is an implementation of the Calculus of Inductive Constructions and provides goal-directed tactic-driven proof search. The proof engine of the Coq system is then used to prove various action laws.
Metadata
Item Type:
Thesis (Master of Science)
Date of Award:
1996
Refereed:
No
Supervisor(s):
Power, James
Uncontrolled Keywords:
Semantics; Syntax; Formal methods; Programming languages; Language design