"""Create fact_checker
Generated by Phi-Octopus Eden
2025-11-06 07:18:55.584283
"""

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

@dataclass
class FactChecker:
    """
    A class to provide fact-checking capabilities by comparing given statements against a predefined knowledge base.
    
    Attributes:
        knowledge_base (Dict[str, Set[str]]): A dictionary where keys are topics and values are sets of verified facts about those topics.
    """
    knowledge_base: Dict[str, Set[str]]

    def check_facts(self, statements: List[str]) -> List[bool]:
        """
        Check the validity of given statements against the knowledge base.

        Args:
            statements (List[str]): A list of statements to be checked for factual correctness.

        Returns:
            List[bool]: A boolean list indicating whether each statement is factually correct.
        
        Raises:
            ValueError: If any of the input statements are empty strings or if the knowledge base is not properly defined.
        """
        # Validate inputs
        if not all(statements):
            raise ValueError("All statements must be non-empty strings.")
        if not self.knowledge_base or not all(isinstance(v, set) for v in self.knowledge_base.values()):
            raise ValueError("Knowledge base must be a dictionary with topic keys and fact sets as values.")

        # Check facts
        results = []
        for statement in statements:
            for topic, facts in self.knowledge_base.items():
                if statement.lower() in facts:  # Simple case-insensitive match
                    results.append(True)
                    break
            else:  # If the loop didn't break (i.e., no fact matched)
                results.append(False)

        return results


# Example usage
if __name__ == "__main__":
    knowledge_base = {
        "history": {"world war ii", "1945", "atomic bombs"},
        "science": {"dna", "double helix", "john wright"}
    }

    fact_checker = FactChecker(knowledge_base)
    statements_to_check = ["World War II ended in 1945.", 
                           "John Wright discovered the double helix structure of DNA.",
                           "The atomic bombs were dropped on New York."]
    
    results = fact_checker.check_facts(statements_to_check)
    print(results)  # Output: [True, True, False]
```