A Proof Procedure for Functional First Order Logic Programs with Non-Deterministic Lazy Functions and Built-in Predicates

نویسنده

  • Nicolas Peltier
چکیده

We present a proof procedure for functional first-order logic programs. The programs we consider allow first-order goals (including disjunctions, conjunctions, negations, and quantifications on elements of the domain). Atoms are either built-in statements or reduction statements of the form t → s, meaning that t is reducible to s. Call-time choices are used and the functions are non-deterministic and non-strict, which allows to use a form of lazy narrowing for pruning the search space and avoiding divergence in some cases.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Towards a Safe Partial Evaluation of Lazy Functional Logic Programs

Partial Evaluation is a well-known technique for specializing programs w.r.t. a given restriction of their input data. Although partial evaluation has been widely investigated in the context of functional and functional logic languages like Haskell or Curry, current schemes are either overly restrictive or destroy sharing through the specialization process, which may produce incorrect specializ...

متن کامل

Observing Functional Logic Computations

A lightweight approach to debugging functional logic programs by observations is presented, implemented for the language Curry. The Curry Object Observation System (COOSy) comprises a portable library plus a viewing tool. A programmer can observe data structures and functions by annotating expressions in his program. The possibly partial values of observed expressions that are computed during p...

متن کامل

Link to record in

A lightweight approach to debugging functional logic programs by observations is presented, implemented for the language Curry. The Curry Object Observation System (COOSy) comprises a portable library plus a viewing tool. A programmer can observe data structures and functions by annotating expressions in his program. The possibly partial values of observed expressions that are computed during p...

متن کامل

A Rewriting Logic for Declarative Programming

Abst rac t . We propose an approach to declarative programming which integrates the functional and relational paradigms by taking possibly non-deterministic lazy functions as the fundamental notion. Programs in our paradigm are theories in a constructor-based conditional rewriting logic. We present proof calculi and a model theory for this logic, and we prove the existence of free term models w...

متن کامل

Automating Induction for Solving Horn Clauses

Verification problems of programs written in various paradigms (such as imperative, logic, concurrent, functional, and objectoriented ones) can be reduced to problems of solving Horn clause constraints on predicate variables that represent unknown inductive invariants. This paper presents a novel Horn constraint solving method based on inductive theorem proving: the method reduces Horn constrai...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Journal of Functional and Logic Programming

دوره 2004  شماره 

صفحات  -

تاریخ انتشار 2004