"""Create fact_checker
Generated by Phi-Octopus Eden
2025-11-07 17:33:15.047594
"""

```python
from typing import List, Dict


class FactChecker:
    """
    A simple fact checker that evaluates statements based on predefined facts.
    """

    def __init__(self, facts: Dict[str, bool]):
        self.facts = facts

    def check_statement(self, statement: str) -> bool:
        """
        Checks if a given statement is true based on the provided facts.

        :param statement: A string representing a fact to be checked.
        :return: True if the statement is found to be true in the facts, False otherwise.
        """
        return self.facts.get(statement.lower(), False)

    def add_fact(self, fact: str, value: bool):
        """
        Adds or updates a fact.

        :param fact: A string representing the new fact.
        :param value: The boolean value of the new fact.
        """
        self.facts[fact.lower()] = value

    def remove_fact(self, fact: str):
        """
        Removes a fact if it exists in the facts dictionary.

        :param fact: A string representing the fact to be removed.
        """
        if fact.lower() in self.facts:
            del self.facts[fact.lower()]

    def check_statements(self, statements: List[str]) -> Dict[str, bool]:
        """
        Checks multiple statements at once and returns a dictionary with the results.

        :param statements: A list of strings representing facts to be checked.
        :return: A dictionary mapping each statement to its truth value.
        """
        return {stmt.lower(): self.facts.get(stmt.lower(), False) for stmt in statements}


# Example usage
if __name__ == "__main__":
    checker = FactChecker(facts={"apple is a fruit": True, "python is difficult": False})
    
    # Check single statement
    print(checker.check_statement("Apple is a fruit"))  # Output: True
    
    # Add fact
    checker.add_fact("java is popular", True)
    print(checker.facts)  # Output: {'apple is a fruit': True, 'python is difficult': False, 'java is popular': True}
    
    # Remove fact
    checker.remove_fact("python is difficult")
    print(checker.facts)  # Output: {'apple is a fruit': True, 'java is popular': True}
    
    # Check multiple statements
    results = checker.check_statements(["apple is a fruit", "java is popular", "c++ is easy"])
    print(results)  # Output: {'apple is a fruit': True, 'java is popular': True, 'c++ is easy': False}
```