Class IntuitionisticLogic

java.lang.Object
org.episteme.core.mathematics.logic.multivalued.IntuitionisticLogic
All Implemented Interfaces:
Logic<Boolean>

public class IntuitionisticLogic extends Object implements Logic<Boolean>
Intuitionistic (constructive) logic.

Intuitionistic logic rejects the law of excluded middle (A ∨ ¬A). A proposition is true only if there is a constructive proof. Uses Heyting algebra semantics instead of Boolean algebra.

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Method Details

    • getInstance

      public static IntuitionisticLogic getInstance()
    • trueValue

      public Boolean trueValue()
      Description copied from interface: Logic
      Returns the truth value representing "True" (tautology).
      Specified by:
      trueValue in interface Logic<Boolean>
      Returns:
      the true value
    • falseValue

      public Boolean falseValue()
      Description copied from interface: Logic
      Returns the truth value representing "False" (contradiction).
      Specified by:
      falseValue in interface Logic<Boolean>
      Returns:
      the false value
    • and

      public Boolean and(Boolean a, Boolean b)
      Description copied from interface: Logic
      Logical AND (Conjunction).
      Specified by:
      and in interface Logic<Boolean>
      Parameters:
      a - first operand
      b - second operand
      Returns:
      a AND b
    • or

      public Boolean or(Boolean a, Boolean b)
      Description copied from interface: Logic
      Logical OR (Disjunction).
      Specified by:
      or in interface Logic<Boolean>
      Parameters:
      a - first operand
      b - second operand
      Returns:
      a OR b
    • not

      public Boolean not(Boolean a)
      Description copied from interface: Logic
      Logical NOT (Negation).
      Specified by:
      not in interface Logic<Boolean>
      Parameters:
      a - operand
      Returns:
      NOT a
    • implies

      public Boolean implies(Boolean a, Boolean b)
      Description copied from interface: Logic
      Logical Implication (a -> b).
      Specified by:
      implies in interface Logic<Boolean>
      Parameters:
      a - antecedent
      b - consequent
      Returns:
      a IMPLIES b
    • excludedMiddle

      public Boolean excludedMiddle(Boolean a)
      Checks if the law of excluded middle holds. In intuitionistic logic, this is NOT a tautology.
      Parameters:
      a - the proposition
      Returns:
      A ∨ ¬A (not always true)
    • doubleNegation

      public Boolean doubleNegation(Boolean a)
      Double negation elimination is NOT valid in intuitionistic logic. ¬¬A does not imply A.
      Parameters:
      a - the proposition
      Returns:
      ¬¬A
    • toString

      public String toString()
      Overrides:
      toString in class Object