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
Bottom element of a complete lattice (infimum of all elements)
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.
Pure embedding of propositions into a complete lattice.
Instances For
Pure embedding of propositions into a complete lattice.
Instances For
Proving pre ⊑ ⌜p⌝ reduces to proving p.
Pointwise characterization of ⌜p⌝ on function lattices: (⌜p⌝ : σ → β) s = (⌜p⌝ : β).
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
Intro the left component of a meet precondition: a ⊓ b ⊑ c becomes a → b ⊑ c.
Intro the right component of a meet precondition: a ⊓ b ⊑ c becomes a → b ⊑ c.
Eliminate True from the left of a meet precondition.