Tooling to make copies of lattice structures #
Sometimes it is useful to make a copy of a lattice structure where one replaces the data parts with provably equal definitions that have better definitional properties.
A function to create a provable equal copy of a bounded order with possibly different definitional equalities.
Equations
- BoundedOrder.copy c top eq_top bot eq_bot le_eq = BoundedOrder.mk
Instances For
A function to create a provable equal copy of a lattice with possibly different definitional equalities.
Equations
- Lattice.copy c le eq_le sup eq_sup inf eq_inf = Lattice.mk (_ : ∀ (a b : α), inf a b ≤ a) (_ : ∀ (a b : α), inf a b ≤ b) (_ : ∀ (a b c_1 : α), a ≤ b → a ≤ c_1 → a ≤ b ⊓ c_1)
Instances For
A function to create a provable equal copy of a distributive lattice with possibly different definitional equalities.
Equations
- DistribLattice.copy c le eq_le sup eq_sup inf eq_inf = DistribLattice.mk (_ : ∀ (x y z : α), (x ⊔ y) ⊓ (x ⊔ z) ≤ x ⊔ y ⊓ z)
Instances For
A function to create a provable equal copy of a complete lattice with possibly different definitional equalities.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A function to create a provable equal copy of a frame with possibly different definitional equalities.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A function to create a provable equal copy of a coframe with possibly different definitional equalities.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A function to create a provable equal copy of a complete distributive lattice with possibly different definitional equalities.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A function to create a provable equal copy of a conditionally complete lattice with possibly different definitional equalities.
Equations
- One or more equations did not get rendered due to their size.