Interface ModalLogic<T>

All Superinterfaces:
Logic<T>

public interface ModalLogic<T> extends Logic<T>
Modal logic for reasoning about necessity and possibility.

Modal logic extends classical logic with modal operators:

  • â–¡ (Box/Necessarily) - true in all possible worlds
  • â—‡ (Diamond/Possibly) - true in at least one possible world

Common modal logic systems:

  • K: Basic modal logic
  • T: K + reflexivity (□φ → φ)
  • S4: T + transitivity (□φ → □□φ)
  • S5: S4 + symmetry (◇φ → □◇φ)

References

  • Saul Kripke, "Semantical Considerations on Modal Logic", Acta Philosophica Fennica, Vol. 16, 1963, pp. 83-94
  • C. I. Lewis and C. H. Langford, "Symbolic Logic", Century Company, 1932 (foundational work)
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Method Details

    • necessarily

      T necessarily(Proposition<T> proposition)
      Modal operator: □φ (Necessarily). True if φ is true in all accessible possible worlds.
      Parameters:
      proposition - the proposition
      Returns:
      □φ
    • possibly

      T possibly(Proposition<T> proposition)
      Modal operator: ◇φ (Possibly). True if φ is true in at least one accessible possible world.
      Parameters:
      proposition - the proposition
      Returns:
      ◇φ
    • getSystem

      default String getSystem()
      Returns the modal logic system (K, T, S4, S5, etc.).
      Returns:
      the system name