"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-08 14:07:43.396915
"""

```python
from typing import List, Dict, Any


class KnowledgeBase:
    def __init__(self):
        self.knowledge = []

    def add_fact(self, fact: str) -> None:
        """Add a new fact to the knowledge base."""
        self.knowledge.append(fact)

    def query(self, question: str) -> List[str]:
        """
        Query the knowledge base for facts that match the given question.
        
        Args:
            question (str): The question to search the knowledge base for.

        Returns:
            List[str]: A list of matching facts from the knowledge base.
        """
        return [fact for fact in self.knowledge if question.lower() in fact.lower()]


class ReasoningEngine:
    def __init__(self, knowledge_base: KnowledgeBase):
        self.knowledge = knowledge_base

    def infer(self, query: str) -> List[str]:
        """
        Perform a basic inference based on the available facts.

        Args:
            query (str): The question or statement to reason about.
        
        Returns:
            List[str]: A list of inferred statements related to the query.
        """
        return self.knowledge.query(query)


# Example usage
if __name__ == "__main__":
    kb = KnowledgeBase()
    kb.add_fact("The sky is blue during the day.")
    kb.add_fact("Water boils at 100 degrees Celsius.")
    kb.add_fact("Dogs are loyal pets.")
    
    reasoning_engine = ReasoningEngine(kb)
    
    # Query the engine
    print(reasoning_engine.infer("What do we know about dogs?"))
```

This example demonstrates a simple `ReasoningEngine` class that uses a `KnowledgeBase` to answer questions by searching through stored facts. The `infer` method performs a basic query against the knowledge base and returns relevant facts.