I thought some of our readers might appreciate a bit of history. Today we ask, what does [true knowledge] have to do with the philosopher Leibniz?

Leibniz was one of the greatest thinkers of the Enlightenment: he invented calculus (simultaneously with Isaac Newton), created a calculating machine that could do arithmetic, while leaving a huge mark on Western philosophy.

But even Leibniz couldn't realize one of his greatest dreams: the creation of a universal mathematical language. He hated the way arguments collapse into shouting matches with each side refusing to budge or admit he's wrong. This happens, Leibniz thought, because we don't understand one another: we use words with subtly different meanings, speaking past one another without even realizing it. And if this is a problem for speakers of the same language, how much more difficult across a language barrier!

Leibniz' dream was not just for a *neutral *language like Esperanto. Leibniz wanted to give language a *mathematical foundation*, so that reasoning about things in the world could be as tidy and straightforward as performing a mathematical calculation.

Leibniz never completed his language, but he did give some clues as to how it would work. Each concept would have a 'characteristic number,' or actually, two numbers: a positive number representing all the concepts it necessarily implies, and a negative number representing all the concepts it necessarily denies. A number represents concepts through its prime factors; the more ideas a complex idea implies, the more prime factors it has, each factor corresponding to a different implied concept. *Prime numbers* represent basic concepts irreducible to anything else. Image via Wikipedia

To take one of Leibniz' examples, suppose:

[animal] = (+13, -5), and

[rational being] = (+8, -7).

The number for [human being], since a human being is a rational animal, would be:

In our terminology, we would say **[human being] [is a subclass of] **both **[animal]** and **[rational being]**.

But suppose one misunderstood the nature of a [rational being] and assigned the wrong number to it, e.g. (+10, -7). With this poorly assigned number, it would follow that no [animal] is a [rational being]: for the +10 of [rational being] includes +5 as one of its factors, while [animal] includes -5, its opposite. Since [animal] denies part of what [rational being] would necessarily affirm, one would have to conclude that 'no animal is rational,' i.e. that **[animal] [is a distinct class from] [rational being]**, which is, of course, false.

Obviously, a lot depends on getting these characteristic numbers correct, which was the encylopedic task Leibniz dreamed of but never completed.

One way of seeing what we're doing at [true knowledge] is continuing Leibniz' ambitious project. We give each real-world concept or object a unique id, which ultimately corresponds to a binary number inside our database. Our classes, attributes, relations, and generators establish rules according to which our knowledge engine reasons about these concepts. What we have that Leibniz didn't is the ability, made possible by computers, to store an enormous database of facts and objects. Our database already has **4,473,045 objects,** and we've no intention of slowing down!

Our experience at [true knowledge] shows both the exciting possibilites and the lingering difficulties of Leibniz' dream. Leibniz would have been delighted at what we have accomplished already, but I also think he would have been disappointed that the internal 'language' of our knowledge engine is inaccessible to human beings. Or we can put a positive spin on it. Leibniz never imagined what [true knowledge] and other artificial intelligence applications make possible: that we would be able to delegate the 'menial' side of thinking to machines!