Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -1159,3 +1159,13 @@ @online{Warn24
pubstate = {preprint},
keywords = {Mathematics - Algebraic Topology,Mathematics - Category Theory},
}

@misc{Zeuner22,
title = {Families of Sets in Constructive Measure Theory},
author = {Max Zeuner},
year = 2022,
eprint = {2207.04000},
archiveprefix = {arXiv},
primaryclass = {math.LO},
url = {https://arxiv.org/abs/2207.04000},
}
2 changes: 1 addition & 1 deletion src/foundation/decidable-subtypes.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ module _

is-full-decidable-subtype-Prop : Prop (l1 ⊔ l2)
is-full-decidable-subtype-Prop =
is-full-subtype-Prop (subtype-decidable-subtype P)
is-full-prop-subtype (subtype-decidable-subtype P)

is-full-decidable-subtype : UU (l1 ⊔ l2)
is-full-decidable-subtype = type-Prop is-full-decidable-subtype-Prop
Expand Down
8 changes: 4 additions & 4 deletions src/foundation/full-subtypes.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,14 @@ module _
{l1 l2 : Level} {A : UU l1} (P : subtype l2 A)
where

is-full-subtype-Prop : Prop (l1 ⊔ l2)
is-full-subtype-Prop = Π-Prop A P
is-full-prop-subtype : Prop (l1 ⊔ l2)
is-full-prop-subtype = Π-Prop A P

is-full-subtype : UU (l1 ⊔ l2)
is-full-subtype = type-Prop is-full-subtype-Prop
is-full-subtype = type-Prop is-full-prop-subtype

is-prop-is-full-subtype : is-prop is-full-subtype
is-prop-is-full-subtype = is-prop-type-Prop is-full-subtype-Prop
is-prop-is-full-subtype = is-prop-type-Prop is-full-prop-subtype
```

### The full subtype at a universe level
Expand Down
2 changes: 1 addition & 1 deletion src/group-theory/full-subgroups.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ module _
where

is-full-prop-Subgroup : Prop (l1 ⊔ l2)
is-full-prop-Subgroup = is-full-subtype-Prop (subset-Subgroup G H)
is-full-prop-Subgroup = is-full-prop-subtype (subset-Subgroup G H)

is-full-Subgroup : UU (l1 ⊔ l2)
is-full-Subgroup = type-Prop is-full-prop-Subgroup
Expand Down
2 changes: 1 addition & 1 deletion src/group-theory/full-subsemigroups.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ module _
where

is-full-prop-Subsemigroup : Prop (l1 ⊔ l2)
is-full-prop-Subsemigroup = is-full-subtype-Prop (subset-Subsemigroup G H)
is-full-prop-Subsemigroup = is-full-prop-subtype (subset-Subsemigroup G H)

is-full-Subsemigroup : UU (l1 ⊔ l2)
is-full-Subsemigroup = type-Prop is-full-prop-Subsemigroup
Expand Down
2 changes: 1 addition & 1 deletion src/logic/double-negation-dense-subtypes.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ module _

is-double-negation-dense-subtype-Prop : Prop (l1 ⊔ l2)
is-double-negation-dense-subtype-Prop =
is-full-subtype-Prop (complement-subtype (complement-subtype P))
is-full-prop-subtype (complement-subtype (complement-subtype P))

is-double-negation-dense-subtype : UU (l1 ⊔ l2)
is-double-negation-dense-subtype =
Expand Down
19 changes: 19 additions & 0 deletions src/measure-theory.lagda.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Measure theory

```agda
module measure-theory where

open import measure-theory.apart-subtypes public
open import measure-theory.complemented-subtypes public
open import measure-theory.empty-complemented-subtypes public
open import measure-theory.full-complemented-subtypes public
open import measure-theory.intersections-complemented-subtypes public
open import measure-theory.large-poset-complemented-subtypes public
open import measure-theory.unions-complemented-subtypes public
```

## References

Our setup for measure theory closely follows {{#cite Zeuner22}}.

{{#bibliography}}
48 changes: 48 additions & 0 deletions src/measure-theory/apart-subtypes.lagda.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Apart subtypes

```agda
module measure-theory.apart-subtypes where
```

<details><summary>Imports</summary>

```agda
open import foundation.apartness-relations
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels
```

</details>

## Idea

Two [subtypes](foundation.subtypes.md) `A` and `B` of a type `X` equipped with
an [apartness relation](foundation.apartness-relations.md) are
{{#concept "apart" Disambiguation="subtypes of a type equipped with an apartness relation" Agda=apart-subtype-Type-With-Apartness}}
if every one of their elements is apart.

## Definition

```agda
module _
{l1 l2 l3 l4 : Level}
(X : Type-With-Apartness l1 l2)
(A : subtype l3 (type-Type-With-Apartness X))
(B : subtype l4 (type-Type-With-Apartness X))
where

apart-prop-subtype-Type-With-Apartness : Prop (l1 ⊔ l2 ⊔ l3 ⊔ l4)
apart-prop-subtype-Type-With-Apartness =
Π-Prop
( type-Type-With-Apartness X)
( λ a →
Π-Prop
( type-Type-With-Apartness X)
( λ b →
A a ⇒ B b ⇒ rel-apart-Type-With-Apartness X a b))

apart-subtype-Type-With-Apartness : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
apart-subtype-Type-With-Apartness =
type-Prop apart-prop-subtype-Type-With-Apartness
```
147 changes: 147 additions & 0 deletions src/measure-theory/complemented-subtypes.lagda.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
# Complemented subtypes

```agda
module measure-theory.complemented-subtypes where
```

<details><summary>Imports</summary>

```agda
open import foundation.apartness-relations
open import foundation.coproduct-types
open import foundation.dependent-pair-types
open import foundation.disjoint-subtypes
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels

open import measure-theory.apart-subtypes
```

</details>

## Idea

A
{{#concept "complemented subtype" Disambiguation="of a type with apartness" Agda=complemented-subtype-Type-With-Apartness}}
of a type `X` equipped with an
[apartness relation](foundation.apartness-relations.md) is an ordered pair of
[subtypes](foundation-core.subtypes.md) `A` and `A'` of `X` that are
[apart](measure-theory.apart-subtypes.md).
Comment on lines +25 to +30
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find this choice of terminology a bit confusing, since it is certainly not a subtype with a complement, but a subtype equipped with a subtype of its complement. Maybe you can say something more about how these objects should be interpreted and what justifies the name?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should also be noted that this concept is not to be confused with "decidable subtypes", i.e., subtypes $X \subseteq A$ such that $(X \cup {(A\setminus X)}) = A$, which appear in the literature under the name "complemented subtype".


This definition follows {{#cite Zeuner22}}..
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This definition follows {{#cite Zeuner22}}..
This definition follows {{#cite Zeuner22}}.


## Definition

```agda
module _
{l1 l2 : Level}
(X : Type-With-Apartness l1 l2)
where

complemented-subtype-Type-With-Apartness : (l : Level) → UU (l1 ⊔ l2 ⊔ lsuc l)
complemented-subtype-Type-With-Apartness l =
Σ ( subtype l (type-Type-With-Apartness X))
( λ A →
Σ ( subtype l (type-Type-With-Apartness X))
( apart-subtype-Type-With-Apartness X A))

module _
{l1 l2 l : Level}
(X : Type-With-Apartness l1 l2)
(cA@(A , A' , A#A') : complemented-subtype-Type-With-Apartness X l)
where

subtype-complemented-subtype-Type-With-Apartness :
subtype l (type-Type-With-Apartness X)
subtype-complemented-subtype-Type-With-Apartness = A

complement-subtype-complemented-subtype-Type-With-Apartness :
subtype l (type-Type-With-Apartness X)
complement-subtype-complemented-subtype-Type-With-Apartness = A'

apart-subtype-complemented-subtype-Type-With-Apartness :
apart-subtype-Type-With-Apartness
( X)
( subtype-complemented-subtype-Type-With-Apartness)
( complement-subtype-complemented-subtype-Type-With-Apartness)
apart-subtype-complemented-subtype-Type-With-Apartness = A#A'
```

## Properties

### The complement of a complemented subtype

```agda
module _
{l1 l2 : Level}
(X : Type-With-Apartness l1 l2)
where

complement-complemented-subtype-Type-With-Apartness :
{l : Level} → complemented-subtype-Type-With-Apartness X l →
complemented-subtype-Type-With-Apartness X l
complement-complemented-subtype-Type-With-Apartness (A , A' , A#A') =
( A' ,
A ,
λ a' a a'∈A' a∈A →
symmetric-apart-Type-With-Apartness X a a' (A#A' a a' a∈A a'∈A'))
```

### The subtype and complement subtype associated with a complemented subtype are disjoint

```agda
module _
{l1 l2 l : Level}
(X : Type-With-Apartness l1 l2)
(cA@(A , A' , A#A') : complemented-subtype-Type-With-Apartness X l)
where

abstract
disjoint-complement-subtype-complemented-subtype-Type-With-Apartness :
disjoint-subtype
( subtype-complemented-subtype-Type-With-Apartness X cA)
( complement-subtype-complemented-subtype-Type-With-Apartness X cA)
disjoint-complement-subtype-complemented-subtype-Type-With-Apartness
x (x∈A , x∈A') =
antirefl-apart-Type-With-Apartness X x (A#A' x x x∈A x∈A')
```

### The total subtype associated with a complemented subtype

```agda
module _
{l1 l2 l : Level}
(X : Type-With-Apartness l1 l2)
(cA@(A , A' , A#A') : complemented-subtype-Type-With-Apartness X l)
where

is-in-total-subtype-complemented-subtype-Type-With-Apartness :
type-Type-With-Apartness X → UU l
is-in-total-subtype-complemented-subtype-Type-With-Apartness x =
is-in-subtype A x + is-in-subtype A' x

abstract
is-prop-is-in-total-subtype-complemented-subtype-Type-With-Apartness :
(x : type-Type-With-Apartness X) →
is-prop (is-in-total-subtype-complemented-subtype-Type-With-Apartness x)
is-prop-is-in-total-subtype-complemented-subtype-Type-With-Apartness x =
is-prop-coproduct
( ev-pair
( disjoint-complement-subtype-complemented-subtype-Type-With-Apartness
( X)
( cA)
( x)))
( is-prop-is-in-subtype A x)
( is-prop-is-in-subtype A' x)

total-subtype-complemented-subtype-Type-With-Apartness :
subtype l (type-Type-With-Apartness X)
total-subtype-complemented-subtype-Type-With-Apartness x =
( is-in-total-subtype-complemented-subtype-Type-With-Apartness x ,
is-prop-is-in-total-subtype-complemented-subtype-Type-With-Apartness x)
```

## References

{{#bibliography}}
Loading