Mathlib Map

Theorems · Definition · field theory

DivisionSemiring.mk.noConfusion

{K : Type u_2} →
  {P : Sort u} →
    {toSemiring : Semiring K} →
      {toInv : Inv K} →
        {toDiv : Div K} →
          {toZPow : ZPow K} →
            {div_eq_mul_inv : autoParam (∀ (a b : K), a / b = a * b⁻¹) DivInvMonoid.div_eq_mul_inv._autoParam} →
              {zpow_zero' : autoParam (∀ (a : K), a ^ 0 = 1) DivInvMonoid.zpow_zero'._autoParam} →
                {zpow_succ' :
                    autoParam (∀ (n : ℕ) (a : K), a ^ ↑n.succ = a ^ ↑n * a) DivInvMonoid.zpow_succ'._autoParam} →
                  {zpow_neg' :
                      autoParam (∀ (n : ℕ) (a : K), a ^ Int.negSucc n = (a ^ ↑n.succ)⁻¹)
                        DivInvMonoid.zpow_neg'._autoParam} →
                    {toNontrivial : Nontrivial K} →
                      {inv_zero : 0⁻¹ = 0} →
                        {mul_inv_cancel : ∀ (a : K), a ≠ 0 → a * a⁻¹ = 1} →
                          {toNNRatCast : NNRatCast K} →
                            {nnratCast_def :
                                autoParam (∀ (q : ℚ≥0), ↑q = ↑q.num / ↑q.den)
                                  DivisionSemiring.nnratCast_def._autoParam} →
                              {nnqsmul : ℚ≥0 → K → K} →
                                {nnqsmul_def :
                                    autoParam (∀ (q : ℚ≥0) (a : K), nnqsmul q a = ↑q * a)
                                      DivisionSemiring.nnqsmul_def._autoParam} →
                                  {toSemiring' : Semiring K} →
                                    {toInv' : Inv K} →
                                      {toDiv' : Div K} →
                                        {toZPow' : ZPow K} →
                                          {div_eq_mul_inv' :
                                              autoParam (∀ (a b : K), a / b = a * b⁻¹)
                                                DivInvMonoid.div_eq_mul_inv._autoParam} →
                                            {zpow_zero'' :
                                                autoParam (∀ (a : K), a ^ 0 = 1) DivInvMonoid.zpow_zero'._autoParam} →
                                              {zpow_succ'' :
                                                  autoParam (∀ (n : ℕ) (a : K), a ^ ↑n.succ = a ^ ↑n * a)
                                                    DivInvMonoid.zpow_succ'._autoParam} →
                                                {zpow_neg'' :
                                                    autoParam (∀ (n : ℕ) (a : K), a ^ Int.negSucc n = (a ^ ↑n.succ)⁻¹)
                                                      DivInvMonoid.zpow_neg'._autoParam} →
                                                  {toNontrivial' : Nontrivial K} →
                                                    {inv_zero' : 0⁻¹ = 0} →
                                                      {mul_inv_cancel' : ∀ (a : K), a ≠ 0 → a * a⁻¹ = 1} →
                                                        {toNNRatCast' : NNRatCast K} →
                                                          {nnratCast_def' :
                                                              autoParam (∀ (q : ℚ≥0), ↑q = ↑q.num / ↑q.den)
                                                                DivisionSemiring.nnratCast_def._autoParam} →
                                                            {nnqsmul' : ℚ≥0 → K → K} →
                                                              {nnqsmul_def' :
                                                                  autoParam (∀ (q : ℚ≥0) (a : K), nnqsmul' q a = ↑q * a)
                                                                    DivisionSemiring.nnqsmul_def._autoParam} →
                                                                { toSemiring := toSemiring, toInv := toInv,
                                                                      toDiv := toDiv, toZPow := toZPow,
                                                                      div_eq_mul_inv := div_eq_mul_inv,
                                                                      zpow_zero' := zpow_zero',
                                                                      zpow_succ' := zpow_succ', zpow_neg' := zpow_neg',
                                                                      toNontrivial := toNontrivial,
                                                                      inv_zero := inv_zero,
                                                                      mul_inv_cancel := mul_inv_cancel,
                                                                      toNNRatCast := toNNRatCast,
                                                                      nnratCast_def := nnratCast_def,
                                                                      nnqsmul := nnqsmul, nnqsmul_def := nnqsmul_def } =
                                                                    { toSemiring := toSemiring', toInv := toInv',
                                                                      toDiv := toDiv', toZPow := toZPow',
                                                                      div_eq_mul_inv := div_eq_mul_inv',
                                                                      zpow_zero' := zpow_zero'',
                                                                      zpow_succ' := zpow_succ'',
                                                                      zpow_neg' := zpow_neg'',
                                                                      toNontrivial := toNontrivial',
                                                                      inv_zero := inv_zero',
                                                                      mul_inv_cancel := mul_inv_cancel',
                                                                      toNNRatCast := toNNRatCast',
                                                                      nnratCast_def := nnratCast_def',
                                                                      nnqsmul := nnqsmul',
                                                                      nnqsmul_def := nnqsmul_def' } →
                                                                  (toSemiring ≍ toSemiring' →
                                                                      toInv ≍ toInv' →
                                                                        toDiv ≍ toDiv' →
                                                                          toZPow ≍ toZPow' →
                                                                            toNNRatCast ≍ toNNRatCast' →
                                                                              nnqsmul ≍ nnqsmul' → P) →
                                                                    P
Defined in
Mathlib.Algebra.Field.Defs
Cited by
0 results in Mathlib
Foundations
Depth 48 from the axioms · uses propext, Quot.sound

Around this declaration

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

Cites13

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

Cited by0

Results whose statement or proof uses this declaration.

Nothing cites this yet.