(solution) Describe how a simple pseudo-natural-language (template-based) explanation facility can be built for

(solution) Describe how a simple pseudo-natural-language (template-based) explanation facility can be built for

Describe how a simple pseudo-natural-language (template-based) explanation facility can be built for a vanilla, backward-chaining, logical reasoning system. The explanation facility should be written as a program WHY that generates an explanation after ASK has answered a question from the user. The explanation should consist of a description of the premises and inference method used to reach the conclusion; the user should be able to further query the premises to see how they were derived.