Artificial Intelligence... Experience Makes It Real Quintus Profog for the VAX” Family of Computers: Optimum Support for Your Logic-Based Applications Highlights Quintus Prolog lets programmers focus on the application, not on tech- niques for manipulating data. Because you supply only the rules and relationships—not complex program instructions—you save time and mini- mize development costs. Quintus Prolog’s straightforward logic-based statements and full-function program environment give you an extended tool base without extending your learning ume. Quintus Prolog running on your vax computer gives you higher operating speed for your applications with lower dedicated memory requirements, for an optimum cost/performance ratio. Quintus Prolog helps protect your investment in other software languages and applications. With a natural language interface or program-to-program link based on Prolog, you extend and enhance the reach of your installed software without costly rewrites. Quintus Prolog for the vax family of computers is supported by Quintus Computer Systems. Digital believes the information in this publication is accurate as of its publication date: such information is subject to change without notice. Digital is not responsible for any inadvertent errors The Digital logo, pec 10/20, vax and vAx/vMs are trademarks of Digital Equipment Corpora- tion. UNIX is. a trademark of AT&T Bell Laboratories << —~tS Quintus Prolog for the VAX™ Family of Computers: Optimum Support for Your Logic-Based Applications If vowre looking for an advanced program development system that provides a cost-effective base for expert systems, natural language applications, or any application that requires logic-based program- ming, Quintus Prolog may be the answer. Quintus Prolog is designed to make building software for intelligent systems smooth and cost-effective. It offers a high-performance de- velopment environment that pro- vides an exceptional foundation for artificial intelligence and other symbolic processing applications. Quintus Prolog was developed at Quintus Computer Systems by several of the founding fathers who created the original version of Prolog which runs on the DEC 10/20"™ systems. Prolog plays akey role in the development of artificial intelligence systems worldwide. Quintus Prolog is now available from Digital for use On your VAX computer. ns BOS ES TAG irre 4 > / yee 4; Focus on the Application, Not the Techniques Prolog is a powerful programming language that consists of logical relationships expressed in logic- based statements. Unlike many conventional programming lan- Suages, which require that pro- srammers tell the computer how to solve problems, Prolog allows Programmers to supply a series of facts and a set of rules about how those facts are related to each other. When you supply the facts, Prolog makes inferences from one fact to another, The straightforward nature of logic programming allows program- mers to concentrate on the appli- cation—on formatting rules of expert judgment and developing natural language interfaces that make it easy for less experienced users to work with the system — rather than on creating techniques for manipulating data inside the computer. Logic-based programs are also easier to write, modify and maintain than programs requiring complex procedures. How Can Quintus Prolog Help? Quintus Prolog provides an excel- lent language base for developing applications that require exten- sive data analysis in which general rules can be used to manipulate a database—and for applications where users need totally flexible access to data. This type of logic-based environ- ment is ideal when you need to develop rule-based or expert systems with an interface to a database, natural language systems with an interface to a database, programs that automatically gener- ate other programs—in Prolog or in other programming languages, general tools that help build Prolog applications, and programs that link processes occurring in one program to those occurring in another. For example, many companies are now using Quintus Prolog To help computer engineers and operators fine-tune the perfor- mance of large mainframe operat- ing systems. Using a set of general rules about performance, this expert system helps locate bottle- necks in the operating system by analyzing performance data. When bottlenecks are identified, the expert system can make spe- cific suggestions for relieving the problem. To provide assistance to computer field sales and support personnel who need to determine optimum computer configurations for spe- cific applications. To predict the interactions of drugs that are used to build com- plex drug compounds. To generate code in another pro- gramming language that optimizes the use of a massive communica- tions network analysis program. Use Quintus Prolog in Natural Language Applications In natural language applications, human language is translated into a language the computer can understand. Because Quintus Pro- log is a logic-based language, it makes it easier to develop natural language applications. Users of current applications can benelit from natural language intertaces or modules that link one program to another. That's why Prolog is already in widespread use to develop natural language systems. ——— Anexample of a typical Quintus Prolog rule description text. To Help Improve Your Productivity Quintus Prolog can help enhance your productivity by extending the use of your existing software. If you're concerned about long-term efficiency, rewriting selected appli- cations in Quintus Prolog can improve your efficiency and make the applications easier to maintain Features that Broaden Your Options and Save You Time Quintus Prolog combines function- ality usually found in the most com- plex development environments with easy-to-use features superior to those found in the user environ- ments of many other languages Within the Quintus Prolog user environment, programmers have access to the following features. An Incremental Compiler. Using Quintus Prolog’s incremen- tal compiler, you can compile selected portions of a program. Because there’s no need to recom- pile the entire application or mod- ule, you save development time An integrated EMACS-Prolog text editor interface. Quintus Prolog’s integrated text editor interface provides simulta- neous access to Quintus Prolog, and to a customized Emacs editor that allows you to perform many edit- ing operations in a single keystroke. % In order to describe what a rule is doing in simple English (whichis % needed when the user asks ‘why’ toa question) a rule descriptionis % added to the database rule_ description (wafer_sorted, | awafer has been sorted if it has been classified as ’, “acceptable, ’.nl, ‘recleanable, rejected or ’, *needs_supervisor_assistance. ’, nl]). rule_ description (sorted_ rejected, [’ awafer is classified as rejected if it has a physical defect or’, nl,’ serious surface dirt. *,nl]) rule_ description(sorted_recleanable, % Number the Rules % It will be useful to be able to refer to the rules by their number. % Note that rule numbers could also be passed along as just another % argument of the rule itself rule_ number(wafer_sorted,1). rule_ number(sorted_rejected, 2). rule_ number(sorted_recleanable, 3). rule_number(physical_defect,4) rule_number(serious_surface_dirt,5). The emacs-Prolog interface pro- vides a split-screen mode, so you can edit a Prolog program on one half of the screen and run Prolog on the other. In addition to standard editing functions, the Quintus Prolog ver- sion of EMACS allows you to Inter- pret or compile a single procedure, a region, or a file. A style checker and comprehensive debugging tool. Quintus Prolog’s style checker helps detect any obvious error ina Prolog program. A comprehensive debugging tool makes it easy to trace the execution of a program and pinpoint prob- lem areas. Programmers can select one of two debugging modes—to trace every execution step for a specific procedure, or to set ’spy- points” —special markers that you can use to display debugging infor- mation more selectively. Either tracing option can be used to run interpreted code. An interface to other standard programming languages. Lower level languages can be used to speed up certain critical opera- tions. A foreign language interlace could be used to interface with the operating system and other pro- grams. Quintus Prolog’s compatt- bility lets you combine a Prolog- based system with existing programs and libraries to forma composite system. a; Signy ee Act Now Miura | For more information on how Quintus Prolog can support your logic-based applications develop- ment, please call 1-800-DIGITAL, extension 753 in the United States or call your local Digital office. Technical Summary Highly compatible with DEC 10/20 Prolog and C-Prolog, Quintus Prolog includes the following features: Incremental high performance compiler Interface to EMACS editor. Customized commands allow programmers to Recall, modify, and resubmit previous Prolog commands. Consult or compile Prolog code directly from the Emacs buffer. Locate and display specified source code within the editor, Comprehensive debugging tools ae Menu-driven and topic-oriented help system A foreign language interface could support program loading/calling Interface to C, Basic, COBOL, FORTRAN, PASCAL, and PL/I] supported under vMS. Interface to C supported under UNIX™ Direct loading to a running Prolog system. Automatic conversion of internal language representation to the target language. Floating point arithmetic Improved compiler/interpreter interface Free interchange of compiled and interpreted code Style checker Stream-based input and output Improved handling of database references Executable saved states Enhanced memory management No limits (except memory space) on number of procedures and classes No restrictions on size of dynamic or interpreted clauses a No general limits (except specific virtual memory capacity) on space alloca- tion for Prolog data areas Configuration Information Software Requirements vMS Version 4.0 or later, or UNIX Version 4.2. ' as Hardware Requirements = Quintus Prolog will run on any valid vax/vs configuration or eee : : : = vite configuration. Both vos and uNIx require an additional 2 megabytes © tual memory for Prolog.