new_contents: #!/usr/bin/env python
  import argparse, tempfile, sys
  from replace_imports import include_imports
  
  parser = argparse.ArgumentParser(description='Attempt to create a small file which reproduces a bug found in a large development.')
  parser.add_argument('bug_file', metavar='BUGGY_FILE', type=argparse.FileType('r'),
                      help='a .v file which displays the bug')
  parser.add_argument('output_file', metavar='OUT_FILE', type=str,
                      help='a .v file which will hold intermediate results, as well as the final reduced file')
  parser.add_argument('temp_file', metavar='TEMP_FILE', nargs='?', type=str, default='',
                      help='a .v file which will be used to build up intermediate files while they are being tested')
  parser.add_argument('--verbose', '-v', dest='verbose',
                      action='store_const', const=True, default=False,
                      help='display some extra information')
  parser.add_argument('--fast', dest='fast',
                      action='store_const', const=True, default=False,
                      help='Use a faster method for combining imports')
  
  def write_to_file(file_name, contents):
      try:
          with open(file_name, 'w', encoding='UTF-8') as f:
              f.write(contents)
      except TypeError:
          with open(file_name, 'w') as f:
              f.write(contents)
  
  
  if __name__ == '__main__':
      args = parser.parse_args()
      bug_file_name = bug_file.name
      output_file_name = args.output_file.name
      temp_file_name = args.temp_file
      verbose = args.verbose
      fast = args.fast
      if bug_file_name[-2:] != '.v':
          print('Error: BUGGY_FILE must end in .v (value: %s)' % bug_file_name)
          sys.exit(1)
      if output_file_name[-2:] != '.v':
          print('Error: OUT_FILE must end in .v (value: %s)' % output_file_name)
          sys.exit(1)
      if temp_file_name == '':
          temp_file = tempfile.NamedTemporaryFile(suffix='.v', dir='.', delete=False)
          temp_file_name = temp_file.name
          temp_file.close()
      if temp_file_name[-2:] != '.v':
          print('Error: TEMP_FILE must end in .v (value: %s)' % temp_file_name)
          sys.exit(1)
  
  
      print('First, I will attempt to inline all of the inputs in %s, and store the result in %s...' % (bug_file_name, output_file_name))
      inlined_contents = include_imports(bug_file_name, verbose=verbose, fast=fast)
      if inlined_contents:
          write_to_file(output_file_name, inlined_contents)
      else:
          print('Failed to inline inputs.')
          sys.exit(1)
  
      print('Now, I will attempt to coq the file, and find the error...')
  
  
      if os.path.exists(temp_file_name):
          os.remove(temp_file_name)
  
subject: Write a top-level file to wrap the bug-finding process