public static Cons generateImpliesProposition(Proposition self) {
    { Stella_Object tailarg = (self.arguments.theArray)[0];
      Stella_Object headarg = (self.arguments.theArray)[1];

      if (Stella_Object.isaP(headarg, Logic.SGT_LOGIC_DESCRIPTION) &&
          Stella_Object.isaP(tailarg, Logic.SGT_LOGIC_DESCRIPTION)) {
        return (Description.generateDescriptionsAsRule(((Description)(headarg)), ((Description)(tailarg)), self, false));
      }
      else {
        return (Cons.cons(Logic.SYM_PL_KERNEL_KB_SUBSET_OF, Logic.generateArguments(self.arguments).concatenate(Stella.NIL, Stella.NIL)));
      }
    }
  }