English
Copy construction for a bi-Heyting algebra preserving both Heyting and CoHeyting structures.
Русский
Копирование би-гейтинговой алгебры сохраняющее обе стороны структур
LaTeX
$$$\\exists c' : \\text{BiheytingAlgebra }\\alpha \\text{ with preserved } le, top, bot, sup, inf, himp, compl, hnot$$$
Lean4
/-- A function to create a provable equal copy of a bi-Heyting algebra
with possibly different definitional equalities. -/
def copy (c : BiheytingAlgebra α) (le : α → α → Prop) (eq_le : le = (by infer_instance : LE α).le) (top : α)
(eq_top : top = (by infer_instance : Top α).top) (bot : α) (eq_bot : bot = (by infer_instance : Bot α).bot)
(sup : α → α → α) (eq_sup : sup = (by infer_instance : Max α).max) (inf : α → α → α)
(eq_inf : inf = (by infer_instance : Min α).min) (sdiff : α → α → α)
(eq_sdiff : sdiff = (by infer_instance : SDiff α).sdiff) (hnot : α → α)
(eq_hnot : hnot = (by infer_instance : HNot α).hnot) (himp : α → α → α)
(eq_himp : himp = (by infer_instance : HImp α).himp) (compl : α → α)
(eq_compl : compl = (by infer_instance : HasCompl α).compl) : BiheytingAlgebra α
where
toHeytingAlgebra :=
HeytingAlgebra.copy (@BiheytingAlgebra.toHeytingAlgebra α c) le eq_le top eq_top bot eq_bot sup eq_sup inf eq_inf
himp eq_himp compl eq_compl
__ :=
CoheytingAlgebra.copy (@BiheytingAlgebra.toCoheytingAlgebra α c) le eq_le top eq_top bot eq_bot sup eq_sup inf
eq_inf sdiff eq_sdiff hnot eq_hnot