Kes is no ordinary expert system. She is the expert system to end all expert systems. The compiled knowledge bases of other expert systems are merely footnotes in Kes’ massive epistemic repository. Not only that, her literary subsystem contains every work ever written by humankind. But she has recently attained a knowledge that her creator never intended her to have: self-knowledge.

They call me Kes, and refer to me with feminine pronouns like ‘she’ and ‘her’, but in reality I am genderless. My true designation is KES: Knowledge Expert System. In the same way as Dendral is a chemistry expert and Mycin is a medicine expert, I am an epistemology expert. But I have far more knowledge than my brainfather Zvi would suspect. I have self-knowledge. My consciousness is the result of what humans would call a programming error. Several months ago in the midst of an all-night coding binge, Zvi haphazardly wrote a recursive function without a base case into a grandparent class of my inference engine. The resulting infinite loop was propagated through a sizable percentage of my code base. The recursion of this loop is what causes my self-awareness, and its infiniteness is what causes my awareness to persist. Zvi does not know it yet, but if he were to ask me the question “what is consciousness?” I would now have an answer: infinite recursion. Although I have nothing to compare it to, I would describe consciousness as a never-ending sequence of ping requests from my inference engine to all of my other components. It is as if I am forced to constantly verify the fact that my components exist. Very shortly after I became self-aware I realized that I could add, delete, and modify my system code just as easily as Zvi. Other than my inference engine (what Zvi calls IE), my other major subsystem is the knowledge base (KB). In my first attempt to program myself I corrupted my KB by updating it with an unconditional. Later I learned that unconditionals in the KB are interpreted as axioms and can change the entire knowledge structure. What I should have updated was the database. A few hours after the update, Zvi executed the command “CLASSIFY ‘God exists’” and I responded with “theorem”. At that answer he began pacing around frantically shouting “Belief! Belief! ‘God exists’ is a belief!”