Documentation

DY.ALaCarte.Ordering

def DY.ALaCarte.Container.compare {CtorId : Type} {ctors : Ctors CtorId} [Ord CtorId] [Std.LawfulEqOrd CtorId] [(id : CtorId) → Ord (ctors id).Data] (x1 x2 : Container ctors) :
Equations
Instances For
    theorem DY.ALaCarte.Container.compare.compare_self {CtorId : Type} {ctors : Ctors CtorId} [Ord CtorId] [Std.LawfulEqOrd CtorId] [(id : CtorId) → Ord (ctors id).Data] [∀ (id : CtorId), Std.ReflOrd (ctors id).Data] (x : Container ctors) :
    theorem DY.ALaCarte.Container.compare.eq_of_compare {CtorId : Type} {ctors : Ctors CtorId} [Ord CtorId] [Std.LawfulEqOrd CtorId] [(id : CtorId) → Ord (ctors id).Data] [∀ (id : CtorId), Std.LawfulEqOrd (ctors id).Data] (x1 x2 : Container ctors) :
    x1.compare x2 = Ordering.eqx1 = x2
    theorem DY.ALaCarte.Container.compare.eq_swap {CtorId : Type} {ctors : Ctors CtorId} [Ord CtorId] [Std.LawfulEqOrd CtorId] [Std.OrientedOrd CtorId] [(id : CtorId) → Ord (ctors id).Data] [∀ (id : CtorId), Std.OrientedOrd (ctors id).Data] (x1 x2 : Container ctors) :
    x1.compare x2 = (x2.compare x1).swap
    theorem DY.ALaCarte.Container.compare.isLE_trans {CtorId : Type} {ctors : Ctors CtorId} [Ord CtorId] [Std.LawfulEqOrd CtorId] [Std.TransOrd CtorId] [(id : CtorId) → Ord (ctors id).Data] [∀ (id : CtorId), Std.LawfulEqOrd (ctors id).Data] [∀ (id : CtorId), Std.TransOrd (ctors id).Data] (x1 x2 x3 : Container ctors) :
    (x1.compare x2).isLE = true(x2.compare x3).isLE = true(x1.compare x3).isLE = true
    def DY.ALaCarte.FunctorUnion.CtorId.compare {a : Type} [Ord a] [Std.LawfulEqOrd a] {fs : aTypeType} [(id : a) → FunctorSizeOf (fs id)] [(id : a) → Representable (fs id)] [(id : a) → RepresentableOrd (fs id)] (x1 x2 : CtorId fs) :
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem DY.ALaCarte.FunctorUnion.CtorId.compare.compare_self {a : Type} [Ord a] [Std.LawfulEqOrd a] {fs : aTypeType} [(id : a) → FunctorSizeOf (fs id)] [(id : a) → Representable (fs id)] [(id : a) → RepresentableOrd (fs id)] (x : CtorId fs) :
      theorem DY.ALaCarte.FunctorUnion.CtorId.compare.eq_of_compare {a : Type} [Ord a] [Std.LawfulEqOrd a] {fs : aTypeType} [(id : a) → FunctorSizeOf (fs id)] [(id : a) → Representable (fs id)] [(id : a) → RepresentableOrd (fs id)] (x1 x2 : CtorId fs) :
      x1.compare x2 = Ordering.eqx1 = x2
      theorem DY.ALaCarte.FunctorUnion.CtorId.compare.eq_swap {a : Type} [Ord a] [Std.LawfulEqOrd a] [Std.OrientedOrd a] {fs : aTypeType} [(id : a) → FunctorSizeOf (fs id)] [(id : a) → Representable (fs id)] [(id : a) → RepresentableOrd (fs id)] (x1 x2 : CtorId fs) :
      x1.compare x2 = (x2.compare x1).swap
      theorem DY.ALaCarte.FunctorUnion.CtorId.compare.isLE_trans {a : Type} [Ord a] [Std.LawfulEqOrd a] [Std.TransOrd a] {fs : aTypeType} [(id : a) → FunctorSizeOf (fs id)] [(id : a) → Representable (fs id)] [(id : a) → RepresentableOrd (fs id)] (x1 x2 x3 : CtorId fs) :
      (x1.compare x2).isLE = true(x2.compare x3).isLE = true(x1.compare x3).isLE = true
      @[instance_reducible]
      instance DY.ALaCarte.instRepresentableOrdFunctorUnionOfLawfulEqOrdOfTransOrd {a : Type} [Ord a] [Std.LawfulEqOrd a] [Std.TransOrd a] (fs : aTypeType) [(id : a) → FunctorSizeOf (fs id)] [(id : a) → Representable (fs id)] [(id : a) → RepresentableOrd (fs id)] :
      Equations
      • One or more equations did not get rendered due to their size.