FAQ
To put it short, E is a theorem prover and PROLOG is a programming language. Although they both can solve a common subset of problems, there are some significant differences. E works in a bottom-up fashion, systematically generating consequences from the set of input clauses, until a contradiction (i.e. a proof) has been found. PROLOG uses SLD resolution to find a solution in a top-down depth-first fashion, and, consequently, is not complete, i.e. it can run forever although a solution exists.
Here is a list of the most important differences:
•Advantages of PROLOG:
◦You can write procedural code with semi-explicit control flow and cuts.
◦PROLOG has a pretty rich set of predefined predicates, i.e. numbers, arithmetic, I/O-Statements and so on.
◦PROLOG is a mature technology, and may be faster for some classes of problems.
•Advantages of E:
◦E has purely declarative semantics: a<-b. is fully equivalent to a;~b. is fully equivalent to ~b;a. is fully equivalent to ~b<-~a. While E allows procedural clauses (as in a:-b.), that is only for compatibility with SETHEO. Procedural clauses are treated exactly as declarative ones. The most natural clause representation for E is probably a literal disjunction: a=$true;b!=$true;c!=$true.
◦E has a richer language, not restricted to Horn clauses (i.e. we can write a;b <- c,d., meaning "if c and d then a or b"). You can use explicitly negated atoms, as in ~a <- b. (In fact, starting with E 0.82, E supports full first order format in TPTP and TSTP syntax, for a much richer input language).
◦E has basically no predefined predicates and function symbols. You want it - you specify it. No relying on cheesy machine arithmetic ;-)
◦E is complete. If the query follows from the axioms, E will find a proof (well, theoretically - in practice the computer or the user may run out of resources or patience) unless the user explicitly selects an incomplete search strategy.
◦E has a different (stronger) concept of equality on terms, not modulo unification, but modulo an equational first-order theory (which is part of the input problem).
◦Due to clever search strategies, E may be faster for some classes of problems.
You can try to get E and feed some simple PROLOG code into it to see what happens (simple means "no numbers, no predefined predicates"). As far as I know, the LOP syntax of E is a superset of basic PROLOG without numbers and predefined symbols (but I am not very much into PROLOG).
What is the difference between E and a PROLOG system?
Starting with E 0.22, each release version has received a nickname. This usually is the name of a tea (or the corresponding tea garden) which I drank a lot while programming the version.
•Risheehat is the name of a tea garden in Darjeeling making one of the worlds finest first flush Darjeeling teas.
•Yunnan is a region in China producing a famous black tea with a redish tint.
•Castleton is a very small tea garden in Darjeeling making an excellent second flush Darjeeling tea.
•Jungpana is a tea garden in Darjeeling making a very good and quite famous second flush Darjeeling tea.
•Lingia is a tea garden making a very good first flush Darjeeling tea. It's nearly as good as the Risheehat (in my opinion), but more expensive.
•Phuguri is a decent first flush Darjeeling I tried during the work on E 0.5.
•Mim is a very fine first flush Darjeeling that, surprisingly enough, can stand hard water fairly well, and which I hence tend to drink a lot while travelling.
•Kanchanjangha is an ecologically produced tea from Nepal. I quite like Nepalese tea, and tried to find a new variety. It is not bad, but not up to the Darjeelings I am used to (yes, I am a tea snob).
•North Tukvar is a somewhat bigger tea garden in Darjeeling. Their claim to fame is that they managed to bring the first tea of the 2001 harvesting period into my tea shop.
•Mullotar is a fairly large tea garden producing a quite nice organically grown first flush that offers excellent value for money (if you buy a kilogramm at a time ;-)
•Nuwara Eliya is one of the very best Ceylon (now Sri Lanka) highland teas.
•Dhajea is a tea garden making a very good (not quite great) first flush Darjeeling tea.
•Puttabong is another Darjeeling tea garden which provided me with a very good new harvest first flush in 2003.
•Steinthal is a small, but quite old and famous Darjeeling tea garden, with particularly good second flush teas.
•Tumsong is a medium sized garden in Eastern Darjeeling.
•Lung Ching or Dragon's Well Tea is a famous (and quite good) gree tea from the Zhejiang province in mainland China.
•Soom is a tea garden in Darjeeling supplying me with a lot of new early harvest tea in 2005.
•Kanyam is a tea garden in Nepal. I am impressed - I found that a 2005 first flush Kanyam was comparable to my rather good Darjeelings!
•Singtom is a Darjeeling tea garden.
•Longview is another Darjeeling tea garden providing an excellent 2007 first flush.
•Temi is a very good tea from Sikkim on the Southern slopes of the Himalaya.
•Balasun is the tea estate in the Eastern Himalaya that provided me with a very nice 2009 early harvest Darjeeling.
•Ringtong is one of the sources of for my 2010 spring Darjeeling.
•Namring is a tea garden providing a delightful 2011 Darjeeling.
•Pussimbing is a Himalaya Darjeeling provided at a very nice hotel I spend a few vacation days at.
So what does the funny nickname mean?