"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-07 21:23:44.287730
"""

```python
from typing import List


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.
        """
        self.knowledge.append(fact)

    def retrieve_relevant_facts(self, query: str) -> List[str]:
        """
        Retrieves relevant facts from the knowledge base based on a query.

        :param query: A string representing the query for retrieving facts.
        :return: A list of strings containing relevant facts to the query.
        """
        relevant_facts = []
        for fact in self.knowledge:
            if any(query_word in fact for query_word in query.split()):
                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 KnowledgeBase.
        """
        self.knowledge_base = knowledge_base

    def infer_new_fact(self, query: str) -> str:
        """
        Infers new facts from existing knowledge based on a query.

        :param query: A string representing the query for inference.
        :return: A string representing the inferred fact or 'No relevant information' if no inference is made.
        """
        relevant_facts = self.knowledge_base.retrieve_relevant_facts(query)
        if not relevant_facts:
            return "No relevant information"
        
        # Simple rule-based inference
        for i in range(len(relevant_facts) - 1):
            if 'A' in relevant_facts[i] and 'B' in relevant_facts[i+1]:
                inferred_fact = f"If {relevant_facts[i]} is true, then {relevant_facts[i+1]}"
                return inferred_fact
        return "No relevant information for inference"

    def display_inferred_facts(self) -> None:
        """
        Displays all inferred facts.
        """
        inferred_facts = self.infer_new_fact("query")
        print(inferred_facts)


def example_usage():
    kb = KnowledgeBase()
    kb.add_fact("A is true")
    kb.add_fact("B is false")
    kb.add_fact("C implies A")

    engine = ReasoningEngine(kb)
    engine.display_inferred_facts()


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

This code defines a simple reasoning engine that can infer new facts from existing knowledge based on a query. It includes a `KnowledgeBase` class to manage the factual information and a `ReasoningEngine` class to perform inference tasks. The example usage demonstrates how to add facts and retrieve inferred facts using these classes.