Software that tries to build up a view of the world by asking questions and using the answers to navigate a tree of knowledge. I think... 'Nother way to think about it: a programming style that emphasizes a "knowledge base" and "inference engine" which acts on that base. Forward and backward (inferential) chaining are typical components.