class Axiom::Function::Connective::Conjunction

A logical AND between expressions

Public Class Methods

call(left, right) click to toggle source

Evaluate the operands using a logical AND

@example with true operands

Conjunction.call(true, true)  # => true

@example with true and false

Conjunction.call(true, false)  # => false

@example with false and true

Conjunction.call(false, true)  # => false

@example with false and false

Conjunction.call(false, false)  # => false

@param [Boolean] left @param [Boolean] right

@return [Boolean]

@api public

# File lib/axiom/function/connective/conjunction.rb, line 33
def self.call(left, right)
  left && right
end

Public Instance Methods

inverse() click to toggle source

Return the inverse connective

@example

disjunction = conjunction.inverse

@return [Disjunction]

@api public

# File lib/axiom/function/connective/conjunction.rb, line 45
def inverse
  Disjunction.new(Negation.new(left), Negation.new(right))
    .memoize(inverse: self)
end