Logic and computation: interactive proof with Cambridge LCF
Logic and computation: interactive proof with Cambridge LCF
Handbook of theoretical computer science (vol. B)
Conditional rewriting logic as a unified model of concurrency
Selected papers of the Second Workshop on Concurrency and compositionality
Nondeterministic algebraic specifications and nonconfluent term rewriting
Journal of Logic Programming
Inductive theorem proving for design specifications
Journal of Symbolic Computation
Swinging types = functions + relations + transition systems
Theoretical Computer Science
A Rewriting Logic for Declarative Programming
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
Optimal Non-deterministic Functional Logic Computations
ALP '97-HOA '97 Proceedings of the 6th International Joint Conference on Algebraic and Logic Programming
Constructor-based conditional narrowing
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
A proof theoretic approach to failure in functional logic programming
Theory and Practice of Logic Programming
Correction of functional logic programs
ESOP'03 Proceedings of the 12th European conference on Programming
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
Semantic Determinism and Functional Logic Program Properties
Electronic Notes in Theoretical Computer Science (ENTCS)
Call pattern analysis for functional logic programs
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
Logic-Based Program Synthesis and Transformation
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Communications of the ACM
Multi-paradigm declarative languages
ICLP'07 Proceedings of the 23rd international conference on Logic programming
A modular semantics for higher-order declarative programming with constraints
Proceedings of the 13th international ACM SIGPLAN symposium on Principles and practices of declarative programming
Hi-index | 0.02 |
We address in this paper the question of how to verify program properties in modern functional logic languages, where it is allowed the presence of non-deterministic functions with call-time choice semantics. The main problem to face is that for such kind of programs equational reasoning is not valid. We develop some logical conceptual tools providing sound reasoning mechanisms for these programs, in particular for proving properties valid in the initial model of a program. We show how CRWL, a well known logical framework for functional logic programming, can be easily mapped into logic programming, and we use this mapping as a starting point of our work. We explore then how to prove properties of the resulting logic programming translation by means of different existing interactive proof assistants, and afterwards we give some proposals trying to overcome the limitations of the approach, specially with respect to its theoretical strength.