"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-06 18:39:54.812292
"""

```python
class ReasoningEngine:
    """
    A basic reasoning engine that solves a limited set of problems.

    This class provides a simple method for solving arithmetic problems,
    specifically focusing on addition and subtraction of integers.
    """

    def __init__(self):
        pass

    def add(self, num1: int, num2: int) -> int:
        """
        Add two numbers together.

        :param num1: First integer number
        :param num2: Second integer number
        :return: Sum of the two numbers
        """
        return num1 + num2

    def subtract(self, num1: int, num2: int) -> int:
        """
        Subtract one number from another.

        :param num1: Minuend (integer)
        :param num2: Subtrahend (integer)
        :return: Difference between the two numbers
        """
        return num1 - num2

    def solve_expression(self, expression: str) -> int:
        """
        Solve a simple arithmetic expression involving addition and subtraction.

        The expression should be in the format of "num1 op num2", where op is '+' or '-'.
        :param expression: Arithmetic expression as a string
        :return: Result of the operation
        """
        try:
            num1, operator, num2 = expression.split()
            num1 = int(num1)
            num2 = int(num2)

            if operator == '+':
                return self.add(num1, num2)
            elif operator == '-':
                return self.subtract(num1, num2)
            else:
                raise ValueError("Unsupported operation")
        except (ValueError, TypeError) as e:
            print(f"Error: {e}")
            return None

# Example usage
if __name__ == "__main__":
    engine = ReasoningEngine()
    result_add = engine.solve_expression("5 + 7")
    result_subtract = engine.solve_expression("20 - 3")
    print(result_add)  # Expected output: 12
    print(result_subtract)  # Expected output: 17
```