Logic Programming for Theory Representation and Scientific Inference in Psychology

Dear community,

After many discussions about different approaches and implementations, including interesting debates with the reviewers, our paper Using Logic Programming for Theory Representation and Scientific Inference (by me and Håkan Kjellerstrand) has finally been published in the journal New Ideas in Psychology. In a nutshell, it discusses the advantages of logic programming (SWI Prolog) for describing, using and evaluating scientific theories in psychology.

I want to take this opportunity to extend a big thank you to the three anonymous reviewers and everybody in the community; without your kind help, it would not have been possible to realize the project. If anybody is interested, here is the abstract:

The aim of this paper is to show that logic programming is a powerful tool for representing scientific theories and for scientific inference. In a logic program it is possible to encode the qualitative and quantitative components of a theory in first order predicate logic, which is a highly expressive formal language. A theory program can then be handed to an algorithm that reasons about the theory. We discuss the advantages of logic programming with regard to building formal theories and present a novel software package for scientific inference: Theory Toolbox. Theory Toolbox can derive any conclusions that are entailed by a theory, explain why a certain conclusion follows from a theory, and evaluate a theory with regard to its internal coherence and generalizability. Because logic is, or should be, a cornerstone of scientific practice, we believe that our paper can make an important contribution to scientific psychology.

The open access paper can be found here. Documentation, code and theory examples for the latest version of Theory Toolbox are here (the examples and code mentioned in the paper instead refer to the older version of Theory Toobox).

I am always interested in ways to improve this project in the future, so any suggestions are very welcome :slight_smile: I already have some future developments in mind. First, I want to explore the potential of Attempto Controlled English (ACE) for theory representation and scientific inference; formal natural languages seem very interesting. Secondly, I want to study whether it is possible to use inductive logic programming (e.g. with Aleph or CPLINT) for generating psychological theories from empirical data.

Kind regards, JCR