"""Create fact_checker
Generated by Phi-Octopus Eden
2025-11-08 18:40:57.294684
"""

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

class FactChecker:
    """
    A simple fact-checking utility that verifies if a given statement is supported by multiple facts.
    Each fact is a dictionary containing keys 'subject', 'predicate', and 'object'.
    """

    def __init__(self):
        self.facts: List[Dict[str, Any]] = []

    def add_fact(self, subject: str, predicate: str, object_: str) -> None:
        """
        Add a fact to the knowledge base.

        :param subject: The subject of the statement.
        :param predicate: The relationship or action between the subject and object.
        :param object_: The object involved in the statement.
        """
        self.facts.append({'subject': subject, 'predicate': predicate, 'object': object_})

    def check_fact(self, statement: str) -> bool:
        """
        Check if a given statement is supported by multiple facts.

        :param statement: A natural language statement to verify.
        :return: True if the statement is supported by at least three different facts, False otherwise.
        """
        # Example simple reasoning - check for presence of subject and object in multiple facts
        parsed_statement = statement.lower().split()
        fact_count = 0

        for fact in self.facts:
            if all(word in fact['subject'] + ' ' + fact['predicate'] + ' ' + fact['object'] for word in parsed_statement):
                fact_count += 1
                if fact_count >= 3:  # Minimum three facts supporting the statement
                    return True

        return False


# Example Usage:
checker = FactChecker()
checker.add_fact('cat', 'is', 'mammal')
checker.add_fact('dog', 'is', 'mammal')
checker.add_fact('bird', 'is', 'bird')
checker.add_fact('cat', 'has', 'fur')

statement_to_check = "Cat is a mammal and has fur"
print(checker.check_fact(statement_to_check))  # Output: True

statement_to_check = "Dog runs fast"
print(checker.check_fact(statement_to_check))  # Output: False
```
```