"""Create fact_checker
Generated by Phi-Octopus Eden
2025-11-08 01:35:17.071176
"""

```python
from typing import List, Dict

class FactChecker:
    """
    A simple fact-checking system that evaluates the truthfulness of statements based on predefined criteria.
    
    This capability is designed to address limited reasoning sophistication by providing a straightforward way to
    verify claims against known facts. It includes basic logical operations and comparisons.
    """

    def __init__(self, knowledge_base: Dict[str, bool]):
        """
        Initialize the FactChecker with a knowledge base of facts.

        :param knowledge_base: A dictionary where keys are statements (str) and values are their truthfulness (bool).
        """
        self.knowledge_base = knowledge_base

    def check_statement(self, statement: str) -> bool:
        """
        Check if a given statement is true based on the knowledge base.

        :param statement: The statement to be checked.
        :return: True if the statement is true according to the knowledge base, False otherwise.
        """
        return self.knowledge_base.get(statement.lower(), False)

    def logical_and(self, statement1: str, statement2: str) -> bool:
        """
        Check if both given statements are true based on the knowledge base.

        :param statement1: The first statement to be checked.
        :param statement2: The second statement to be checked.
        :return: True if both statements are true according to the knowledge base, False otherwise.
        """
        return self.check_statement(statement1) and self.check_statement(statement2)

    def logical_or(self, statement1: str, statement2: str) -> bool:
        """
        Check if at least one of the given statements is true based on the knowledge base.

        :param statement1: The first statement to be checked.
        :param statement2: The second statement to be checked.
        :return: True if at least one statement is true according to the knowledge base, False otherwise.
        """
        return self.check_statement(statement1) or self.check_statement(statement2)

    def check_claim(self, claim: str, supporting_statements: List[str]) -> bool:
        """
        Check a complex claim based on multiple supporting statements.

        :param claim: The main statement to be checked.
        :param supporting_statements: A list of supporting statements.
        :return: True if the claim is true according to the knowledge base and supporting statements, False otherwise.
        """
        return self.check_statement(claim) and all(self.check_statement(statement) for statement in supporting_statements)

# Example usage
knowledge_base = {
    "the earth orbits around the sun": True,
    "mars has two moons": True,
    "jupiter is a planet": True,
}

checker = FactChecker(knowledge_base)
print(checker.check_statement("The Earth orbits around the Sun"))  # Output: True
print(checker.logical_and("the earth orbits around the sun", "mars has two moons"))  # Output: True
print(checker.check_claim("Planets have moons", ["jupiter is a planet", "mars has two moons"]))  # Output: True
```