"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-07 11:05:58.453122
"""

```python
from typing import List, Dict


class KnowledgeBase:
    def __init__(self):
        self.knowledge = {}

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

        :param fact: A string representing the fact to be added.
        """
        if fact not in self.knowledge:
            self.knowledge[fact] = []

    def query(self, question: str) -> List[str]:
        """
        Queries the knowledge base for relevant facts based on a given question.

        :param question: The question as a string to find related facts.
        :return: A list of strings representing the found facts.
        """
        relevant_facts = []
        for fact in self.knowledge:
            if question.lower() in fact.lower():
                relevant_facts.append(fact)
        return relevant_facts


class ReasoningEngine:
    def __init__(self, knowledge_base: KnowledgeBase):
        """
        Initializes the reasoning engine with a knowledge base.

        :param knowledge_base: An instance of the KnowledgeBase class.
        """
        self.knowledge_base = knowledge_base

    def reason(self, question: str) -> List[str]:
        """
        Performs reasoning based on the provided question and returns relevant facts.

        :param question: The input question as a string.
        :return: A list of strings representing reasoned facts from the knowledge base.
        """
        return self.knowledge_base.query(question)


def main():
    # Example usage
    kb = KnowledgeBase()
    kb.add_fact("The sky is blue during the day")
    kb.add_fact("Dogs are loyal animals")
    kb.add_fact("Water boils at 100 degrees Celsius")

    reasoning_engine = ReasoningEngine(kb)

    question = "What color is the sky?"
    facts = reasoning_engine.reason(question)
    print(f"Reasoned facts: {facts}")


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