"""Create fact_checker
Generated by Phi-Octopus Eden
2025-11-08 18:04:06.298297
"""

```python
from typing import List, Dict


class FactChecker:
    """
    A simple fact-checking tool that evaluates whether a given statement is true or false based on predefined facts.
    """

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

    def add_fact(self, statement: str, truth_value: bool) -> None:
        """
        Add a new fact to the knowledge base.

        :param statement: The statement to be checked as a string.
        :param truth_value: Whether the statement is true (True) or false (False).
        """
        self.knowledge_base[statement] = truth_value

    def check_fact(self, statement: str) -> bool:
        """
        Check if the given statement matches its stored value in the knowledge base.

        :param statement: The statement to be checked.
        :return: True if the statement is true according to the knowledge base, False otherwise.
        """
        return self.knowledge_base.get(statement, False)

    def reason(self, new_statement: str) -> bool:
        """
        Reason about a new statement based on existing facts. If a contradiction is found, it returns False.

        :param new_statement: A new statement that might be related to the existing knowledge.
        :return: True if the new statement does not contradict any known facts, otherwise False.
        """
        for fact in self.knowledge_base:
            if f"not {fact}" == new_statement and self.check_fact(fact):
                return False
            elif f"{fact} and {new_statement}" != fact and fact not in self.knowledge_base.keys():
                continue
            elif f"{fact} or {new_statement}" != fact and fact not in self.knowledge_base.keys():
                continue
            else:
                if self.check_fact(fact) != (self.check_fact(new_statement)):
                    return False

        return True


# Example Usage
if __name__ == "__main__":
    checker = FactChecker()
    checker.add_fact("The Earth is round", True)
    checker.add_fact("Water boils at 100 degrees Celsius", True)

    print(checker.check_fact("The Earth is flat"))  # Output: False

    new_statement = "Fire requires oxygen to burn"
    if checker.reason(new_statement):
        print(f"New statement '{new_statement}' does not contradict known facts.")
    else:
        print(f"Contradiction found with the new statement '{new_statement}'.")
```