(11th-July-2020)
• Yes-or-no questions and functional relations do not cover all of the cases of a query. The general form of a query occurs when free variables are present in a query that is to be asked of the user.
• Example 13.19: For the subgoal p(a,X,f(Z)) the user should be asked something like
• for which X,Z is p(a,X,f(Z)) true?
• which, of course, should be put in terms that the user can understand.
• The user would then be expected to give bindings for X and Z that make the subgoal true, or to reply no, meaning that there are no more instances. This follows the spirit of the query protocol for asking questions of the system.
• Implementing Knowledge-Based Systems is following points.
• It may be useful for an agent to be able to represent its own reasoning. Such reasoning about an agent's own representations is called reflection. Explicitly representing its own reasoning enables the agent to reason more flexibly so that the designer can craft the most appropriate language for each application.
• This section considers one use of reflection, namely, implementing light-weight tools for building new languages with features that are required for particular applications. By making it easy to implement new languages and tools, the best language for each application can be used. The language and tools can evolve as the application evolves.
• A meta-interpreter for a language is an interpreter for the language written in the same language. Such an interpreter is useful because modifications allow for quick prototyping of new languages with useful features. Once the language has proven its utility, a compiler for the language can be developed to improve efficiency.
Comments