Results 11  20
of
47
Dynamic Predicates in Functional Logic Programs
 Journal of Functional and Logic Programming
, 2004
"... In this paper we propose a new concept to deal with dynamic predicates in functional logic programs. The definition of a dynamic predicate can change over time, i.e., one can add or remove facts that define this predicate. Our approach is easy to use and has a clear semantics that does not depend on ..."
Abstract

Cited by 14 (6 self)
 Add to MetaCart
In this paper we propose a new concept to deal with dynamic predicates in functional logic programs. The definition of a dynamic predicate can change over time, i.e., one can add or remove facts that define this predicate. Our approach is easy to use and has a clear semantics that does not depend on the particular (demanddriven) evaluation strategy of the underlying implementation. In particular, the concept is not based on (unsafe) side effects so that the order of evaluation does not influence the computed results—an essential requirement in nonstrict languages. Dynamic predicates can also be persistent so that their definitions are saved across invocations of programs. Thus, dynamic predicates are a lightweight alternative to the explicit use of external database systems. Moreover, they extend one of the classical application areas of logic programming to functional logic programs. We present the concept, its use and an implementation in a Prologbased compiler. 1 Motivation and Related Work Functional logic languages [11] aim to integrate the best features of functional and logic languages in order to provide a variety of programming concepts to the programmer. For instance, the concepts of demanddriven evaluation, higherorder functions, and polymorphic typing from functional programming can be combined with logic programming features like computing with partial information (logical variables), constraint solving, and nondeterministic search for solutions. This combination leads to optimal evaluation strategies [2] and new design patterns [4] that can be applied to provide better programming abstractions, e.g., for implementing graphical user interfaces [13] or programming dynamic web pages [14]. However, one of the traditional application areas of logic programming is not yet sufficiently covered in existing functional logic languages: the combination
A Debugging Scheme for Functional Logic Programs
 Proc. WFLP’2001
, 2002
"... We present a generic scheme for the declarative debugging of functional logic programs which is valid for eager as well as lazy programs. In particular we show that the framework extends naturally some previous work and applies to the most modern lazy strategies, such as needed narrowing. First we a ..."
Abstract

Cited by 13 (6 self)
 Add to MetaCart
We present a generic scheme for the declarative debugging of functional logic programs which is valid for eager as well as lazy programs. In particular we show that the framework extends naturally some previous work and applies to the most modern lazy strategies, such as needed narrowing. First we associate to our pro grams a semantics based on a (continuous) immediate consequence operator, which models computed answers. We show that, given the intended specification of a program 7, it is possible to check the correctness of 7 by a single step of Tn. We consider then a more effective methodology which is based on abstract interpretation: by approximating the intended specification of the success set we derive a finitely terminating diagnosis method, which can be used statically and is parametric w.r.t. to the chosen approximation. In order to correct the bugs, we sketch a preliminary deductive approach which uses exampleguided unfolding. We specialize the incorrect rules w.r.t. sets of positive and negative examples which are gathered (bottomup) during the diagnosis process, so that all refutations of nega tive examples and no refutation of positive examples are excluded. Our debugging framework does not require the user to either provide error symptoms in advance or answer diicult questions concerning program correctness. We extend an implementation of our system to the case of needed narrowing and illustrate it through some examples which demonstrate the practicality of our approach.
A Constraintbased Partial Evaluator for Functional Logic Programs and its Application
, 1998
"... The aim of this work is the development and application of a partial evaluation procedure for rewritingbased functional logic programs. Functional logic programming languages unite the two main declarative programming paradigms. The rewritingbased computational model extends traditional functional ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
The aim of this work is the development and application of a partial evaluation procedure for rewritingbased functional logic programs. Functional logic programming languages unite the two main declarative programming paradigms. The rewritingbased computational model extends traditional functional programming languages by incorporating logical features, including logical variables and builtin search, into its framework. This work is the first to address the automatic specialisation of these functional logic programs. In particular, a theoretical framework for the partial evaluation of rewritingbased functional logic programs is defined and its correctness is established. Then, an algorithm is formalised which incorporates the theoretical framework for the procedure in a fully automatic technique. Constraint solving is used to represent additional information about the terms encountered during the transformation in order to improve the efficiency and size of the residual programs. ...
Knowledge Representation, Computation, and Learning in Higherorder Logic
 In preparation
, 2001
"... This paper contains a systematic study of the foundations of knowledge representation, computation, and learning in higherorder logic. First, a polymorphicallytyped higherorder logic, whose origins can be traced back to Church's simple theory of types, is presented. A model theory and proof theor ..."
Abstract

Cited by 10 (7 self)
 Add to MetaCart
This paper contains a systematic study of the foundations of knowledge representation, computation, and learning in higherorder logic. First, a polymorphicallytyped higherorder logic, whose origins can be traced back to Church's simple theory of types, is presented. A model theory and proof theory for this logic are developed and basic theorems relating these two are given. A metric space of certain closed terms, which provides a rich language for representing individuals, is then studied. Also a method of systematically constructing predicates on such individuals is given. The technique of programming with abstractions is illustrated. Major applications of the logic to declarative programming languages and machine learning are indicated. 1
Probabilistic Modelling, Inference and Learning using Logical Theories
"... This paper provides a study of probabilistic modelling, inference and learning in a logicbased setting. We show how probability densities, being functions, can be represented and reasoned with naturally and directly in higherorder logic, an expressive formalism not unlike the (informal) everyday l ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
This paper provides a study of probabilistic modelling, inference and learning in a logicbased setting. We show how probability densities, being functions, can be represented and reasoned with naturally and directly in higherorder logic, an expressive formalism not unlike the (informal) everyday language of mathematics. We give efficient inference algorithms and illustrate the general approach with a diverse collection of applications. Some learning issues are also considered.
Knowledge representation and reasoning in modal higherorder logic
, 2007
"... This paper studies knowledge representation and reasoning in a polymorphicallytyped, multimodal, probabilistic, higherorder logic. A detailed account of the syntax and semantics of the logic is given. A reasoning system that combines computation and proof is presented, and the soundness of the rea ..."
Abstract

Cited by 7 (6 self)
 Add to MetaCart
This paper studies knowledge representation and reasoning in a polymorphicallytyped, multimodal, probabilistic, higherorder logic. A detailed account of the syntax and semantics of the logic is given. A reasoning system that combines computation and proof is presented, and the soundness of the reasoning system is proved. The main ideas
A Framework for HigherOrder Inductive Machine Learning
 IN PROCEEDINGS OF THE COMPULOGNET AREA MEETING ON REPRESENTATION ISSUES IN REASONING AND LEARNING
, 1997
"... This position paper presents a framework for inductive machine learning which includes higherorder concepts and is sufficiently general to include most of the extant (symbolic) inductive learning frameworks and systems. ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
This position paper presents a framework for inductive machine learning which includes higherorder concepts and is sufficiently general to include most of the extant (symbolic) inductive learning frameworks and systems.
A Unifying View of Knowledge Representation for Inductive Learning
 In preparation
, 2000
"... This paper provides a foundation for inductive learning based on the use of higherorder logic for knowledge representation. In particular, the paper (i) provides a systematic individualsasterms approach to knowledge representation for inductive learning, and demonstrates the utility of types an ..."
Abstract

Cited by 4 (4 self)
 Add to MetaCart
This paper provides a foundation for inductive learning based on the use of higherorder logic for knowledge representation. In particular, the paper (i) provides a systematic individualsasterms approach to knowledge representation for inductive learning, and demonstrates the utility of types and higherorder constructs for this purpose; (ii) gives a systematic way of constructing predicates for use in induced definitions; (iii) widens the applicability of decisiontree algorithms beyond the usual attributevalue setting to the classification of individuals with complex structure; and (iv) shows how to induce definitions which are comprehensible and have predictive power. The paper contains ten illustrative applications involving a variety of types to which a decisiontree learning system is applied. The e#ectiveness of the approach is further demonstrated by applying the learning system to two larger benchmark applications. 1 Introduction Inductive learning focuses on tec...
Declarative Debugging of Functional Logic Programs
, 2001
"... . We present a general framework for the declarative debugging of functional logic programs, which is valid both for eager as well as lazy programs. We associate with our programs a semantics based on a (continuous) immediate consequence operator which models computed answers. Then we show that, ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
. We present a general framework for the declarative debugging of functional logic programs, which is valid both for eager as well as lazy programs. We associate with our programs a semantics based on a (continuous) immediate consequence operator which models computed answers. Then we show that, given the intended specification of a program P , it is possible to check the correctness of P by a single step of the immediate consequence operator. Our methodology can be used both for bottomup as well as topdown (abstract) debugging. It is particularly suitable when pure functional logic programs are used as specification of other more efficient functional logic programs, going back to the origins, i.e. looking at declarative languages as languages for both rapid prototyping and implementation. We also present a more effective methodology which is based on abstract interpretation. By approximating the intended specification of the success set we derive a finitely terminating d...