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)
Instances For
Top element of a complete lattice (supremum of all elements)
Instances For
A complete lattice is a chain-complete partial order.
Instances For
Binary meet (infimum)
Instances For
Binary join (supremum)
Instances For
Indexed infimum
Instances For
Pointwise characterization of indexed infimum on function lattices.
Indexed supremum
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
Supremum for Prop: true iff some element of the set is true
Instances For
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.
Instances For
Embedding of propositions into an assertion type. ⌜p⌝ embeds p : Prop as ⊤ if p holds
and ⊥ otherwise.
Instances For
Embedding of propositions into an assertion type. ⌜p⌝ embeds p : Prop as ⊤ if p holds
and ⊥ otherwise.