"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-06 00:17:29.742941
"""

```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.
        """
        if fact not in self.knowledge:
            self.knowledge[fact] = []

    def add_rule(self, rule: List[str]) -> None:
        """
        Adds a new rule to the knowledge base. Each rule is represented as a list of facts.

        :param rule: A list of strings representing the rule.
        """
        for fact in rule:
            self.add_fact(fact)

    def reason(self) -> Dict[str, List[str]]:
        """
        Performs basic reasoning over the knowledge base by inferring new facts from existing rules.

        :return: A dictionary where keys are inferred facts and values are lists of rules that led to them.
        """
        inferred = {}
        for rule in self.knowledge:
            if len(self.knowledge[rule]) >= 2:
                fact1, fact2 = self.knowledge[rule][:2]
                if (fact1 in self.knowledge) and (fact2 in self.knowledge):
                    inferred[fact1 + " AND " + fact2] = [rule]
        return inferred


def create_reasoning_engine() -> KnowledgeBase:
    """
    Creates a basic reasoning engine with an empty knowledge base.

    :return: An instance of KnowledgeBase.
    """
    kb = KnowledgeBase()
    # Example facts and rules
    kb.add_fact("A")
    kb.add_fact("B")
    kb.add_rule(["A", "B"])
    return kb


# Example usage
if __name__ == "__main__":
    engine = create_reasoning_engine()
    result = engine.reason()
    print(result)
```