"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-07 03:48:15.847918
"""

```python
from typing import List, Dict


class KnowledgeBase:
    def __init__(self):
        self.knowledge = {}

    def add_fact(self, fact: str) -> None:
        """Add a new fact to the knowledge base."""
        if fact not in self.knowledge:
            self.knowledge[fact] = [True]

    def is_fact_known(self, fact: str) -> bool:
        """Check if a fact is known (has been added)."""
        return fact in self.knowledge


class ReasoningEngine:
    def __init__(self):
        self.kb = KnowledgeBase()
    
    def infer_new_facts(self, facts: List[str]) -> None:
        """
        Infer new facts from the existing ones.
        
        :param facts: A list of known facts as strings
        """
        for fact in facts:
            if not self.kb.is_fact_known(fact):
                print(f"Inferring {fact} based on available knowledge.")
                # Simulate inference process with a condition check
                self.kb.add_fact(fact)

    def get_all_facts(self) -> Dict[str, bool]:
        """
        Get all known facts from the knowledge base.
        
        :return: A dictionary of known facts and their truth values
        """
        return self.kb.knowledge


# Example usage:
reasoning_engine = ReasoningEngine()
known_facts = ["It is raining", "The sun is shining"]
unknown_fact = "There is a rainbow"

# Adding known facts to the knowledge base
for fact in known_facts:
    reasoning_engine.infer_new_facts([fact])

# Attempting to infer an unknown fact
reasoning_engine.infer_new_facts([unknown_fact])

print(reasoning_engine.get_all_facts())
```