"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-07 07:16:26.874958
"""

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

    def query(self, question: str) -> bool:
        """
        Queries the knowledge base for a specific piece of information.

        :param question: The fact to be queried.
        :return: True if the fact is known, False otherwise.
        """
        return question in self.knowledge


def reasoning_engine(facts: List[str]) -> Dict[str, bool]:
    """
    Enhances basic knowledge base capabilities by performing logical inference.

    :param facts: A list of strings representing factual statements.
    :return: A dictionary mapping each fact to its inferred truth value based on the provided facts.
    """
    knowledge_base = KnowledgeBase()
    
    # Add initial facts
    for fact in facts:
        knowledge_base.add_fact(fact)

    # Perform inference by checking logical implications
    inferred_knowledge = {}
    for fact in facts:
        if "and" in fact and all(sub_fact in knowledge_base.knowledge for sub_fact in fact.split("and")):
            inferred_knowledge[fact] = True
        elif "or" in fact and any(sub_fact in knowledge_base.knowledge for sub_fact in fact.split("or")):
            inferred_knowledge[fact] = True
    return {**knowledge_base.knowledge, **inferred_knowledge}


# Example usage
if __name__ == "__main__":
    facts = [
        "A and B",
        "C or D",
        "not E"
    ]
    
    result = reasoning_engine(facts)
    print(result)

```