Algebraic Reasoning: Algebraic Patterns