public static void assertSynonymDemon(Proposition self) {
    { Stella_Object term = Logic.valueOf((self.arguments.theArray)[0]);
      Stella_Object synonym = Logic.valueOf((self.arguments.theArray)[1]);
      Surrogate synonymname = null;

      if ((!Stella_Object.eqlP(term, synonym)) &&
          Stella_Object.isaP(synonym, Logic.SGT_LOGIC_LOGIC_OBJECT)) {
        synonymname = ((LogicObject)(synonym)).surrogateValueInverse;
        synonymname.surrogateValue = term;
        Logic.assertTuple(Logic.SGT_PL_KERNEL_KB_SYNONYM, Cons.consList(Cons.cons(term, Cons.cons(term, Stella.NIL))));
      }
    }
  }