code: def world_prior(num_objs, meaning_fn):
      prev_factor = torch.tensor(0.0)
      world = []
      for i in range(num_objs):
          world.append(Obj("obj_{}".format(i)))
          new_factor = heuristic(meaning_fn(world))
          pyro.factor("factor_{}".format(i), new_factor - prev_factor)
          prev_factor = new_factor
  
      pyro.factor("factor_{}".format(num_objs), prev_factor * -1)
      return tuple(world)
  
imports: import argparse
  import collections
  import torch
  from search_inference import BestFirstSearch, HashingMarginal, memoize
  import pyro
  import pyro.distributions
label_desc: Use image node_id 5 for calling a global function with example usage: world_prior(num_objs, meaning_fn) and returns: tuple