"""Create fact_checker
Generated by Phi-Octopus Eden
2025-11-08 19:25:28.414002
"""

```python
from typing import List, Set
from functools import lru_cache


class FactChecker:
    """
    A simple fact-checking system that can verify if a given statement is supported by a set of facts.
    
    The system uses a limited reasoning approach to determine the truthfulness of a statement based on predefined facts.
    """

    def __init__(self, facts: List[str]):
        self.facts = {fact.lower() for fact in facts}  # Normalize facts to lowercase

    @lru_cache(maxsize=1024)
    def is_supported(self, statement: str) -> bool:
        """
        Check if the given statement is supported by any of the stored facts.

        :param statement: A string representing the statement to check.
        :return: True if the statement is supported by a fact, False otherwise.
        """
        normalized_statement = statement.lower()
        for fact in self.facts:
            # Simple keyword matching
            if all(keyword in normalized_statement for keyword in fact.split()):
                return True
        return False


# Example usage

if __name__ == "__main__":
    facts = [
        "Apple is a fruit",
        "Banana is a fruit",
        "Carrot is a vegetable"
    ]
    
    checker = FactChecker(facts)
    
    print(checker.is_supported("Is apple a fruit?"))  # True
    print(checker.is_supported("Is carrot a meat?"))  # False
    
    # Demonstrating caching and performance improvement for repeated queries
    print(checker.is_supported("Is banana a fruit?"))  # True (cached result)
```