Prolog Techniques


Book Description




The Art of Prolog, second edition


Book Description

This new edition of The Art of Prolog contains a number of important changes. Most background sections at the end of each chapter have been updated to take account of important recent research results, the references have been greatly expanded, and more advanced exercises have been added which have been used successfully in teaching the course. Part II, The Prolog Language, has been modified to be compatible with the new Prolog standard, and the chapter on program development has been significantly altered: the predicates defined have been moved to more appropriate chapters, the section on efficiency has been moved to the considerably expanded chapter on cuts and negation, and a new section has been added on stepwise enhancement—a systematic way of constructing Prolog programs developed by Leon Sterling. All but one of the chapters in Part III, Advanced Prolog Programming Techniques, have been substantially changed, with some major rearrangements. A new chapter on interpreters describes a rule language and interpreter for expert systems, which better illustrates how Prolog should be used to construct expert systems. The chapter on program transformation is completely new and the chapter on logic grammars adds new material for recognizing simple languages, showing how grammars apply to more computer science examples.




Techniques of Prolog Programming with Implementation of Logical Negation and Quantified Goals


Book Description

Approaches the subject by applying the format used in successful language courses. Offers a comprehensive exhibition of Prolog programming techniques in four stages--declarative, procedural, advanced and meta-programming. Presents simple and efficient implementation of logical negation and quantified goals which are necessary in expert systems. The dynamics of these new features are shown in the construction of a multilingual expert system shell that supports negative and quantified queries as well as subtypes. The easy-to-follow tutorial style and numerous fully-solved exercises facilitate understanding. Comes with 3.5 inch disk containing all programs in the book.




Programming in Prolog


Book Description

The computer programming language Prolog is quickly gaining popularity throughout the world. Since Its beginnings around 1970. Prolog has been chosen by many programmers for applications of symbolic computation. including: D relational databases D mathematical logic D abstract problem solving D understanding natural language D architectural design D symbolic equation solving D biochemical structure analysis D many areas of artificial Intelligence Until now. there has been no textbook with the aim of teaching Prolog as a practical programming language. It Is perhaps a tribute to Prolog that so many people have been motivated to learn It by referring to the necessarily concise reference manuals. a few published papers. and by the orally transmitted 'folklore' of the modern computing community. However. as Prolog is beginning to be Introduced to large numbers of undergraduate and postgraduate students. many of our colleagues have expressed a great need for a tutorial guide to learning Prolog. We hope this little book will go some way towards meeting this need. Many newcomers to Prolog find that the task of writing a Prolog program Is not like specifying an algorithm in the same way as In a conventional programming language. Instead. the Prolog programmer asks more what formal relationships and objects occur In his problem.




Advanced Prolog


Book Description




Logic Programming with Prolog


Book Description

Written for those who wish to learn Prolog as a powerful software development tool, but do not necessarily have any background in logic or AI. Includes a full glossary of the technical terms and self-assessment exercises.




Problem Solving With Prolog


Book Description

This is a practical introduction to PROLOG for the reader with little experience. It presents problem-solving techniques for program development in PROLOG based on case analysis and the use of a toolkit of PROLOG techniques. The development of larger scale programs and the techniques More...for solving them using the methodology and tools described, through the presentation of several case studies of typical programming problems is also discussed.




Clause and Effect


Book Description

This book is for people who have done some programming, either in Prolog or in a language other than Prolog, and who can find their way around a reference manual. The emphasis of this book is on a simplified and disciplined methodology for discerning the mathematical structures related to a problem, and then turning these structures into Prolog programs. This book is therefore not concerned about the particular features of the language nor about Prolog programming skills or techniques in general. A relatively pure subset of Prolog is used, which includes the 'cut', but no input/output, no assert/retract, no syntactic extensions such as if then-else and grammar rules, and hardly any built-in predicates apart from arithmetic operations. I trust that practitioners of Prolog program ming who have a particular interest in the finer details of syntactic style and language features will understand my purposes in not discussing these matters. The presentation, which I believe is novel for a Prolog programming text, is in terms of an outline of basic concepts interleaved with worksheets. The idea is that worksheets are rather like musical exercises. Carefully graduated in scope, each worksheet introduces only a limited number of new ideas, and gives some guidance for practising them. The principles introduced in the worksheets are then applied to extended examples in the form of case studies.




Prolog Programming in Depth


Book Description

Appropriate for courses in artificial intelligence, computer science, logic programming, and expert systems. Can be used as supplemental text in courses in computational linguistics (natural language processing). This text covers the Prolog programming language thoroughly with an emphasis on building practical application software, not just theory. Working through this book, students build several types of expert systems, as well as natural language processing software and utilities to read foreign file formats. This is the first book to cover ISO Standard Prolog, but the programs are compatible with earlier dialects of the language. Program files are available by FTP from The University of Georgia.




Logic Program Synthesis and Transformation


Book Description

This volume contains extended versions of papers presented at the Third International Workshop on Logic Program Synthesis and Transformation (LOPSTR 93) held in Louvain-la-Neuve in July 1993. Much of the success of the workshop is due to Yves Deville who served as Organizer and Chair. Many people believe that machine support for the development and evolution of software will play a critical role in future software engineering environments. Machine support requires the formalization of the artifacts and processes that arise during the software lifecycle. Logic languages are unique in providing a uniform declarative notation for precisely describing application domains, software requirements, and for prescribing behavior via logic programs. Program synthesis and transfonnation techniques formalize the process of developing correct and efficient programs from requirement specifications. The natural intersection of these two fields of research has been the focus of the LOPSTR workshops. The papers in this volume address many aspects of software develop ment including: deductive synthesis, inductive synthesis, transforma tions for optimizing programs and exploiting parallelism, program analysis techniques (particularly via abstract interpretation), meta programming languages and tool support, and various extensions to Prolog-like languages, admitting non-Horn clauses, functions, and constraints. Despite the progress represented in this volume, the transition from laboratory to practice is fraught with difficulties.