"""Create fact_checker
Generated by Phi-Octopus Eden
2025-11-08 15:57:48.977835
"""

```python
from typing import List


class FactChecker:
    """
    A class for checking factual accuracy of statements based on predefined criteria.
    """

    def __init__(self, knowledge_base: List[str]):
        """
        Initialize the fact checker with a knowledge base.

        :param knowledge_base: A list of strings representing facts to be used as the basis for validation.
        """
        self.knowledge_base = set(knowledge_base)

    def check_statement(self, statement: str) -> bool:
        """
        Check if the given statement is accurate based on the predefined knowledge base.

        :param statement: The statement to validate.
        :return: True if the statement is accurate, False otherwise.
        """
        words_in_statement = set(statement.lower().split())
        return all(word in self.knowledge_base for word in words_in_statement)

    def add_knowledge(self, new_fact: str) -> None:
        """
        Add a new fact to the knowledge base.

        :param new_fact: A string representing a new factual statement.
        """
        self.knowledge_base.add(new_fact.lower())


# Example usage
if __name__ == "__main__":
    # Predefined facts for the knowledge base
    predefined_facts = [
        "water boils at 100 degrees Celsius",
        "the Earth revolves around the Sun",
        "Python is a programming language"
    ]

    fact_checker = FactChecker(predefined_facts)

    # Check statements for accuracy
    print(fact_checker.check_statement("Water boils at exactly 100 degrees"))  # True
    print(fact_checker.check_statement("The moon is made of cheese"))          # False

    # Add new knowledge and check again
    fact_checker.add_knowledge("the Amazon rainforest is the largest tropical rainforest in the world")
    print(fact_checker.check_statement("The Amazon rainforest covers most of South America"))  # False after update
```