What is the difference between E and a PROLOG system?
To put it succinctly, 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 (yet ;-)
- 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).
So what does the nickname mean?
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. It's a celebration of the positive influence of tea
on productivity.
- 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 kilogram 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)
green 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.
- Tiger Hill is a hill in Darjeeling that is also used as a
brand name for Darjeeling blends.
- Jun Chiabari (though various spellings circulate) is a
Nepalese tea producer providing me with an incredibly flowery
first-flush for the 2012 and 2017 seasons.
- Gopaldhara is a Darjeeling tea estate making both nice first
flush teas, but also a very good second flush. It also claims to
be the tea garden with the highest elevation in the world.
- Sourenee is a tea garden in the Mirik Valley in
Darjeeling.
- Sungma is a Darjeeling tea garden producing organic teas,
with a 170 year history.
- Turzum is a sister tea garden to Sungma, and gave me a very
pleasant first flush early-harvest tea in 2016.
- Maharani Hills is a particular section of the famous
Margret’s Hope tea estate, producing particularly fine first
flush Darjeelings imported by one of my favourite tea shops in
Stuttgart Bad Cannstatt.
- Thurbo Moonlight is a vey lightly coloured clonal Darjeeling
from the Thurbo estate, and one on my 2018 spring sins...
- Gielle was a very nice 2018 spring Darjeeling from the
eponymous tea garden, which is a little bit up from Teesta
Valley and right next to Namring.
- Sandakphu is another very good Darjeeling-style first-flush
from Nepal.
- Avongrove is a Darjeeling tea garden which makes (in 2019) a
very good organic first-flush tea at an amazing price
point.
- Floral Guranse is a very good first flush tea in the
Darjeeling style, but from the Guranse tea estate in
Nepal.
- Shangri-La is another high-grown tea from Nepal, produced in
the style of an Oolong, i.e. as a white tea. It's also
the name of a fictional earthly paradiese located in Tibet by
author James Hilton.
- Singbully is another Darjeeling tea garden, making an
excellent organically produced first-flush tee for the 2023
season.