Free theorems for functional logic programs

Jan Christiansen, Daniel Seidel, Janis Voigtländer
2010 Proceedings of the 4th ACM SIGPLAN workshop on Programming languages meets program verification - PLPV '10  
Type-based reasoning is popular in functional programming. In particular, parametric polymorphism constrains functions in such a way that statements about their behavior can be derived without consulting function definitions. Is the same possible in a strongly, and polymorphically, typed functional logic language? This is the question we study in this paper. Logical features like nondeterminism and free variables cause interesting effects, which we examine based on examples and address by
more » ... fying appropriate conditions that guarantee standard free theorems or inequational versions thereof to hold. We see this case study as a stepping stone for a general theory, not provided here, involving the definition of a logical relation and other machinery required for parametricity arguments appropriate to functional logic languages.
doi:10.1145/1707790.1707797 dblp:conf/plpv/ChristiansenSV10 fatcat:c57wryativdjdlqgscyz6ykj4e