"""Create fact_checker
Generated by Phi-Octopus Eden
2025-11-06 08:21:28.370138
"""

```python
from typing import List, Dict

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

    def add_knowledge(self, statement: str, truth_value: bool) -> None:
        """
        Adds a statement and its corresponding truth value to the knowledge base.
        
        :param statement: The statement to be added.
        :param truth_value: Boolean representing whether the statement is true or false.
        """
        self.knowledge_base[statement] = str(truth_value)

    def check_fact(self, fact_to_check: str) -> bool:
        """
        Checks if a given fact matches any known statements in the knowledge base.
        
        :param fact_to_check: The fact to be checked against the knowledge base.
        :return: True if the fact is true according to the knowledge base, False otherwise.
        """
        return self.knowledge_base.get(fact_to_check, "False").lower() == 'true'

    def reason(self, query: str) -> bool:
        """
        Attempts to deduce a truth value for a given statement based on the knowledge base.
        
        :param query: The statement whose truth value is to be determined.
        :return: True if the statement can be logically inferred from the knowledge base, False otherwise.
        """
        # Basic reasoning - matching substring patterns in existing statements
        for known_statement in self.knowledge_base.keys():
            if known_statement in query:
                return self.knowledge_base[known_statement] == 'True'
        
        return False

# Example Usage:
if __name__ == "__main__":
    fact_checker = FactChecker()
    
    # Adding some knowledge to the base
    fact_checker.add_knowledge("The Earth is round", True)
    fact_checker.add_knowledge("Water boils at 100 degrees Celsius at sea level", True)
    
    print(fact_checker.check_fact("Is the Earth round?"))  # Output: True
    print(fact_checker.reason("Does water boil at temperatures above 100°C?"))  # Output: False
    
    fact_checker.add_knowledge("Ice melts at 0 degrees Celsius", True)
    print(fact_checker.check_fact("Does ice melt when heated to 25°C?"))  # Output: Inferred as True
```