A symbolic and algebraic computation based Lambda-Boolean reduction machine via PROLOG

https://doi.org/10.1016/j.amc.2005.09.081Get rights and content

Abstract

This paper presents a new Lambda-Boolean reduction machine for Lambda-Boolean and Lambda-Beta Boolean reductions in the context of Lambda Calculus and introduces the role of Church–Rosser properties and functional computation model in symbolic and algebraic computation with induction. The algorithm which improved for Lambda-Beta Boolean reduction is simulated by the efficient logical programming language Prolog.

Introduction

The lambda calculus or λ-calculus shortly, is a formal system designed to investigate function, function application and recursion. It was introduced by Alonzo Church and Stephen Cole Kleene in the late 1930s and early 1940s [1], [6]. The calculus can be used to cleanly define what a computable function is [4]. The question of whether two lambda calculus expressions are equivalent cannot be solved by a general algorithm, and this was the first question, even before the halting problem, for which undecidability could be proved. Lambda calculus has greatly influenced logical programming languages as Lisp and Prolog [2].

The λ-Boolean theory is mainly concerned with λ-Boolean functions and their applications in the analysis of recursively defined λ-Boolean which represents Boolean functions. Their principal feature is that they are higher-order, that is, they give a systematic notation for Boolean operators and functions whose input and output values may be other Boolean operators or functions. Also, they are not based on the concept of set as Boolean algebra, but on that of function, or operator [7].

In particular, the fact that λ-Boolean calculus is based on the concepts of “Boolean operator”, “Boolean operation” and “λ-Boolean substitution axioms” in the context of λ-calculus. The concepts at the very heart of computer logic design make it particularly useful.

λ-Boolean calculus is also based on Boolean recursion in the context of λ-calculus. The concept of recursion is central in computer science, both for the theorists and practitioners [5].

In this paper, we will present a new interpreter for Lambda-Boolean reduction machine in the view of λ-calculus and introduce the role of Church–Rosser property in the point of symbolic and algebraic computation (SAC). Further information on λ-Boolean Theory is in [7], and references such as “[7.1]” will refer to paragraphs throughout the paper.

Section snippets

Basics

This section gives the basic definitions and notation for constructing the theoretical background.

Definition 2.1 7.1

Assume that there is given an infinite sequence of symbols called Boolean variables (to denote arbitrary Boolean operators). The true value T and the false value F (T  λxy · x, F  λxy · y) are called truth values. The set of λ-Boolean terms (λB-terms) is defined inductively as follows:

  • (i)

    All variables and truth values are λB-terms.

  • (ii)

    PMN is a λB-term if each of P, M and N is a λB-term already defined.

Definition 2.2 7.2

The λ

Construction the SAC-based lambda-boolean reduction machine by induction

The Lambda-Boolean reduction machine consists of three algorithms for applying of the rules of Lambda-Boolean and Lambda-Beta Boolean reductions for reducing the redexes in the Lambda-Boolean theory to the truth values in a particular order.

Algorithm 3.1

λB-R: Lambda-Boolean Reduction

  • Algorithm λB-R

  •  Input

  •  G: λB-term (in the form PMN)

  •  Output

  •  λB-term

  •  λB-R(P, P1)

  •  λB-R(M, M1)

  •  λB-R(N, N1)

  •  Apply-Boolean Reduction Axioms (P1N1M1, Reduced Term) – by Definition 2.5

  •  Return (Reduced Term)

  • End Algorithm

Algorithm 3.2

λβB-R: Lambda-Beta Boolean Reduction

  • Algorithm λβB-R

  •  Input

  •  G: λB-term of one variable

  •  z: Variable

  •  H:

References (7)

  • A. Church

    An unsolvable problem of elementary number theory

    American Journal of Mathematics

    (1936)
  • D.S. Warren

    Computing with Logic: Logic Programming with Prolog

    (1986)
  • H. Abramson et al.

    Logic Grammars

    (1989)
There are more references available in the full text version of this article.

Cited by (1)

View full text