Mathlib Map

Theorems · Definition · commutative algebra

Function.Surjective.addGroupWithOne

{R : Type u_1} →
  {S : Type u_2} →
    (f : R → S) →
      Function.Surjective f →
        [inst : Add S] →
          [inst_1 : Zero S] →
            [inst_2 : One S] →
              [inst_3 : Neg S] →
                [inst_4 : Sub S] →
                  [inst_5 : SMul ℕ S] →
                    [inst_6 : SMul ℤ S] →
                      [inst_7 : NatCast S] →
                        [inst_8 : IntCast S] →
                          [inst_9 : AddGroupWithOne R] →
                            f 0 = 0 →
                              f 1 = 1 →
                                (∀ (x y : R), f (x + y) = f x + f y) →
                                  (∀ (x : R), f (-x) = -f x) →
                                    (∀ (x y : R), f (x - y) = f x - f y) →
                                      (∀ (n : ℕ) (x : R), f (n • x) = n • f x) →
                                        (∀ (n : ℤ) (x : R), f (n • x) = n • f x) →
                                          (∀ (n : ℕ), f ↑n = ↑n) → (∀ (n : ℤ), f ↑n = ↑n) → AddGroupWithOne S

A type endowed with 0, 1, + is an additive group with one, if it admits a surjective map that preserves 0, 1, and + to an additive group with one. See note [reducible non-instances].

Defined in
Mathlib.Algebra.Ring.InjSurj
Cited by
0 results in Mathlib
Foundations
Depth 20 from the axioms · uses propext
Assumes
AddZeroOneNegSubSMulSMulNatCastIntCastAddGroupWithOne

Around this declaration

Dashed lines are statement dependencies; solid lines are citations in proofs.

Cites6

Mathlib declarations this one mentions in its statement or cites explicitly in its proof. Plumbing is filtered out.

Cited by2

Results whose statement or proof uses this declaration.