{ι : Type u_1} →
  [inst : Preorder ι] →
    (G : ι → Type u_2) →
      [inst_1 : (i : ι) → CommRing (G i)] →
        (f : (i j : ι) → i ≤ j → G i → G j) →
          (P : Type u_3) →
            [inst_2 : CommRing P] →
              (g : (i : ι) → G i →+* P) →
                (∀ (i j : ι) (hij : i ≤ j) (x : G i), (g j) (f i j hij x) = (g i) x) → Ring.DirectLimit G f →+* P