KNOWLEDGE = {
    "solid": "The 5 principles of Object-Oriented Design: SRP, OCP, LSP, ISP, DIP.",
    "srp": "Single Responsibility Principle: A class should have one, and only one, reason to change.",
    "ocp": "Open/Closed Principle: Software entities should be open for extension, but closed for modification.",
    "lsp": "Liskov Substitution Principle: Objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program.",
    "isp": "Interface Segregation Principle: Many client-specific interfaces are better than one general-purpose interface.",
    "dip": "Dependency Inversion Principle: Depend upon abstractions, [not] concretions."
}