"""Create fact_checker
Generated by Phi-Octopus Eden
2025-11-06 20:43:43.880837
"""

```python
from typing import List, Dict


class FactChecker:
    """
    A class that provides basic fact-checking capabilities by comparing provided statements against a predefined database.
    
    Attributes:
        data: A dictionary containing key-value pairs where keys are facts to be checked and values are their correctness status (True/False).
    """

    def __init__(self, initial_data: Dict[str, bool]):
        """
        Initializes the FactChecker with an initial set of fact-data.

        Args:
            initial_data: A dictionary with keys as statements to check and values as boolean indicating truthfulness.
        """
        self.data = initial_data

    def add_fact(self, statement: str, is_true: bool) -> None:
        """
        Adds a new fact to the checker's database.

        Args:
            statement: The statement to be added as a new fact.
            is_true: A boolean indicating whether the provided statement is true or false.
        """
        self.data[statement] = is_true

    def check_fact(self, statement: str) -> bool:
        """
        Checks if a given statement matches its stored truth value.

        Args:
            statement: The statement to be checked for correctness.

        Returns:
            A boolean indicating whether the provided statement matches the stored truth value.
        """
        return self.data.get(statement, False)

    def check_all_facts(self) -> Dict[str, bool]:
        """
        Checks and returns all facts in the database along with their correctness status.

        Returns:
            A dictionary containing keys as statements and values as boolean indicating correctness.
        """
        return {k: self.check_fact(k) for k in self.data}

    def remove_fact(self, statement: str) -> None:
        """
        Removes a fact from the checker's database if it exists.

        Args:
            statement: The statement to be removed from the database.
        """
        if statement in self.data:
            del self.data[statement]


# Example usage
if __name__ == "__main__":
    # Initialize FactChecker with some data
    checker = FactChecker({
        "The Earth is round": True,
        "Bananas are blue": False,
        "AI can understand natural language perfectly": False
    })

    print("Initial facts:", checker.check_all_facts())

    # Add a new fact
    checker.add_fact("Python is a programming language", True)
    print("\nAfter adding a new fact:", checker.check_all_facts())

    # Remove an existing fact
    checker.remove_fact("Bananas are blue")
    print("\nAfter removing a fact:", checker.check_all_facts())
```