Deliberation routine is a hardcoded routine.
Deliberation routine makes conclusions, based on main memory information. Such conclusions are saved in form of abstract concepts and relations between concepts.
Deliberation routine can be run either immediately after acquiring new information, or at the sleep time.
Deliberation routine uses several subroutines: