class Set

Public Instance Methods

axiom1?() click to toggle source
# File lib/Topology.rb, line 51
def axiom1?
  sos2 = dup
  all? do |e|
    sos2.delete(e)
    sos2.all? { |f| _?(e | f)  }
  end
end
axiom2?() click to toggle source
# File lib/Topology.rb, line 59
def axiom2?
  sos2 = dup
  all? do |e|
    sos2.delete(e)
    sos2.all? { |f| _?(e & f)  }
  end
end
axiom3?(x) click to toggle source
# File lib/Topology.rb, line 67
def axiom3?(x)
  _?(Set[]) && _?(x)
end
power() click to toggle source
# File lib/Topology.rb, line 37
def power
  (0 .. 2 ** length - 1).map { |n|
    select.with_index { |_, i| (n >> i) & 1 == 1 }.to_set
  }.to_set
end
sos?() click to toggle source
# File lib/Topology.rb, line 43
def sos?
  all?(&:set?)
end
top?(x) click to toggle source
# File lib/Topology.rb, line 47
def top?(x)
  sos? && subset?(x.power) && axiom1? && axiom2? && axiom3?(x)
end