anchor.diff:     * AR: smt encode_modul functions are now here instead of in Tc.fs
      *     this is common smt postprocessing for fresh module and module read from cache
      *)
  +  let maybe_restore_opts () : unit =
  +    if not (Options.interactive ()) then
  +      Options.restore_cmd_line_options true |> ignore
  +  in
     let post_smt_encoding (_:unit) :unit =
  -    FStar.SMTEncoding.Z3.refresh ();
  -    if not (Options.interactive ())
  -    then Options.restore_cmd_line_options true |> ignore
  -    else ()
  +    FStar.SMTEncoding.Z3.refresh ()
     in
     let maybe_extract_mldefs tcmod env =
         if Options.codegen() = None
  
positive.code:                  in
                   let modul, env = Tc.check_module tcenv fmod (is_some pre_fn) in
                   //AR: encode the module to to smt
                   let smt_decls =
                     if (not (Options.lax()))
                     then let smt_decls = FStar.SMTEncoding.Encode.encode_modul env modul in
  
negative.code:                         (FStar.TypeChecker.Normalize.erase_universes tcenv)
              in
              let env = FStar.TypeChecker.Tc.load_checked_module tcenv tcmod in
              maybe_restore_opts ();
              //AR: encode smt module and do post processing
              if (not (Options.lax())) then begin
                FStar.SMTEncoding.Encode.encode_modul_from_cache env tcmod.name smt_decls;
  