File: Mathlib/Order/Antisymmetrization.lean

full_name: AntisymmRel
code: /-- The antisymmetrization relation. -/
def AntisymmRel (a b : α) : Prop 
goal: Prop

full_name: antisymmRel_swap
code: theorem antisymmRel_swap : AntisymmRel (swap r) = AntisymmRel r 
goal: AntisymmRel (Function.swap r) = AntisymmRel r

full_name: antisymmRel_refl
code: @[refl]
theorem antisymmRel_refl [IsRefl α r] (a : α) : AntisymmRel r a a 
goal: AntisymmRel r a a

full_name: AntisymmRel.symm
code: @[symm]
theorem AntisymmRel.symm {a b : α} : AntisymmRel r a b → AntisymmRel r b a 
goal: AntisymmRel r a b → AntisymmRel r b a

full_name: AntisymmRel.trans
code: @[trans]
theorem AntisymmRel.trans [IsTrans α r] {a b c : α} (hab : AntisymmRel r a b)
    (hbc : AntisymmRel r b c) : AntisymmRel r a c 
goal: AntisymmRel r a c

full_name: AntisymmRel.decidableRel
code: instance AntisymmRel.decidableRel [DecidableRel r] : DecidableRel (AntisymmRel r) 
goal: DecidableRel (AntisymmRel r)

full_name: antisymmRel_iff_eq
code: @[simp]
theorem antisymmRel_iff_eq [IsRefl α r] [IsAntisymm α r] {a b : α} : AntisymmRel r a b ↔ a = b 
goal: AntisymmRel r a b ↔ a = b

full_name: AntisymmRel.setoid_r
code: /-- The antisymmetrization relation as an equivalence relation. -/
@[simps]
def AntisymmRel.setoid : Setoid α 
goal: Setoid.r a b = AntisymmRel r a b

full_name: AntisymmRel.setoid
code: /-- The antisymmetrization relation as an equivalence relation. -/
@[simps]
def AntisymmRel.setoid : Setoid α 
goal: Setoid α

full_name: Antisymmetrization
code: /-- The partial order derived from a preorder by making pairwise comparable elements equal. This is
the quotient by `fun a b => a ≤ b ∧ b ≤ a`. -/
def Antisymmetrization : Type _ 
goal: Type u_1

full_name: toAntisymmetrization
code: /-- Turn an element into its antisymmetrization. -/
def toAntisymmetrization : α → Antisymmetrization α r 
goal: α → Antisymmetrization α r

full_name: ofAntisymmetrization
code: /-- Get a representative from the antisymmetrization. -/
noncomputable def ofAntisymmetrization : Antisymmetrization α r → α 
goal: Antisymmetrization α r → α

full_name: instInhabitedAntisymmetrization
code: instance [Inhabited α] : Inhabited (Antisymmetrization α r) 
goal: Inhabited (Antisymmetrization α r)

full_name: Antisymmetrization.ind
code: @[elab_as_elim]
protected theorem Antisymmetrization.ind {p : Antisymmetrization α r → Prop} :
    (∀ a, p <| toAntisymmetrization r a) → ∀ q, p q 
goal: (∀ (a : α), p (toAntisymmetrization r a)) → ∀ (q : Antisymmetrization α r), p q

full_name: Antisymmetrization.induction_on
code: @[elab_as_elim]
protected theorem Antisymmetrization.induction_on {p : Antisymmetrization α r → Prop}
    (a : Antisymmetrization α r) (h : ∀ a, p <| toAntisymmetrization r a) : p a 
goal: p a

full_name: toAntisymmetrization_ofAntisymmetrization
code: @[simp]
theorem toAntisymmetrization_ofAntisymmetrization (a : Antisymmetrization α r) :
    toAntisymmetrization r (ofAntisymmetrization r a) = a 
goal: toAntisymmetrization r (ofAntisymmetrization r a) = a

full_name: AntisymmRel.image
code: theorem AntisymmRel.image {a b : α} (h : AntisymmRel (· ≤ ·) a b) {f : α → β} (hf : Monotone f) :
    AntisymmRel (· ≤ ·) (f a) (f b) 
goal: AntisymmRel (fun x x_1 => x ≤ x_1) (f a) (f b)

full_name: instPartialOrderAntisymmetrization
code: instance instPartialOrderAntisymmetrization : PartialOrder (Antisymmetrization α (· ≤ ·)) 
goal: PartialOrder (Antisymmetrization α fun x x_1 => x ≤ x_1)

full_name: antisymmetrization_fibration
code: theorem antisymmetrization_fibration :
    Relation.Fibration (· < ·) (· < ·) (@toAntisymmetrization α (· ≤ ·) _) 
goal: Relation.Fibration (fun x x_1 => x < x_1) (fun x x_1 => x < x_1) (toAntisymmetrization fun x x_1 => x ≤ x_1)

full_name: acc_antisymmetrization_iff
code: theorem acc_antisymmetrization_iff : Acc (· < ·)
    (@toAntisymmetrization α (· ≤ ·) _ a) ↔ Acc (· < ·) a 
goal: Acc (fun x x_1 => x < x_1) (toAntisymmetrization (fun x x_1 => x ≤ x_1) a) ↔ Acc (fun x x_1 => x < x_1) a

full_name: wellFounded_antisymmetrization_iff
code: theorem wellFounded_antisymmetrization_iff :
    WellFounded (@LT.lt (Antisymmetrization α (· ≤ ·)) _) ↔ WellFounded (@LT.lt α _) 
goal: WellFounded LT.lt ↔ WellFounded LT.lt

full_name: instWellFoundedLTAntisymmetrizationLe
code: instance [WellFoundedLT α] : WellFoundedLT (Antisymmetrization α (· ≤ ·)) 
goal: WellFoundedLT (Antisymmetrization α fun x x_1 => x ≤ x_1)

full_name: instLinearOrderAntisymmetrizationLeOfDecidableRelLtOfIsTotal
code: instance [@DecidableRel α (· ≤ ·)] [@DecidableRel α (· < ·)] [IsTotal α (· ≤ ·)] :
    LinearOrder (Antisymmetrization α (· ≤ ·)) 
goal: LinearOrder (Antisymmetrization α fun x x_1 => x ≤ x_1)

full_name: toAntisymmetrization_le_toAntisymmetrization_iff
code: @[simp]
theorem toAntisymmetrization_le_toAntisymmetrization_iff :
    @toAntisymmetrization α (· ≤ ·) _ a ≤ @toAntisymmetrization α (· ≤ ·) _ b ↔ a ≤ b 
goal: toAntisymmetrization (fun x x_1 => x ≤ x_1) a ≤ toAntisymmetrization (fun x x_1 => x ≤ x_1) b ↔ a ≤ b

full_name: toAntisymmetrization_lt_toAntisymmetrization_iff
code: @[simp]
theorem toAntisymmetrization_lt_toAntisymmetrization_iff :
    @toAntisymmetrization α (· ≤ ·) _ a < @toAntisymmetrization α (· ≤ ·) _ b ↔ a < b 
goal: toAntisymmetrization (fun x x_1 => x ≤ x_1) a < toAntisymmetrization (fun x x_1 => x ≤ x_1) b ↔ a < b

full_name: ofAntisymmetrization_le_ofAntisymmetrization_iff
code: @[simp]
theorem ofAntisymmetrization_le_ofAntisymmetrization_iff {a b : Antisymmetrization α (· ≤ ·)} :
    ofAntisymmetrization (· ≤ ·) a ≤ ofAntisymmetrization (· ≤ ·) b ↔ a ≤ b 
goal: ofAntisymmetrization (fun x x_1 => x ≤ x_1) a ≤ ofAntisymmetrization (fun x x_1 => x ≤ x_1) b ↔ a ≤ b

full_name: ofAntisymmetrization_lt_ofAntisymmetrization_iff
code: @[simp]
theorem ofAntisymmetrization_lt_ofAntisymmetrization_iff {a b : Antisymmetrization α (· ≤ ·)} :
    ofAntisymmetrization (· ≤ ·) a < ofAntisymmetrization (· ≤ ·) b ↔ a < b 
goal: ofAntisymmetrization (fun x x_1 => x ≤ x_1) a < ofAntisymmetrization (fun x x_1 => x ≤ x_1) b ↔ a < b

full_name: toAntisymmetrization_mono
code: @[mono]
theorem toAntisymmetrization_mono : Monotone (@toAntisymmetrization α (· ≤ ·) _) 
goal: Monotone (toAntisymmetrization fun x x_1 => x ≤ x_1)

full_name: _private.Mathlib.Order.Antisymmetrization.0.liftFun_antisymmRel
code: private theorem liftFun_antisymmRel (f : α →o β) :
    ((AntisymmRel.setoid α (· ≤ ·)).r ⇒ (AntisymmRel.setoid β (· ≤ ·)).r) f f 
goal: (Setoid.r ⇒ Setoid.r) ⇑f ⇑f

full_name: OrderHom.antisymmetrization
code: /-- Turns an order homomorphism from `α` to `β` into one from `Antisymmetrization α` to
`Antisymmetrization β`. `Antisymmetrization` is actually a functor. See `Preorder_to_PartialOrder`.
-/
protected def OrderHom.antisymmetrization (f : α →o β) :
    Antisymmetrization α (· ≤ ·) →o Antisymmetrization β (· ≤ ·) 
goal: (Antisymmetrization α fun x x_1 => x ≤ x_1) →o Antisymmetrization β fun x x_1 => x ≤ x_1

full_name: OrderHom.coe_antisymmetrization
code: @[simp]
theorem OrderHom.coe_antisymmetrization (f : α →o β) :
    ⇑f.antisymmetrization = Quotient.map' f (liftFun_antisymmRel f) 
goal: ⇑f.antisymmetrization = Quotient.map' ⇑f ⋯

full_name: OrderHom.antisymmetrization_apply
code: theorem OrderHom.antisymmetrization_apply (f : α →o β) (a : Antisymmetrization α (· ≤ ·)) :
    f.antisymmetrization a = Quotient.map' f (liftFun_antisymmRel f) a 
goal: f.antisymmetrization a = Quotient.map' ⇑f ⋯ a

full_name: OrderHom.antisymmetrization_apply_mk
code: @[simp]
theorem OrderHom.antisymmetrization_apply_mk (f : α →o β) (a : α) :
    f.antisymmetrization (toAntisymmetrization _ a) = toAntisymmetrization _ (f a) 
goal: f.antisymmetrization (toAntisymmetrization (fun x x_1 => x ≤ x_1) a) = toAntisymmetrization (fun x x_1 => x ≤ x_1) (f a)

full_name: OrderEmbedding.ofAntisymmetrization
code: /-- `ofAntisymmetrization` as an order embedding. -/
@[simps]
noncomputable def OrderEmbedding.ofAntisymmetrization : Antisymmetrization α (· ≤ ·) ↪o α 
goal: (Antisymmetrization α fun x x_1 => x ≤ x_1) ↪o α

full_name: OrderEmbedding.ofAntisymmetrization_apply
code: /-- `ofAntisymmetrization` as an order embedding. -/
@[simps]
noncomputable def OrderEmbedding.ofAntisymmetrization : Antisymmetrization α (· ≤ ·) ↪o α 
goal: ∀ (a : Antisymmetrization α fun x x_1 => x ≤ x_1),
  (OrderEmbedding.ofAntisymmetrization α) a = ofAntisymmetrization (fun x x_1 => x ≤ x_1) a

full_name: OrderIso.dualAntisymmetrization
code: /-- `Antisymmetrization` and `orderDual` commute. -/
def OrderIso.dualAntisymmetrization :
    (Antisymmetrization α (· ≤ ·))ᵒᵈ ≃o Antisymmetrization αᵒᵈ (· ≤ ·) 
goal: (Antisymmetrization α fun x x_1 => x ≤ x_1)ᵒᵈ ≃o Antisymmetrization αᵒᵈ fun x x_1 => x ≤ x_1

full_name: OrderIso.dualAntisymmetrization_apply
code: @[simp]
theorem OrderIso.dualAntisymmetrization_apply (a : α) :
    OrderIso.dualAntisymmetrization _ (toDual <| toAntisymmetrization _ a) =
      toAntisymmetrization _ (toDual a) 
goal: (OrderIso.dualAntisymmetrization α) (OrderDual.toDual (toAntisymmetrization (fun x x_1 => x ≤ x_1) a)) =
  toAntisymmetrization (fun x x_1 => x ≤ x_1) (OrderDual.toDual a)

full_name: OrderIso.dualAntisymmetrization_symm_apply
code: @[simp]
theorem OrderIso.dualAntisymmetrization_symm_apply (a : α) :
    (OrderIso.dualAntisymmetrization _).symm (toAntisymmetrization _ <| toDual a) =
      toDual (toAntisymmetrization _ a) 
goal: (OrderIso.dualAntisymmetrization α).symm (toAntisymmetrization (fun x x_1 => x ≤ x_1) (OrderDual.toDual a)) =
  OrderDual.toDual (toAntisymmetrization (fun x x_1 => x ≤ x_1) a)