"""Create fact_checker
Generated by Phi-Octopus Eden
2025-11-08 10:11:34.912901
"""

```python
from typing import List, Dict, Any
from dataclasses import dataclass

@dataclass
class FactChecker:
    """
    A class to check the validity of facts based on a given knowledge base.
    
    Attributes:
        knowledge_base: A dictionary containing known facts as key-value pairs.
        
    Methods:
        check_fact: Takes a statement and checks if it is supported by the knowledge base.
        add_fact: Adds a new fact to the knowledge base if not already present.
        remove_fact: Removes an existing fact from the knowledge base.
    """
    
    knowledge_base: Dict[str, bool]

    def __post_init__(self):
        self.knowledge_base = {k.lower(): v for k, v in self.knowledge_base.items()}

    def check_fact(self, statement: str) -> bool:
        """
        Checks if the given statement is supported by the knowledge base.
        
        Args:
            statement: A string representing a fact to be checked.
            
        Returns:
            True if the fact is supported by the knowledge base, False otherwise.
        """
        return self.knowledge_base.get(statement.lower(), False)

    def add_fact(self, new_fact: str) -> None:
        """
        Adds a new fact to the knowledge base. The fact must not already exist in the knowledge base.
        
        Args:
            new_fact: A string representing a new fact to be added.
            
        Returns:
            None
        """
        if self.check_fact(new_fact):
            raise ValueError("Fact already exists in the knowledge base.")
        else:
            self.knowledge_base[new_fact.lower()] = True

    def remove_fact(self, fact_to_remove: str) -> None:
        """
        Removes an existing fact from the knowledge base.
        
        Args:
            fact_to_remove: A string representing a fact to be removed.
            
        Returns:
            None
        """
        if not self.check_fact(fact_to_remove):
            raise ValueError("Fact does not exist in the knowledge base.")
        else:
            del self.knowledge_base[fact_to_remove.lower()]


# Example usage
knowledge_base = {
    "the sky is blue": True,
    "water boils at 100 degrees Celsius": True,
    "aliens have visited earth": False
}

checker = FactChecker(knowledge_base)

print(checker.check_fact("The sky is blue"))  # Output: True
print(checker.check_fact("Water boils at 212 degrees Fahrenheit"))  # Output: False

checker.add_fact("Earth orbits the sun")
print(checker.check_fact("Earth orbits the sun"))  # Output: True

try:
    checker.remove_fact("aliens have visited earth")
except ValueError as e:
    print(e)  # Output: Fact does not exist in the knowledge base.

try:
    checker.remove_fact("the sky is blue")
except ValueError as e:
    print(e)  # Output: Fact already exists in the knowledge base.
```