"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-06 15:07:59.626647
"""

```python
from typing import List, Dict


class ReasoningEngine:
    """
    A simple reasoning engine that handles limited reasoning tasks.
    """

    def __init__(self):
        self.knowledge_base: Dict[str, List[str]] = {}

    def add_fact(self, subject: str, fact: str) -> None:
        """
        Adds a fact to the knowledge base for a specific subject.

        :param subject: The subject of the fact.
        :param fact: A string representing the fact about the subject.
        """
        if subject not in self.knowledge_base:
            self.knowledge_base[subject] = []
        self.knowledge_base[subject].append(fact)

    def infer_fact(self, subject: str, query: str) -> List[str]:
        """
        Infers facts from the knowledge base that match a given query.

        :param subject: The subject to search for.
        :param query: A string representing the query.
        :return: A list of inferred facts that match the query.
        """
        results = []
        if subject in self.knowledge_base:
            for fact in self.knowledge_base[subject]:
                if query.lower() in fact.lower():
                    results.append(fact)
        return results


# Example usage
if __name__ == "__main__":
    engine = ReasoningEngine()
    # Adding some facts to the knowledge base
    engine.add_fact("cat", "Cats have four legs.")
    engine.add_fact("dog", "Dogs are mammals.")
    engine.add_fact("cat", "Cats can climb trees.")
    
    print(engine.infer_fact("cat", "climbing"))  # Should return ['Cats can climb trees.']
    print(engine.infer_fact("dog", "mammals"))   # Should return ['Dogs are mammals.']

```