"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-06 11:36:24.502994
"""

```python
from typing import List, Dict


class ReasoningEngine:
    """
    A simple reasoning engine designed to address limited reasoning sophistication.
    This engine utilizes a rule-based approach to make decisions based on given inputs.
    """

    def __init__(self):
        self.rules = []

    def add_rule(self, condition: str, action: str) -> None:
        """
        Add a new rule to the reasoning engine.

        :param condition: The condition under which the action should be taken.
                          Example: "temperature > 30 and humidity < 50"
        :param action: The action to take when the condition is met. 
                       Example: "cool_down()"
        """
        self.rules.append({"condition": condition, "action": action})

    def evaluate(self, input_data: Dict[str, any]) -> None:
        """
        Evaluate the current state based on the rules and perform actions if conditions are met.

        :param input_data: A dictionary containing data to be evaluated against the rules.
                           Example: {"temperature": 35, "humidity": 40}
        """
        for rule in self.rules:
            condition = rule["condition"]
            action = rule["action"]
            
            # Evaluate each rule's condition
            if eval(condition, input_data):
                exec(action)


# Example usage:

reasoning_engine = ReasoningEngine()

# Adding rules
reasoning_engine.add_rule("temperature > 30 and humidity < 50", "print('Cool down system activated')")
reasoning_engine.add_rule("temperature < 10 and humidity > 80", "print('Heating system activated')")

# Simulated input data
input_data = {"temperature": 29, "humidity": 45}

# Evaluating the current state with rules
reasoning_engine.evaluate(input_data)
```

This example demonstrates a basic reasoning engine that can handle simple conditional logic and execute actions based on those conditions. The `evaluate` method checks each rule's condition against the provided input data and executes the action if the condition is met.