Extend a partial order to a linear order #

This file constructs a linear order which is an extension of the given partial order, using Zorn's lemma.

theorem extend_partialOrder {α : Type u} (r : ααProp) [inst : IsPartialOrder α r] :
s x, r s

Any partial order can be extended to a linear order.

def LinearExtension (α : Type u) :

A type alias for α, intended to extend a partial order on α to a linear order.

noncomputable instance instLinearOrderLinearExtension {α : Type u} [inst : PartialOrder α] :
  • One or more equations did not get rendered due to their size.
def toLinearExtension {α : Type u} [inst : PartialOrder α] :
(fun x x_1 => x x_1) →r fun x x_1 => x x_1

The embedding of α into LinearExtension α as a relation homomorphism.

  • toLinearExtension = { toFun := fun x => x, map_rel' := (_ : ∀ {a b : α}, (fun x x_1 => x x_1) a b Exists.choose (_ : s x, (fun x x_1 => x x_1) s) a b) }
  • instInhabitedLinearExtension = { default := default }