"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-07 01:26:05.321251
"""

```python
from typing import List, Dict

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

    def add_fact(self, fact: str) -> None:
        """Add a new fact to the knowledge base."""
        if fact not in self.knowledge:
            self.knowledge[fact] = []

    def get_related_facts(self, fact: str) -> List[str]:
        """Retrieve facts related to the given fact from the knowledge base."""
        return [related for related in self.knowledge.keys() if any(f in related for f in fact.split())]

class ReasoningEngine:
    def __init__(self, kb: KnowledgeBase):
        self.kb = kb

    def infer_new_fact(self, fact: str) -> None:
        """
        Infer a new fact based on existing facts and the given input.
        
        :param fact: A string representing a new potential fact to be inferred.
        """
        related_facts = self.kb.get_related_facts(fact)
        if not related_facts:
            print("No related facts found.")
            return
        for r_fact in related_facts:
            parts = r_fact.split()
            if all(p in fact for p in parts):
                new_fact = ' '.join([p for p in parts if p not in fact])
                self.kb.add_fact(new_fact)
                print(f"Inferred: {new_fact}")

def example_usage():
    # Initialize the knowledge base
    kb = KnowledgeBase()
    
    # Add some facts to the knowledge base
    kb.add_fact("All humans are mortal")
    kb.add_fact("Socrates is a human")
    
    # Create a reasoning engine with the knowledge base
    reasoning_engine = ReasoningEngine(kb)
    
    # Use the reasoning engine to infer new facts
    print("Inferring...")
    reasoning_engine.infer_new_fact("Therefore, Socrates is mortal")

# Run example usage
example_usage()
```