Additional Complete Lattice Operations #
Extensions to Lean.Order.CompleteLattice providing additional operations
needed for program verification.
Top element of a complete lattice (supremum of all elements)
Equations
- Lean.Order.top = Lean.Order.CompleteLattice.sup fun (x : α) => True
Instances For
Top element of a complete lattice (supremum of all elements)
Equations
- Lean.Order.«term⊤» = Lean.ParserDescr.node `Lean.Order.«term⊤» 1024 (Lean.ParserDescr.symbol "⊤")
Instances For
A complete lattice is a chain-complete partial order.
Equations
- Lean.Order.instCCPO_std = { toPartialOrder := inst✝.toPartialOrder, has_csup := ⋯ }
Instances For
Binary meet (infimum)
Equations
- Lean.Order.meet x y = Lean.Order.inf fun (z : α) => z = x ∨ z = y
Instances For
Binary meet (infimum)
Equations
- Lean.Order.«term_⊓_» = Lean.ParserDescr.trailingNode `Lean.Order.«term_⊓_» 70 70 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⊓ ") (Lean.ParserDescr.cat `term 71))
Instances For
Binary join (supremum)
Equations
- Lean.Order.join x y = Lean.Order.CompleteLattice.sup fun (z : α) => z = x ∨ z = y
Instances For
Binary join (supremum)
Equations
- Lean.Order.«term_⊔_» = Lean.ParserDescr.trailingNode `Lean.Order.«term_⊔_» 65 65 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⊔ ") (Lean.ParserDescr.cat `term 66))
Instances For
Indexed infimum
Equations
- Lean.Order.iInf f = Lean.Order.inf fun (x : α) => ∃ (i : ι), f i = x
Instances For
Pointwise characterization of indexed infimum on function lattices.
Indexed supremum
Equations
- Lean.Order.iSup f = Lean.Order.CompleteLattice.sup fun (x : α) => ∃ (i : ι), f i = x
Instances For
Pointwise characterization of CompleteLattice.sup on function lattices:
(sup c) s = sup (fun y => ∃ f, c f ∧ f s = y).
Pointwise characterization of binary meet on function lattices.
Pointwise characterization of binary join on function lattices.
Prop Embedding into Partial Order #
Embedding propositions into a partial order with top and bottom.
CompleteLattice instance for Prop #
We define a CompleteLattice structure on Prop where:
- rel is implication (→)
- sup is existential quantification over the predicate
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Order.instCompleteLatticeProp_std = { toPartialOrder := Lean.Order.instPartialOrderProp_std, has_sup := Lean.Order.instCompleteLatticeProp_std._proof_1 }
Assertion #
The Assertion class and Assertion.ofProp embedding.
An assertion type is equipped with a CompleteLattice structure,
used as the carrier for pre- and postconditions.
Instances
An assertion type is a chain-complete partial order.
Equations
- Std.Internal.Do.instCCPOOfAssertion = { toPartialOrder := inst✝.toPartialOrder, has_csup := ⋯ }
Instances For
Embedding of propositions into an assertion type. ⌜p⌝ embeds p : Prop as ⊤ if p holds
and ⊥ otherwise.
Equations
Instances For
Embedding of propositions into an assertion type. ⌜p⌝ embeds p : Prop as ⊤ if p holds
and ⊥ otherwise.
Equations
- One or more equations did not get rendered due to their size.