"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-06 12:23:25.870676
"""

```python
from typing import List, Dict


class ReasoningEngine:
    """
    A simple reasoning engine designed to solve limited reasoning problems.
    It takes a set of rules defined as functions and applies them in sequence,
    returning conclusions based on input data.

    Args:
        rule_set (List[callable]): A list of rules represented as functions.
                                    Each function should take a single argument
                                    and return a boolean indicating if the rule is satisfied.
    
    Methods:
        apply_rules(input_data: Dict[str, bool]) -> List[str]:
            Applies all rules in the set to the input data and returns a list of
            conclusions (rule names) that are satisfied.

    Example Usage:
        >>> def temperature_rule(temp: float) -> bool:
        ...     return temp > 30
        ...
        >>> engine = ReasoningEngine([temperature_rule])
        >>> result = engine.apply_rules({'temperature': True})
        >>> print(result)
        ['Temperature is high']
    """

    def __init__(self, rule_set: List[callable]):
        self.rule_set = rule_set

    def apply_rules(self, input_data: Dict[str, bool]) -> List[str]:
        """
        Applies all rules in the set to the input data and returns a list of
        conclusions (rule names) that are satisfied.

        Args:
            input_data (Dict[str, bool]): A dictionary mapping rule names to their boolean results.

        Returns:
            List[str]: A list of conclusion strings.
        """
        conclusions = []
        for rule in self.rule_set:
            if rule(input_data.get(rule.__name__)):
                conclusions.append(f"{rule.__name__} is satisfied")
        return conclusions


# Example rules
def temperature_rule(temp: float) -> bool:
    """Rule to check if the temperature is above 30 degrees."""
    return temp > 30

def humidity_rule(humidity: int) -> bool:
    """Rule to check if the humidity level is high."""
    return humidity > 80


# Example usage
if __name__ == "__main__":
    engine = ReasoningEngine([temperature_rule, humidity_rule])
    input_data = {'temperature': True, 'humidity': False}
    print(engine.apply_rules(input_data))
```