"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-07 16:35:43.132964
"""

```python
from typing import List, Tuple

class KnowledgeBase:
    def __init__(self):
        self.knowledge = []

    def add_knowledge(self, fact: str) -> None:
        """Add a new fact to the knowledge base."""
        self.knowledge.append(fact)

    def query(self, question: str) -> bool:
        """Check if the given question is in the knowledge base."""
        return any(question in fact for fact in self.knowledge)


class ReasoningEngine:
    def __init__(self):
        self.kb = KnowledgeBase()

    def add_fact(self, fact: str) -> None:
        """
        Add a new piece of information to the engine's knowledge.

        :param fact: A string representing a piece of factual knowledge.
        """
        self.kb.add_knowledge(fact)

    def query_question(self, question: str) -> bool:
        """
        Check if the provided question can be answered affirmatively based on current knowledge.

        :param question: The question to evaluate against the knowledge base.
        :return: True if the question is supported by existing facts, False otherwise.
        """
        return self.kb.query(question)

    def infer(self, premise: str, conclusion: str) -> bool:
        """
        Infer whether a conclusion logically follows from given premises.

        :param premise: The known fact or premise to consider.
        :param conclusion: The potential logical consequence of the premise.
        :return: True if the conclusion can be reasonably inferred from the premise, False otherwise.
        """
        return conclusion in (premise + " -> ")


# Example usage
engine = ReasoningEngine()
engine.add_fact("All mammals are warm-blooded.")
engine.add_fact("Whales are mammals.")
assert engine.query_question("Are whales warm-blooded?") == True
assert engine.infer("Whales are mammals.", "Mammals are warm-blooded.") == False  # Incorrect inference
```