I have several areas of research
The following selected papers and books are some of my favourites[i].
More details can be found at Academia.Edu
I take the central task of Theoretical Computing Science to be the construction of mathematical models of computational phenomena. Such models provide us with a deeper understanding of the nature of computation and representation. For example, the early work on computability theory provided a mathematical model of computation itself. Turing's work is of fundamental importance here. Adapting Gödel’s diagonalisation argument, he demonstrated that there are problems that do not admit of an algorithmic solution. He thus provided a mathematical model of computation that displayed its limitations. Later work on the semantics of programming languages enabled a precise articulation of the underlying differences between programming languages and led to a clearer understanding of the distinction between semantic representation and implementation. Early work in complexity theory supplied us with abstract notions which formally articulated informal ideas about the resources used during computation. I take this model building endeavour to be the central and fundamental role of theoretical computer science. It involves the construction of models from the Meccano-Kit supplied by logic, algebra, topology and set theory and, indeed, any branch of mathematics that proves useful. Such models provide the means of exploring the properties and limitations of computational concepts and systems that would otherwise be unavailable. In particular, mathematical and philosophical logic have supplied a rich source of such models. Conversely, computer science has inspired the development of new areas of logic. Linear logic and dynamic logic are two well known examples. It is in this interplay between logic and computation where much of my research resides.
· The Foundations of Specification: Journal Logic and Computation
· Computability in Specification: Journal Logic and Computation
· Computable Models: Journal Logic and Computation
· Type Inference for Set theory: Journal of Theoretical Computer Science
· Sets, Types and Type Checking: Journal Logic and Computation
· Types Handbook of Logic and Language
· Semantics and Stratification: Journal Logic and Computation
· Weak Theories of Operations and Types: Journal Logic and Computation
· Lazy Theories of Operations and Types: Journal Logic and Computation
· Constructive Z: Journal Logic and Computation
· Reading Between the Lines in Constructive Type Theory: Journal Logic and Computation
· Constructive Foundations of Functional Languages Mcgraw Hill Book Co Ltd (April 1991)
· Truth and Modality for Knowledge Representation (MIT Press)
· Logical Foundations of Nonmonotonic Reasoning (with N. Obeid): Journal of Artificial Intelligence Review.
Non Standard Logic is concerned with that part of formal logic that deals with proposed extensions or alternatives to classical logic. Such logics include intuitionistic logic, various 3 valued and partial logics, modal logic, typed logics, logics of time, conditional logics, including counterfactual logics, logic of truth and provability. The area also includes formal ontology and the logical foundations of natural language semantics. Here I have several areas of interest.
· Counterfactuals without Possible Worlds. Journal of Philosophical Logic
· Logics of Truth. Notre Dame Journal of Formal Logic
· A Theory of Properties Journal Symbolic Logic
· Three Theories of Nominalized Predicates Studia Logica
· Nominalization and Scott's domains. Notre Dame Journal of Formal Logic
· Semantics and Property Theory Linguistics and Philosophy
· Properties, Types and Meaning Vol 1,2. Springer
The Philosophy of Computer Science is concerned with philosophical issues that arise from reflection upon the nature and practice of the academic discipline of computer science. In this sense, it parallels the philosophies of mathematics and physics in being a parasitic philosophical discipline. But while physics and mathematics are well established disciplines, with broad agreement concerning their subject matter, computer science is new, its very nature unfixed and unclear. So part of the task will be to provide a somewhat clearer view of the content and personality of the subject.
· The Philosophy of Computer Science Stanford Encyclopedia of Philosophy
· Understanding Programming Languages Journal Minds and Machines
I have two current interests.
· Wittgenstein’s Philosophy of Mathematics.
[i] Copyright notice.
The documents accessible from these web pages are included by the contributing authors as a means to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reported without the explicit written permission of the copyright holder. All persons copying this information are expected to adhere to the terms and constraints invoked by each author’s copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.