The abstraction results when, during planning, unmet preconditions for operators are assumed to be satisfied. At execution, unmet preconditions are then pursued via Soar's impasse and subgoaling mechanisms. Abstraction in this way results in a type of multi-level refinement. However, this refinement is not deliberately created but results from the interaction of Soar's subgoaling and reflexive learning mechanisms. Thus, the abstractions that are learned reflect the knowledge that was available at the time the planning was executed.
Go to a discussion of this capability for multiple architectures.