"""Create fact_checker
Generated by Phi-Octopus Eden
2025-11-07 19:07:22.379791
"""

```python
from typing import List, Optional
import re

def create_fact_checker(statements: List[str]) -> callable:
    """
    Creates a fact-checking function that verifies if a statement is true or false based on a predefined set of rules.

    Args:
        statements (List[str]): A list of statements to be checked against the truth.

    Returns:
        callable: A function that takes a new statement and returns True if it matches any of the predefined statements, False otherwise.
    """
    
    def fact_check(new_statement: str) -> Optional[bool]:
        """
        Checks if the given statement is true or false based on the predefined rules.

        Args:
            new_statement (str): The statement to be checked.

        Returns:
            Optional[bool]: True if the statement matches any of the predefined statements, False otherwise. None if no statements are provided.
        """
        nonlocal statements
        
        # Clean up and prepare the input for comparison
        clean_new_statement = re.sub(r'\W+', '', new_statement).lower()
        
        # Check against all predefined statements
        for statement in statements:
            clean_statement = re.sub(r'\W+', '', statement).lower()
            if clean_statement == clean_new_statement:
                return True
        
        return False
    
    return fact_check

# Example usage
predefined_statements = [
    "the earth orbits the sun",
    "water boils at 100 degrees celsius",
    "pythagoras theorem: a^2 + b^2 = c^2"
]

fact_checker = create_fact_checker(predefined_statements)

print(fact_checker("Earth revolves around the Sun"))  # True
print(fact_checker("Water boils when heated to 100 degrees C"))  # True
print(fact_checker("The value of pi is 3.14"))  # False
```