{R : Type u_1} →
  [inst : CommRing R] →
    {motive : RingPreordering R → Sort u} →
      ((toSubsemiring : Subsemiring R) →
          (mem_of_isSquare' : ∀ {x : R}, IsSquare x → x ∈ toSubsemiring.carrier) →
            (neg_one_notMem' : -1 ∉ toSubsemiring.carrier) →
              motive
                { toSubsemiring := toSubsemiring, mem_of_isSquare' := mem_of_isSquare',
                  neg_one_notMem' := neg_one_notMem' }) →
        (t : RingPreordering R) → motive t