"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-07 22:59:05.740619
"""

```python
from typing import List, Tuple

class Rule:
    """A simple rule class representing a condition and its outcome."""
    def __init__(self, condition: str, result: str):
        self.condition = condition
        self.result = result
    
    def match(self, input_data: dict) -> bool:
        """Check if the given data matches the rule's condition."""
        return all(input_data.get(key, False) for key in self.condition.split(' and '))


class ReasoningEngine:
    """A basic reasoning engine that applies a set of rules to interpret input data."""
    
    def __init__(self, rules: List[Rule]):
        self.rules = rules
    
    def infer(self, input_data: dict) -> Tuple[str, str]:
        """Apply the rules to the input data and return the best matching result."""
        best_match_result = None
        for rule in self.rules:
            if rule.match(input_data):
                best_match_result = rule.result
        
        return ("No match found", best_match_result)[best_match_result is not None]

# Example usage:

def main():
    # Define some rules
    rule1 = Rule('temperature > 30 and humidity < 60', 'hot and dry')
    rule2 = Rule('temperature <= 30 and wind_speed > 15', 'cold and windy')
    rule3 = Rule('rain == True', 'rainy')
    
    # Create a reasoning engine with these rules
    ruleset = ReasoningEngine([rule1, rule2, rule3])
    
    # Simulate some input data
    weather_data = {'temperature': 35, 'humidity': 40, 'wind_speed': 12, 'rain': False}
    
    # Get the reasoning result
    reason, condition = ruleset.infer(weather_data)
    print(f"Reason: {reason}, Condition: {condition}")

if __name__ == "__main__":
    main()
```