Built with
doc-gen4, running Lean4.
Bubbles (
) indicate interactive fragments: hover for details, tap to reveal contents.
Use
Ctrl+↑Ctrl+↓to navigate,
Ctrl+🖱️to focus.
On Mac, use
Cmdinstead of
Ctrl.
/-
Copyright (c) 2021 Yury Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury Kudryashov, Yaël Dillies
! This file was ported from Lean 3 source module algebra.ring.order_synonym
! leanprover-community/mathlib commit d6aae1bcbd04b8de2022b9b83a5b5b10e10c777d
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
import Mathlib.Algebra.Ring.Defs
import Mathlib.Algebra.Group.OrderSynonym
/-!
# Ring structure on the order type synonyms
Transfer algebraic instances from `α` to `αᵒᵈ` and `Lex α`.
-/
variable {α : Type _}
/-! ### Order dual -/
instance [h : Distrib α] : Distrib αᵒᵈ := h
instance [Mul α] [Add α] [h : LeftDistribClass: (R : Type ?u.55) → [inst : Mul R] → [inst : Add R] → Type
LeftDistribClass α] : LeftDistribClass: (R : Type ?u.75) → [inst : Mul R] → [inst : Add R] → Type
LeftDistribClass αᵒᵈ := h
instance [Mul α] [Add α] [h : RightDistribClass: (R : Type ?u.186) → [inst : Mul R] → [inst : Add R] → Type
RightDistribClass α] : RightDistribClass: (R : Type ?u.206) → [inst : Mul R] → [inst : Add R] → Type
RightDistribClass αᵒᵈ := h
instance [h : NonUnitalNonAssocSemiring: Type ?u.311 → Type ?u.311
NonUnitalNonAssocSemiring α] : NonUnitalNonAssocSemiring: Type ?u.314 → Type ?u.314
NonUnitalNonAssocSemiring αᵒᵈ := h
instance [h : NonUnitalSemiring: Type ?u.352 → Type ?u.352
NonUnitalSemiring α] : NonUnitalSemiring: Type ?u.355 → Type ?u.355
NonUnitalSemiring αᵒᵈ := h
instance [h : NonAssocSemiring: Type ?u.393 → Type ?u.393
NonAssocSemiring α] : NonAssocSemiring: Type ?u.396 → Type ?u.396
NonAssocSemiring αᵒᵈ := h
instance [h : Semiring α] : Semiring αᵒᵈ := h
instance [h : NonUnitalCommSemiring: Type ?u.475 → Type ?u.475
NonUnitalCommSemiring α] : NonUnitalCommSemiring: Type ?u.478 → Type ?u.478
NonUnitalCommSemiring αᵒᵈ := h
instance [h : CommSemiring α] : CommSemiring αᵒᵈ := h
instance [Mul α] [h : HasDistribNeg: (α : Type ?u.560) → [inst : Mul α] → Type ?u.560
HasDistribNeg α] : HasDistribNeg: (α : Type ?u.573) → [inst : Mul α] → Type ?u.573
HasDistribNeg αᵒᵈ := h
instance [h : NonUnitalNonAssocRing: Type ?u.648 → Type ?u.648
NonUnitalNonAssocRing α] : NonUnitalNonAssocRing: Type ?u.651 → Type ?u.651
NonUnitalNonAssocRing αᵒᵈ := h
instance [h : NonUnitalRing: Type ?u.689 → Type ?u.689
NonUnitalRing α] : NonUnitalRing: Type ?u.692 → Type ?u.692
NonUnitalRing αᵒᵈ := h
instance [h : NonAssocRing α] : NonAssocRing αᵒᵈ := h
instance [h : Ring α] : Ring αᵒᵈ := h
instance [h : NonUnitalCommRing: Type ?u.812 → Type ?u.812
NonUnitalCommRing α] : NonUnitalCommRing: Type ?u.815 → Type ?u.815
NonUnitalCommRing αᵒᵈ := h
instance [h : CommRing α] : CommRing αᵒᵈ := h
instance [Ring α] [h : IsDomain α] : IsDomain αᵒᵈ := h
/-! ### Lexicographical order -/
instance [h : Distrib α] : Distrib (Lex α) := h
instance [Mul α] [Add α] [h : LeftDistribClass: (R : Type ?u.1021) → [inst : Mul R] → [inst : Add R] → Type
LeftDistribClass α] : LeftDistribClass: (R : Type ?u.1041) → [inst : Mul R] → [inst : Add R] → Type
LeftDistribClass (Lex α) := h
instance [Mul α] [Add α] [h : RightDistribClass: (R : Type ?u.1152) → [inst : Mul R] → [inst : Add R] → Type
RightDistribClass α] : RightDistribClass: (R : Type ?u.1172) → [inst : Mul R] → [inst : Add R] → Type
RightDistribClass (Lex α) := h
instance [h : NonUnitalNonAssocSemiring: Type ?u.1277 → Type ?u.1277
NonUnitalNonAssocSemiring α] : NonUnitalNonAssocSemiring: Type ?u.1280 → Type ?u.1280
NonUnitalNonAssocSemiring (Lex α) := h
instance [h : NonUnitalSemiring: Type ?u.1318 → Type ?u.1318
NonUnitalSemiring α] : NonUnitalSemiring: Type ?u.1321 → Type ?u.1321
NonUnitalSemiring (Lex α) := h
instance [h : NonAssocSemiring: Type ?u.1359 → Type ?u.1359
NonAssocSemiring α] : NonAssocSemiring: Type ?u.1362 → Type ?u.1362
NonAssocSemiring (Lex α) := h
instance [h : Semiring α] : Semiring (Lex α) := h
instance [h : NonUnitalCommSemiring: Type ?u.1441 → Type ?u.1441
NonUnitalCommSemiring α] : NonUnitalCommSemiring: Type ?u.1444 → Type ?u.1444
NonUnitalCommSemiring (Lex α) := h
instance [h : CommSemiring: Type ?u.1482 → Type ?u.1482
CommSemiring α] : CommSemiring: Type ?u.1485 → Type ?u.1485
CommSemiring (Lex α) := h
instance [Mul α] [h : HasDistribNeg: (α : Type ?u.1526) → [inst : Mul α] → Type ?u.1526
HasDistribNeg α] : HasDistribNeg: (α : Type ?u.1539) → [inst : Mul α] → Type ?u.1539
HasDistribNeg (Lex α) := h
instance [h : NonUnitalNonAssocRing: Type ?u.1614 → Type ?u.1614
NonUnitalNonAssocRing α] : NonUnitalNonAssocRing: Type ?u.1617 → Type ?u.1617
NonUnitalNonAssocRing (Lex α) := h
instance [h : NonUnitalRing: Type ?u.1655 → Type ?u.1655
NonUnitalRing α] : NonUnitalRing: Type ?u.1658 → Type ?u.1658
NonUnitalRing (Lex α) := h
instance [h : NonAssocRing: Type ?u.1696 → Type ?u.1696
NonAssocRing α] : NonAssocRing: Type ?u.1699 → Type ?u.1699
NonAssocRing (Lex α) := h
instance [h : Ring α] : Ring (Lex α) := h
instance [h : NonUnitalCommRing: Type ?u.1778 → Type ?u.1778
NonUnitalCommRing α] : NonUnitalCommRing: Type ?u.1781 → Type ?u.1781
NonUnitalCommRing (Lex α) := h
instance [h : CommRing α] : CommRing (Lex α) := h
instance [Ring α] [h : IsDomain α] : IsDomain (Lex α) := h