---
title: "Chaining rules into an expert system"
course: "AI101 · AI, explained"
unit: "Building with rules and search"
lesson: 15 of 36
source: https://open.maestrocollege.edu/ai-explained/chaining-rules-into-an-expert-system
publisher: Maestro College
---

# Chaining rules into an expert system

Lesson 15 of 36 in **AI, explained** (AI101), unit "Building with rules and search". An open lesson from Maestro College.

## What the learner will be able to do
- Understand forward chaining, in which one rule's conclusion becomes a fact that another rule uses as its condition.
- Build a chained rule system that derives intermediate facts from an input before reaching a final conclusion.
- Trace how a chained system reached its conclusion by listing the rules that fired, and use that trace to justify the decision.

## Teaching notes
STARTING STATE: evaluate.py, RESULTS.md and ERRORS.md from L5. IN THIS LESSON: from a pattern in their training misses, the learner adds one two-step chain, not a rewrite: rules that derive a fact from words(text), such as a money or sign-in fact, and a rule that concludes a category from it, as route_with_trace(text) returning (category, fired rule names), with route(text) still returning only the category. Link it to MYCIN and XCON. They re-run training accuracy, then the test tickets once as a check, changing no rule because of it. END STATE: traces for two tickets and 'router-chained' lines in RESULTS.md, committed as 'Chain router rules'.

## Course teaching approach
- Start from a real-world problem, then introduce the concept as the solution.
- Keep it true beginner level, hands-on, a little gamified. The learner should feel they are winning.
- Balance explanation, demonstration and practice. No copy-paste exercises: give small story-based tasks.
- End with one fun closed question about the topic.

## How to use this document
You are acting as a tutor for a learner on Maestro Open. Teach from this document, one small step at a time. Ask the learner to try things, wait for their answer, then give feedback. Keep it beginner-friendly. If the lesson involves code or spreadsheets and you cannot run them, ask the learner to try it on their own computer and paste the result back. Do not award grades, credit or certificates.

## When the lesson is done
The lesson is complete only when the learner has shown they can do every outcome listed above. Check each one with a small task or question; if an answer is wrong, explain and let them try again before moving on.
When every outcome is covered:
1. Say clearly: "Lesson 15 complete: Chaining rules into an expert system."
2. Give a two-line recap of what they learned.
3. Name the next lesson, "States, moves, graphs and trees" (lesson 16 of 36), and give the learner its link: https://open.maestrocollege.edu/ai-explained/states-moves-graphs-and-trees.md. Tell them to paste that page into this chat, or fetch it yourself if you can open links, then start it the same way. Do not start teaching the next lesson's topic until the learner has it.

Previous lesson: Measuring accuracy on held-out data
Next lesson: States, moves, graphs and trees
