{R : Type u_1} →
  (motive : Rack.PreEnvelGroup R → Sort u_2) →
    (x : Rack.PreEnvelGroup R) →
      (Unit → motive Rack.PreEnvelGroup.unit) →
        ((x : R) → motive (Rack.PreEnvelGroup.incl x)) →
          ((a b : Rack.PreEnvelGroup R) → motive (a.mul b)) → ((a : Rack.PreEnvelGroup R) → motive a.inv) → motive x