Jaime Sánchez-Hernández

Learn More
A distinctive feature of modern functional logic languages like Toy or Curry is the possibility of programming non-strict and non-deterministic functions with call-time choice semantics. For almost ten years the CRWL framework [6,7] has been the only formal setting covering all these semantic aspects. But recently [1] an alternative proposal has appeared,(More)
How to extract negative information from programs is an important issue in logic programming. Here we address the problem for functional logic programs, from a proof-theoretic perspective. The starting point of our work is CRWL (Constructor based ReWriting Logic), a well established theoretical framework for functional logic programming, whose fundamental(More)
Non-confluent and non-terminating rewrite systems are interesting from the point of view of programming. In particular, existing functional logic languages use such kind of rewrite systems to define possibly non-strict non-deterministic functions. The semantics adopted for non-determinism is call-time choice, whose combination with non-strictness is not a(More)
How to extract negative information from programs is an important issue in logic programming. Here we address the problem for functional logic programs, from a proof-theoretic perspective. The starting point of our work is CRWL (Constructor based ReWriting Logic), a well established theoretical framework for functional logic programming , whose fundamental(More)
It is known that the behavior of non-deterministic functions with call-time choice semantics, present in current functional logic languages , is not well described by usual approaches to reduction like ordinary term rewriting systems or λ-calculus. The presence of HO features makes things more difficult, since reasoning principles that are essential in a(More)
A constructor-based rewriting logic (CRWL) has been recently proposed as an appropriate basis for functional logic programming. In this paper we extend such framework, to cope with disequality constraints, which are a useful and expressive resource from the point of view of programming. As an important application of the enhanced framework, we show how to(More)
Finite failure of computations plays an important role as programming construct in the logic programming paradigm, and it has been shown that this also extends to the case of the functional logic programming paradigm. In particular we have considered CRWLF, a previous proof-theoretic semantic framework able to deduce negative (failure) information from(More)
Functional-logic programming amalgamates some of the main features of both functional and logic styles into a single paradigm. Nevertheless, negation is a widely investigated feature in logic programming that has not received much attention in such programming style. It is not difficult to incorporate some kind of negation as finite failure for ground(More)
This paper adds the handling of negative information to a functional-logic deductive database language. By adopting as semantics for negation the so-called CRWLF, wherein the negation is intended as 'finite failure' of reduction, we will define Herbrand algebras and models for this semantics and a fix point operator to be used in a new goal-directed(More)