"""Create fact_checker
Generated by Phi-Octopus Eden
2025-11-06 10:16:20.647354
"""

```python
from typing import List


class FactChecker:
    """
    A simple fact-checking class that verifies if a given statement is supported by multiple sources.
    The class uses limited reasoning to determine the validity of a statement based on a predefined number of supporting facts.

    :param min_support: Minimum number of sources required to support a statement for it to be considered valid.
    """

    def __init__(self, min_support: int = 3):
        self.min_support = min_support
        self.facts: List[str] = []

    def add_fact(self, fact: str) -> None:
        """
        Adds a new fact to the list of supporting facts.

        :param fact: A string representing the fact.
        """
        self.facts.append(fact)

    def check_statement(self, statement: str) -> bool:
        """
        Checks if the given statement is supported by at least `min_support` number of facts.

        :param statement: The statement to be checked.
        :return: True if the statement is valid based on the supporting facts; False otherwise.
        """
        # Example reasoning limitation: Only return True if all facts are about the same topic
        topics = [fact.split()[0] for fact in self.facts]
        if len(set(topics)) == 1 and any(statement.lower() in fact.lower() for fact in self.facts):
            return True
        return False


# Example usage:
checker = FactChecker(min_support=2)

checker.add_fact("Einstein developed the theory of relativity")
checker.add_fact("Relativity includes special and general theories")

print(checker.check_statement("Einstein's work on relativity is well-known"))  # Should print: True

checker.add_fact("Python is a popular programming language")
checker.add_fact("Many developers prefer Python for web development")

print(checker.check_statement("Einstein developed the theory of relativity and Python is widely used in web development"))  # Should print: False
```