# Prolog - The Solar System.

 home1 home2  Bib  Algorithms  Bioinfo  FP  Logic  MML  Prog.Lang and the  Book

Logic
Prolog
Introduction
Examples

Prolog is excellent for queries on relational data (as in the Mathematical sense of a "relation"), e.g.

 ```orbits(mercury, sun). {facts} orbits(venus, sun). orbits(earth, sun). orbits(mars, sun). orbits(moon, earth). orbits(phobos, mars). orbits(deimos, mars). planet(P) <= orbits(P, sun). {rules} satellite(S) <= orbits(S, P) and planet(P). ? satellite(S). {query} ```
 orbits(mercury, sun). {facts} orbits(venus, sun). orbits(earth, sun). orbits(mars, sun). orbits(moon, earth). orbits(phobos, mars). orbits(deimos, mars). planet(P) <= orbits(P, sun). {rules} satellite(S) <= orbits(S, P) and planet(P). ? satellite(S). {query}

Apparently this was used in question 24 'Evolution of Programming Languages', in Section III of 'Software Design and Development', 2010 Higher School Certificate Examination, NSW.

 Coding Ockham's Razor, L. Allison, Springer A Practical Introduction to Denotational Semantics, L. Allison, CUP

 Linux  Ubuntu free op. sys. OpenOffice free office suite The GIMP ~ free photoshop Firefox web browser

 © L. Allison   http://www.allisons.org/ll/   (or as otherwise indicated), Faculty of Information Technology (Clayton), Monash University, Australia 3800 (6/'05 was School of Computer Science and Software Engineering, Fac. Info. Tech., Monash University, was Department of Computer Science, Fac. Comp. & Info. Tech., '89 was Department of Computer Science, Fac. Sci., '68-'71 was Department of Information Science, Fac. Sci.) Created with "vi (Linux + Solaris)",  charset=iso-8859-1,  fetched Tuesday, 28-May-2024 19:56:36 AEST.