A method of combining equality relation into existing logic programming languages is suggested. In this, equality relation is restricted in occurrences and forms so that only pure equations are allowed. Under these restrictions, however, many useful language features are still supported, which include user-definable abstract data types, concept of classes and generic operations, and some degree of equational style programming. Also the reduction algorithm adopted here has the same effect as the lazy evaluation, which broadens the extent of equational programming an greatly enhances the efficiency of the interpreters. But the most advantageous feature of this approach is that the underlying logic with its refutation procedure is logically complete. It guarantees that you can get a correct answer whenever there exists.
기존의 논리언어에 equality relation을 첨가시키는 한 가지 방법을 제시하였다. 여기서는 equality relation의 사용 및 그 형태가 pure equation으로 제한되는데 이러한 제한 밑에서도 프로그래밍 언어로서 가져야 할 많은 유용한 면을 제공할 수 있게 된다. 예를 들면, 사용자가 정의해서 쓸 수 있는 abstract data type, class의 개념과 그 class에 적용되는 generic operation, 그리고 어느 정도의 equational programming 등이다. 또한 여기서 채택하고 있는 reduction 알고리즘은 소위 lazy evaluation과 같은 효과를 지니게 되는데 이는 equational프로그래밍의 적용범위를 넓혀 줄 뿐 아니라 interpreter의 효율을 높이는 데 기여할 수도 있다. 그러나 무엇보다도 중요한 장점은 이렇게 만들어진 프로그래밍 언어가 논리적으로 complete 하다는 점이다. 이로써 우리는 주어진 문제에 답이 존재할 때는 언제나 그 답을 얻을 수 있다는 것을 보장 받게 된다.