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:

  1. Advantages of PROLOG:

    1. You can write procedural code with semi-explicit control flow and cuts.

    2. PROLOG has a pretty rich set of predefined predicates, i.e. numbers, arithmetic, I/O-Statements and so on.

    3. PROLOG is a mature technology, and may be faster for some classes of problems.

  2. Advantages of E:

    1. 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.

    2. 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).

    3. E has basically no predefined predicates and function symbols. You want it - you specify it. No relying on cheesy machine arithmetic ;-)

    4. 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.

    5. 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).

    6. Due to clever search strategies, E may be faster for some classes of problems.

  3. 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.

  1. Risheehat is the name of a tea garden in Darjeeling making one of the worlds finest first flush Darjeeling teas.

  2. Yunnan is a region in China producing a famous black tea with a redish tint.

  3. Castleton is a very small tea garden in Darjeeling making an excellent second flush Darjeeling tea.

  4. Jungpana is a tea garden in Darjeeling making a very good and quite famous second flush Darjeeling tea.

  5. 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.

  6. Phuguri is a decent first flush Darjeeling I tried during the work on E 0.5.

  7. 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.

  8. 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).

  9. 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.

  10. 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 ;-)

  11. Nuwara Eliya is one of the very best Ceylon (now Sri Lanka) highland teas.

  12. Dhajea is a tea garden making a very good (not quite great) first flush Darjeeling tea.

  13. Puttabong is another Darjeeling tea garden which provided me with a very good new harvest first flush in 2003.

  14. Steinthal is a small, but quite old and famous Darjeeling tea garden, with particularly good second flush teas.

  15. Tumsong is a medium sized garden in Eastern Darjeeling.

  16. Lung Ching or Dragon's Well Tea is a famous (and quite good) gree tea from the Zhejiang province in mainland China.

  17. Soom is a tea garden in Darjeeling supplying me with a lot of new early harvest tea in 2005.

  18. 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!

  19. Singtom is a Darjeeling tea garden.

  20. Longview is another Darjeeling tea garden providing an excellent 2007 first flush.

  21. Temi is a very good tea from Sikkim on the Southern slopes of the Himalaya.

  22. Balasun is the tea estate in the Eastern Himalaya that provided me with a very nice 2009 early harvest Darjeeling.

  23. Ringtong is one of the sources of for my 2010 spring Darjeeling.

  24. Namring is a tea garden providing a delightful 2011 Darjeeling.

  25. Pussimbing is a Himalaya Darjeeling provided at a very nice hotel I spend a few vacation days at.

  26. Tiger Hill is a hill in Darjeeling that is also used as a brand name for Darjeeling blends.

  27. Jun Chiabari (though various spellings circulate) is a Nepalese tea producer providing me with an incredibly flowery first-flush for the 2012 season.

So what does the nickname mean?