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 top order with possibly different definitional equalities.
Equations
- c.copy top eq_top le_eq = OrderTop.mk ⋯
Instances For
A function to create a provable equal copy of a bottom order with possibly different definitional equalities.
Equations
- c.copy bot eq_bot le_eq = OrderBot.mk ⋯
Instances For
A function to create a provable equal copy of a bounded order with possibly different definitional equalities.
Equations
- c.copy 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
- c.copy le eq_le sup eq_sup inf eq_inf = Lattice.mk inf ⋯ ⋯ ⋯
Instances For
A function to create a provable equal copy of a distributive lattice with possibly different definitional equalities.
Equations
- c.copy le eq_le sup eq_sup inf eq_inf = DistribLattice.mk ⋯
Instances For
A function to create a provable equal copy of a generalised heyting algebra with possibly different definitional equalities.
Equations
- c.copy le eq_le top eq_top sup eq_sup inf eq_inf himp eq_himp = GeneralizedHeytingAlgebra.mk ⋯
Instances For
A function to create a provable equal copy of a generalised coheyting algebra with possibly different definitional equalities.
Equations
- c.copy le eq_le bot eq_bot sup eq_sup inf eq_inf sdiff eq_sdiff = GeneralizedCoheytingAlgebra.mk ⋯
Instances For
A function to create a provable equal copy of a heyting algebra with possibly different definitional equalities.
Equations
- c.copy le eq_le top eq_top bot eq_bot sup eq_sup inf eq_inf himp eq_himp compl eq_compl = HeytingAlgebra.mk ⋯
Instances For
A function to create a provable equal copy of a coheyting algebra with possibly different definitional equalities.
Equations
- c.copy le eq_le top eq_top bot eq_bot sup eq_sup inf eq_inf sdiff eq_sdiff hnot eq_hnot = CoheytingAlgebra.mk ⋯
Instances For
A function to create a provable equal copy of a biheyting algebra with possibly different definitional equalities.
Equations
- c.copy le eq_le top eq_top bot eq_bot sup eq_sup inf eq_inf sdiff eq_sdiff hnot eq_hnot himp eq_himp compl eq_compl = BiheytingAlgebra.mk ⋯ ⋯
Instances For
A function to create a provable equal copy of a complete lattice with possibly different definitional equalities.
Equations
- c.copy le eq_le top eq_top bot eq_bot sup eq_sup inf eq_inf sSup eq_sSup sInf eq_sInf = CompleteLattice.mk ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
A function to create a provable equal copy of a frame with possibly different definitional equalities.
Equations
- Frame.copy c le eq_le top eq_top bot eq_bot sup eq_sup inf eq_inf himp eq_himp compl eq_compl sSup eq_sSup sInf eq_sInf = Order.Frame.mk ⋯ ⋯ ⋯
Instances For
A function to create a provable equal copy of a coframe with possibly different definitional equalities.
Equations
- Coframe.copy c le eq_le top eq_top bot eq_bot sup eq_sup inf eq_inf sdiff eq_sdiff hnot eq_hnot sSup eq_sSup sInf eq_sInf = Order.Coframe.mk ⋯ ⋯ ⋯
Instances For
A function to create a provable equal copy of a complete distributive lattice with possibly different definitional equalities.
Equations
- c.copy le eq_le top eq_top bot eq_bot sup eq_sup inf eq_inf sdiff eq_sdiff hnot eq_hnot himp eq_himp compl eq_compl sSup eq_sSup sInf eq_sInf = CompleteDistribLattice.mk ⋯ ⋯ ⋯
Instances For
A function to create a provable equal copy of a conditionally complete lattice with possibly different definitional equalities.
Equations
- c.copy le eq_le sup eq_sup inf eq_inf sSup eq_sSup sInf eq_sInf = ConditionallyCompleteLattice.mk ⋯ ⋯ ⋯ ⋯