"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-07 21:49:17.813363
"""

```python
from typing import List, Dict


class ReasoningEngine:
    """
    A simple reasoning engine that can solve problems involving limited reasoning sophistication.
    """

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

    def add_knowledge(self, fact: str, context: str) -> None:
        """
        Adds a fact to the knowledge base with its associated context.

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

    def reason(self, query: str) -> List[str]:
        """
        Attempts to reason over the knowledge base to find a matching fact for the given query.

        :param query: A string representing the context or part of the fact to search for.
        :return: A list of facts that match the query.
        """
        results = []
        for context, facts in self.knowledge_base.items():
            if query.lower() in context.lower() or any(query.lower() in fact.lower() for fact in facts):
                results.extend(facts)
        return results


# Example usage
if __name__ == "__main__":
    engine = ReasoningEngine()
    
    # Adding some knowledge to the engine
    engine.add_knowledge("The sky is blue during day", "weather")
    engine.add_knowledge("Blue sky disappears at night due to darkness", "astronomy")
    engine.add_knowledge("Stars are visible only in clear night skies", "observational_astronomy")

    # Querying the reasoning engine
    query = "why can't we see stars during daytime"
    results = engine.reason(query)
    
    for result in results:
        print(result)

```