{R : Type u} →
  {S : Type v} →
    [inst : CommSemiring R] →
      [inst_1 : Semiring S] →
        [inst_2 : Algebra R S] →
          {f : Polynomial R} →
            {motive : IsAdjoinRootMonic S f → Sort u_1} →
              ((toIsAdjoinRoot : IsAdjoinRoot S f) →
                  (monic : f.Monic) → motive { toIsAdjoinRoot := toIsAdjoinRoot, monic := monic }) →
                (t : IsAdjoinRootMonic S f) → motive t