Heyting regular elements #
This file defines Heyting regular elements, elements of a Heyting algebra that are their own double complement, and proves that they form a boolean algebra.
From a logic standpoint, this means that we can perform classical logic within intuitionistic logic by simply double-negating all propositions. This is practical for synthetic computability theory.
Main declarations #
IsRegular
:a
is Heyting-regular ifaᶜᶜ = a
.Regular
: The subtype of Heyting-regular elements.Regular.BooleanAlgebra
: Heyting-regular elements form a boolean algebra.
References #
- [Francis Borceux, Handbook of Categorical Algebra III][borceux-vol3]
An element of a Heyting algebra is regular if its double complement is itself.
Equations
Instances For
Equations
theorem
Heyting.IsRegular.inf
{α : Type u_1}
[HeytingAlgebra α]
{a b : α}
(ha : IsRegular a)
(hb : IsRegular b)
:
IsRegular (a ⊓ b)
theorem
Heyting.IsRegular.himp
{α : Type u_1}
[HeytingAlgebra α]
{a b : α}
(ha : IsRegular a)
(hb : IsRegular b)
:
theorem
Heyting.IsRegular.disjoint_compl_left_iff
{α : Type u_1}
[HeytingAlgebra α]
{a b : α}
(ha : IsRegular a)
:
theorem
Heyting.IsRegular.disjoint_compl_right_iff
{α : Type u_1}
[HeytingAlgebra α]
{a b : α}
(hb : IsRegular b)
:
@[reducible, inline]
abbrev
BooleanAlgebra.ofRegular
{α : Type u_1}
[HeytingAlgebra α]
(h : ∀ (a : α), Heyting.IsRegular (a ⊔ aᶜ))
:
A Heyting algebra with regular excluded middle is a boolean algebra.
Equations
Instances For
The boolean algebra of Heyting regular elements.
Equations
Instances For
Equations
@[simp]
Equations
@[simp]
@[simp]
@[simp]
Equations
Equations
Equations
@[simp]
@[simp]
Regularization of a
. The smallest regular element greater than a
.
Equations
Instances For
@[simp]
@[simp]
Equations
@[simp]
Equations
@[simp]
A decidable proposition is intuitionistically Heyting-regular.