public static Skolem createVariableOrSkolem(Surrogate type, Symbol name) {
    if (Logic.descriptionModeP()) {
      return (Logic.createVariable(type, name, false));
    }
    else {
      { Skolem skolem = Skolem.newSkolem();

        { Object old$InvisibleassertionP$000 = Logic.$INVISIBLEASSERTIONp$.get();

          try {
            Native.setBooleanSpecial(Logic.$INVISIBLEASSERTIONp$, true);
            Skolem.helpCreateSkolem(skolem, type, name, false);

          } finally {
            Logic.$INVISIBLEASSERTIONp$.set(old$InvisibleassertionP$000);
          }
        }
        return (skolem);
      }
    }
  }