Documentation

LeanPool.Lean4Itree.Paco.PacoDefs

@[implicit_reducible]

The binary meet of a complete lattice, as the infimum of {x, y}.

Equations
noncomputable def Lean.Order.CompleteLattice.top {α : Sort u_1} [CompleteLattice α] :
α

The top element of a complete lattice, as the supremum of the whole carrier.

Equations
Instances For

    Notation ⊤ₚ for the Paco lattice top (to avoid clashing with core's ).

    Equations
    Instances For

      Notation x ⊓ₚ y for the Paco lattice meet (to avoid clashing with core's ).

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem Lean.Order.CompleteLattice.meet_comm {α : Type u_1} [CompleteLattice α] (x y : α) :
        min x y = min y x
        theorem Lean.Order.CompleteLattice.meet_assoc {α : Type u_1} [CompleteLattice α] (x y z : α) :
        min (min x y) z = min x (min y z)
        theorem Lean4Itree.monotonize_mon {α : Type u_1} [Lean.Order.CompleteLattice α] (f : αα) (r : α) :
        Lean.Order.monotone fun (x : α) => Lean.Order.inf fun (z : α) => (y : α), z = f y Lean.Order.PartialOrder.rel (min r x) y
        theorem Lean4Itree.plfp_arg_mon {α : Type u_1} [Lean.Order.CompleteLattice α] {f : αα} (hm : Lean.Order.monotone f) (r : α) :
        Lean.Order.monotone fun (x : α) => f (min r x)
        noncomputable def Lean4Itree.plfp {α : Type u_1} [Lean.Order.CompleteLattice α] (f : αα) {hm : Lean.Order.monotone f} (r : α) :
        α

        Parameterized least fixed point, we don't "monotonize" f (⌈f⌉) as in paco for now version in paco: lfp (λ x => inf (λ z => ∃ y, z = f y ∧ r ⊓ₚ x ⊑ y)

        Equations
        Instances For
          noncomputable def Lean4Itree.uplfp {α : Type u_1} [Lean.Order.CompleteLattice α] (f : αα) {hm : Lean.Order.monotone f} (r : α) :
          α

          The "unfolded" parameterized least fixed point r ⊓ₚ plfp f r.

          Equations
          Instances For
            theorem Lean4Itree.plfp_unfold {α : Type u_1} {r : α} [Lean.Order.CompleteLattice α] {f : αα} (hm : Lean.Order.monotone f) :
            plfp f r = f (uplfp f r)
            theorem Lean4Itree.fun_sup_equiv {α : Sort u} {β : αSort v} [(x : α) → Lean.Order.CompleteLattice (β x)] (c : ((x : α) → β x)Prop) (x : α) :
            Lean.Order.fun_sup c x = Lean.Order.inf fun (y : β x) => ∀ (f : (x : α) → β x), c fLean.Order.PartialOrder.rel (f x) y
            theorem Lean4Itree.plfp_acc {α : Type u_1} [Lean.Order.CompleteLattice α] {f : αα} (hm : Lean.Order.monotone f) (l r : α) (obg : ∀ (φ : α), Lean.Order.PartialOrder.rel φ rLean.Order.PartialOrder.rel φ lLean.Order.PartialOrder.rel (plfp f φ) l) :