knobunc's reply is good. Check
Language::Prolog
As far as I know, it is currently a beta version.
But, if you want to
"reinvent the wheel", you should
consider reading something on the following topics:
- Propositional logic
- Predicate logic
- Herbrand's Theory
- Godel-Herbrand-Skolen Theorem
- Resolution and Robinson's Algorithm
- Horn Clause Programs
- Prolog
You can check them in that order :)
Logic programming slogan
"I tell you what I know and what I'd like
to know, without telling you how" showed its practical unapplicability
over the years: every logic programming language includes extralogic
operators, such as
cut, that introduce elements of imperative
programming in the language (
"I tell you what I know and what I'd like
to know, without telling you how... Well, I will help you a bit").
Despite of their impure nature, logic programming languages are very
interesting and I think they're worth studying.