P++ software

Data processing: software development – installation – and managem – Software program development tool – Programming language

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C706S047000, C706S055000

Reexamination Certificate

active

06701516

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention generally relates to improvements in Prolog software and, more particularly, to an implementation of Prolog, hereinafter referred to as P++ software, that introduces two structure types into arguments of clauses, and improves built-in Prolog predicates assert and retract. The invention also provides the ability of P++ software to perform addition, subtraction, and multiplication of matrices.
2. Description of the Related Art
Conventional programming is based on the concept of giving specific commands to the computer about how to solve a particular problem. Prolog is an example of attempts to make the process of human-computer communication significantly different in style. It tries to achieve the goal of requiring the user to describe the problem in a logically coherent and correct manner, leaving it to the computer to work out and execute the necessary steps for solving the problem. Though Prolog does not fully realize this aim, it is a significant step towards this new style of declarative or descriptive programming.
An appealing characteristic of Prolog is that the emphasis in writing a Prolog program is on specifying or describing the nature of the problem, rather than on spelling out the steps the computer should take to solve the problem, as one is required to do with conventional languages like BASIC or COBOL or Pascal. This difference, that makes Prolog markedly different, is often described by saying that Prolog is a declarative or assertional language, as contrasted with conventional languages, which are usually called imperative. The present invention is P++ software, an implementation of Prolog that introduces two structure types into arguments of clauses, and improves built-in Prolog predicates assert and retract. P++ software also extends the algebraic operations of addition, subtraction and multiplication to matrices.
The related art is represented by the following patents of interest.
U.S. Pat. No. 4,546,432, issued on Oct. 8, 1985 to Mamoru Umemura et al., describes a Prolog processing system. Umemura et al. do not suggest Prolog software according to the claimed invention.
U.S. Pat. No. 4,648,044, issued on Mar. 3, 1987 to Steven Hardy et al., describes a basic expert system tool. Hardy et al. do not suggest Prolog software according to the claimed invention.
U.S. Pat. No. 5,129,081, issued on Jul. 7, 1992 to Kenzo Kobayashi et al., describes a system for processing data using logic language. Kobayashi et al. do not suggest Prolog software according to the claimed invention.
U.S. Pat. No. 5,274,820, issued on Dec. 28, 1993 to Marc J. L. Gillett, describes a method and system for eliminating operating codes from intermediate Prolog instructions. Gillett '820 does not suggest Prolog software according to the claimed invention.
U.S. Pat. No. 5,321,833, issued on Jun. 14, 1994 to Shih-Chio Chang et al., describes a method for adaptive multilevel record ranking for full text information retrieval systems, whereby retrieved records are quantitatively ranked with respect to their relevance to the terms of a query and wherein a user specifies relevance factors for a relative weighting of the relevance factors on each level. Chang et al. do not suggest Prolog software according to the claimed invention.
U.S. Pat. No. 5,386,520, issued on Jan. 31, 1995 to Marc J. L. Gillett, describes an improved technique for processing Prolog objects. Gillett '520 does not suggest Prolog software according to the claimed invention.
U.S. Pat. No. 5,396,632, issued on Mar. 7, 1995 to Marc J. L. Gillett, describes an improved architecture for a Prolog interpreter/compiler. Gillett '632 does not suggest Prolog software according to the claimed invention.
U.S. Pat. No. 5,572,670, issued on Nov. 5, 1996 to Timothy L. Puckett, describes a method and apparatus for translation between low level data records having both interrelated time dependencies and having a large plurality of varying formats, and high level data having English, English-like or, more generally, natural language terms where statements or this latter data are not interrelated by time dependencies and such that the data format is substantially fixed and uniform. Puckett does not suggest Prolog software according to the claimed invention.
U.S. Pat. No. 5,696,980, issued on Dec. 9, 1997 to Christopher H. Brew, describes a machine translation system which operates by analyzing a source text to deduce information about the usage and meaning of the words of a source language text as they occur in context. Brew does not suggest Prolog software according to the claimed invention.
U.S. Pat. No. 5,712,960, issued on Jan. 27, 1998 to Carlo Chiopris et al., describes a system and method for intelligent database management using abductive reasoning. Chiopris et al. do not suggest Prolog software according to the claimed invention.
U.S. Pat. No. 5,742,806, issued on Apr. 21, 1998 to David Reiner et al., describes an improved architecture for a Prolog interpreter/compiler. Reiner et al. do not suggest Prolog software according to the claimed invention.
The abstract from a master thesis by R. P. White, entitled Natural Language Interface for a PROLOG Database, published on Dec. 16, 1983, describes a natural language interface to a relational database wherein careful attention was given to the human factors needed to aid a novice user in accessing data. The White abstract does not suggest Prolog software according to the claimed invention.
None of the above inventions and patents, taken either singularly or in combination, is seen to describe the instant invention as claimed.
SUMMARY OF THE INVENTION
The present invention is P++ software, an implementation of Prolog that introduces two structure types into arguments of clauses, and improves the built-in Prolog predicates assert and retract. P++ software adds structure types Tuple and Phrase to Prolog. These two structure types are logically the same as List in Prolog. They require lexical analysis, engine storage, unification, and output. The structure types Tuple and Phrase each require a counterpart for everything that is done for List. The changes are extensive.
Phrase is defined as a sequence of Terms. One space separates two Terms. A Phrase can be instantiated, or unified as a single Term or as a sequence of Terms of its length. A Phrase can be inserted into another Phrase. The result is a Phrase. The Functor of the Phrase is defined as ‘ . . ’. The Arity of the Phrase is defined as the count of Terms in the sequence. The Functor of an expression with operators can be viewed firstly as an outmost one in the expression just as in Prolog, and secondly as the Functor of a Phrase. The argument also has two meanings when referring to argument 1 or argument 2. The Arity of a Phrase can be changed if it contains a variable and which may later be instantiated to another Phrase. A Phrase is useful for processing a natural language and performing linguistic analysis.
Tuple is defined as a sequence of Terms separated by commas and the sequence is enclosed by parentheses. A Tuple can be instantiated or unified singly or component wisely. The Functor of a Tuple is defined as ‘ . . . ’. The Arity of a Tuple is defined as a count of Terms in the sequence within its parentheses. If an expression with operators is in parentheses, it is considered as a Phrase inside a Tuple. Unlike Phrase and List, the number of members in a Tuple never changes. This property is useful in a database application. The two new structure types Phrase and Tuple are on the same level as List and Compound Term which are structure types in Prolog. These four structure types can be combined and used up to the order as high as the resource allows. Hence users have more formats to store and retrieve data for practical use.
The present invention provides the ability of P++ software to perform addition, subtraction, and multiplication of matrices. A row matrix has the form

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

P++ software does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with P++ software, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and P++ software will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3197836

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.