"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-08 16:04:04.031242
"""

```python
from typing import List


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

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

        :param fact: A string representing the fact.
        """
        self.knowledge.append(fact)

    def find_facts(self, pattern: str) -> List[str]:
        """Find facts in the knowledge base that match a given pattern.

        :param pattern: A string pattern to match against existing facts.
        :return: A list of matching facts.
        """
        return [fact for fact in self.knowledge if pattern.lower() in fact.lower()]


def create_reasoning_engine(kb: KnowledgeBase) -> callable:
    """Create a reasoning function that can be used to query the knowledge base.

    :param kb: An instance of KnowledgeBase containing the facts.
    :return: A function capable of querying the knowledge base with pattern matching.
    """
    def reason(pattern: str) -> List[str]:
        return kb.find_facts(pattern)
    
    return reason


if __name__ == "__main__":
    # Example usage
    kb = KnowledgeBase()
    kb.add_fact("The sky is blue")
    kb.add_fact("Dogs are loyal animals")
    kb.add_fact("The cat sat on the mat")

    reasoning_engine = create_reasoning_engine(kb)

    print(reasoning_engine("dog"))  # Expected: ['Dogs are loyal animals']
    print(reasoning_engine("sky"))  # Expected: ['The sky is blue']
```