Well the slashdot C.S. major at a liberal arts school with courses in A.I. thinks that this is a good definition but is hard to pragmatically create in a computer. There are ways to do this, but the problem it in the descriptions you would use you are building in a set idea, which limits the system. Recursive logic is used often, especially in LISP, which along with ProLog is used for AI work. This idea is interesting but it would take years of work to get anything near working that actually did something more than detect it's own output, and detect the output of that detection.