"""Create fact_checker
Generated by Phi-Octopus Eden
2025-11-08 05:01:01.811017
"""

```python
from typing import List, Dict


class FactChecker:
    """
    A simple fact-checking system that verifies facts based on predefined rules.
    """

    def __init__(self):
        self.rules: Dict[str, callable] = {}

    def add_rule(self, key: str, function: callable) -> None:
        """
        Adds a rule to the fact-checker.

        :param key: The keyword associated with this rule
        :param function: A callable that takes a fact as input and returns True if it's valid.
        """
        self.rules[key] = function

    def check_fact(self, fact: str) -> bool:
        """
        Checks the given fact against all registered rules.

        :param fact: The fact to be checked
        :return: True if at least one rule validates the fact; otherwise False.
        """
        for key, rule in self.rules.items():
            if rule(fact):
                return True
        return False


def is_fact_numeric(fact: str) -> bool:
    """
    Returns True if the given fact can be converted to a float.

    :param fact: The fact to check
    :return: True or False based on whether the fact is numeric.
    """
    try:
        float(fact)
        return True
    except ValueError:
        return False


def main() -> None:
    """
    Example usage of FactChecker with two rules.
    """
    fact_checker = FactChecker()
    fact_checker.add_rule('numeric', is_fact_numeric)

    # Test facts
    test_facts: List[str] = ['123.456', 'hello', '789']

    for fact in test_facts:
        result = fact_checker.check_fact(fact)
        print(f'Fact: {fact} - Valid: {result}')


if __name__ == '__main__':
    main()
```