def ruleset(*programs):
  """
  Takes zero or more Program objects and returns a set() containing all of the
  Statements from those programs (Queries are ignored). If no programs are
  given, an empty set is returned.
  """
  result = set()
  for p in programs:
    for s in p.statements:
      result.add(s)
  return result