745 |
745 |
746 |
746 |
747 \subsection{Facts and forward chaining} |
747 \subsection{Facts and forward chaining} |
748 |
748 |
749 \indexisarcmd{note}\indexisarcmd{then}\indexisarcmd{from}\indexisarcmd{with} |
749 \indexisarcmd{note}\indexisarcmd{then}\indexisarcmd{from}\indexisarcmd{with} |
750 \indexisarcmd{using} |
750 \indexisarcmd{using}\indexisarcmd{unfolding} |
751 \begin{matharray}{rcl} |
751 \begin{matharray}{rcl} |
752 \isarcmd{note} & : & \isartrans{proof(state)}{proof(state)} \\ |
752 \isarcmd{note} & : & \isartrans{proof(state)}{proof(state)} \\ |
753 \isarcmd{then} & : & \isartrans{proof(state)}{proof(chain)} \\ |
753 \isarcmd{then} & : & \isartrans{proof(state)}{proof(chain)} \\ |
754 \isarcmd{from} & : & \isartrans{proof(state)}{proof(chain)} \\ |
754 \isarcmd{from} & : & \isartrans{proof(state)}{proof(chain)} \\ |
755 \isarcmd{with} & : & \isartrans{proof(state)}{proof(chain)} \\ |
755 \isarcmd{with} & : & \isartrans{proof(state)}{proof(chain)} \\ |
756 \isarcmd{using} & : & \isartrans{proof(prove)}{proof(prove)} \\ |
756 \isarcmd{using} & : & \isartrans{proof(prove)}{proof(prove)} \\ |
|
757 \isarcmd{unfolding} & : & \isartrans{proof(prove)}{proof(prove)} \\ |
757 \end{matharray} |
758 \end{matharray} |
758 |
759 |
759 New facts are established either by assumption or proof of local statements. |
760 New facts are established either by assumption or proof of local statements. |
760 Any fact will usually be involved in further proofs, either as explicit |
761 Any fact will usually be involved in further proofs, either as explicit |
761 arguments of proof methods, or when forward chaining towards the next goal via |
762 arguments of proof methods, or when forward chaining towards the next goal via |
793 \item [$\WITH{\vec b}$] abbreviates ``$\FROM{\vec b~\AND~this}$''; thus the |
794 \item [$\WITH{\vec b}$] abbreviates ``$\FROM{\vec b~\AND~this}$''; thus the |
794 forward chaining is from earlier facts together with the current ones. |
795 forward chaining is from earlier facts together with the current ones. |
795 |
796 |
796 \item [$\USING{\vec b}$] augments the facts being currently indicated for use |
797 \item [$\USING{\vec b}$] augments the facts being currently indicated for use |
797 by a subsequent refinement step (such as $\APPLYNAME$ or $\PROOFNAME$). |
798 by a subsequent refinement step (such as $\APPLYNAME$ or $\PROOFNAME$). |
|
799 |
|
800 \item [$\UNFOLDING{\vec b}$] is structurally similar to $\USINGNAME$, |
|
801 but unfolds meta-level equations {\vec b} throughout the goal state |
|
802 and facts. |
798 |
803 |
799 \end{descr} |
804 \end{descr} |
800 |
805 |
801 Forward chaining with an empty list of theorems is the same as not chaining at |
806 Forward chaining with an empty list of theorems is the same as not chaining at |
802 all. Thus ``$\FROM{nothing}$'' has no effect apart from entering |
807 all. Thus ``$\FROM{nothing}$'' has no effect apart from entering |