Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Take some first steps in the formalization of synthetic topology in UF #284

Draft
wants to merge 115 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
6b1ee8d
Start defining the basics of synthetic topology
ayberkt May 2, 2024
31f2228
compactness and phoa v1
martintrucchi May 7, 2024
bbad058
dominances equivalence debut
martintrucchi May 8, 2024
3e5a7bc
Remove trailing spaces
ayberkt May 8, 2024
397cd58
Complete `d2`
ayberkt May 8, 2024
0803e56
Clean up the statement of Phoa's Principle
ayberkt May 8, 2024
3c71070
Add Martin as a co-author
ayberkt May 8, 2024
1fbd76d
Clean up
ayberkt May 8, 2024
b32aa30
Clean up the imports
ayberkt May 8, 2024
64cf787
Give the type `hProp` to `contains-top` as well
ayberkt May 8, 2024
9b8088c
Unit is compact proof
martintrucchi May 8, 2024
c8e35cf
Added another definition of compact, work in progress
martintrucchi May 8, 2024
6f227c7
binary product proof for compact-prime
martintrucchi May 8, 2024
53c9b07
image of open-prime is open-prime
martintrucchi May 9, 2024
4b04474
Added discreteness. Unit is discrete if S contains top
martintrucchi May 9, 2024
b08ff79
compact product of discrete is discrete in the set version
martintrucchi May 9, 2024
e983381
Added iff-transport and iff-affirmable, and also overtness (ongoing)
martintrucchi May 10, 2024
16a19d2
Remove extra blank lines
ayberkt May 10, 2024
90c5e34
Do a bit of cleaning
ayberkt May 10, 2024
be6f981
Finish tidying up
ayberkt May 10, 2024
1d45e05
Continue to clean up
ayberkt May 10, 2024
15886df
Move work in progress to a separate module
ayberkt May 10, 2024
3932b33
Dominance update and countable-are-overt
martintrucchi May 13, 2024
1ee36d9
subcompact, subovert, density and some lemmas
martintrucchi May 13, 2024
f7cf745
added proofs on suboverts and cleaned some definitions to land in Ome…
martintrucchi May 14, 2024
a003313
image of subovert is subovert. Discussion about definition of image o…
martintrucchi May 14, 2024
14d90c1
Add equivalence from the meeting
ayberkt May 14, 2024
6d16493
Merge branch 'sierpinski-object' of git.cs.bham.ac.uk:axt978/typetopo…
ayberkt May 14, 2024
41e83f7
changed definitions to consider sets. Created some shortcut notations
martintrucchi May 24, 2024
ef5a37f
added image-of-overt
martintrucchi May 28, 2024
25f779d
added consistency lemmas for subcompact and subovert
martintrucchi May 28, 2024
c33180c
cleanup, spliting SierpinskiObject into multiple files for readabilit…
martintrucchi May 28, 2024
02a3624
Remove some flags
ayberkt May 28, 2024
9c557d5
Update comment
ayberkt May 28, 2024
64d9548
Make an addition to the `Logic` module
ayberkt May 28, 2024
1e31331
Start cleaning up module
ayberkt May 28, 2024
42d559c
Continue to clean up
ayberkt May 28, 2024
21ab45d
Add an index file
ayberkt May 28, 2024
25baf45
Add some more stuff to the index file
ayberkt May 28, 2024
1b3a05b
Fix YAML metadata syntax
ayberkt May 28, 2024
9e640f5
Do more cleaning
ayberkt May 28, 2024
64166c2
Merge branch 'master' into sierpinski-object
ayberkt May 28, 2024
1936264
Propagate changes to TypeTopology
ayberkt May 28, 2024
10c2151
Remove `Overtness.lagda`
ayberkt May 28, 2024
1f5c610
Propagated changes in SierpinskiObject + made some small modification…
martintrucchi May 29, 2024
fb66543
Revert "Remove `Overtness.lagda`"
ayberkt May 29, 2024
fb91ef6
Clean up the preamble
ayberkt May 29, 2024
e39a25a
Remove trailing space
ayberkt May 29, 2024
e4ceac2
Fix indentation size
ayberkt May 29, 2024
b906d73
Break long line
ayberkt May 29, 2024
232c794
Fix cosmetic issues
ayberkt May 29, 2024
a32a8c3
Clean up the preamble
ayberkt May 29, 2024
dc26850
Continue to improve cosmetics
ayberkt May 29, 2024
5d33321
Improve cosmetics
ayberkt May 29, 2024
16e64f7
clean-up for future pr. Subproperties not cleaned yet
martintrucchi May 29, 2024
287c657
cleaned up Subproperties.lagda
martintrucchi May 30, 2024
ab76914
Renamed Dominance.lagda into SierpinskiAxioms.lagda
martintrucchi May 30, 2024
9c90134
Propagate the name change of SierpinskiAxioms in import lines and com…
martintrucchi May 30, 2024
54a416f
Creation of NotionOfCompactness, 2 is a dominance, relation with exis…
martintrucchi May 30, 2024
a783f7b
removed NotionOfCompactness.lagda, wrong branch
martintrucchi May 31, 2024
a6f6ca8
Remove trailing spaces
ayberkt May 31, 2024
8e97de4
Clean up
ayberkt May 31, 2024
e159893
Clean up the preamble
ayberkt May 31, 2024
dd99c93
Merge branch 'master' into sierpinski-object
ayberkt May 31, 2024
c4bec44
Update comments and clean up
ayberkt May 31, 2024
b3979ee
Rename `is-affirmable` to `is-open-proposition`
ayberkt May 31, 2024
d05159a
Rename `is-affirmable` to `is-open-proposition`
ayberkt May 31, 2024
3974de5
Remove trailing spaces
ayberkt May 31, 2024
51b050c
Sort import lines
ayberkt May 31, 2024
0721521
Clean-up of spaces
martintrucchi May 31, 2024
fd5b3a8
Added the definition of standard topology and modified dominance to b…
martintrucchi Jun 3, 2024
fb7a9b2
Modified Phoa's principle definition, proved it implies that all maps…
martintrucchi Jun 5, 2024
ea4697c
Add @supermartruc as a contributor
ayberkt Jun 5, 2024
b186107
Merge branch 'sierpinski-object' of git.cs.bham.ac.uk:axt978/typetopo…
ayberkt Jun 5, 2024
6a25bfe
Renamed SubProperties into SubObjects
martintrucchi Jun 5, 2024
2169ed3
Merge branch 'sierpinski-object' of git.cs.bham.ac.uk:axt978/typetopo…
martintrucchi Jun 5, 2024
47ef903
Defined cleaner combinators for set in SierpinskiObject. Starting to …
martintrucchi Jun 6, 2024
616187f
Cosmetics changes on Compactness (spaces, alignment, redundant parent…
martintrucchi Jun 6, 2024
bbf1afb
Use the calligraphic convention in the module Dense and made some cos…
martintrucchi Jun 6, 2024
adc084d
Made the definition of the underlying set of the set-parameter private
martintrucchi Jun 6, 2024
c339a87
Removed a redundent parenthesis
martintrucchi Jun 6, 2024
2688f23
Cosmetics and used the combinators
martintrucchi Jun 6, 2024
343423b
Proved that 1 is overt, image-of-overt' with any f, and used combinat…
martintrucchi Jun 6, 2024
437144c
Added discussion on phoa's principle, used section{} and cosmectics.
martintrucchi Jun 6, 2024
5abfaa7
Added proposition-set combinator
martintrucchi Jun 7, 2024
c166628
Starting changing to Powerset notations
martintrucchi Jun 7, 2024
6ba850a
Added _=p_ as a shortcut for _=_ , setX
martintrucchi Jun 7, 2024
95c791c
Reverted _=p_ and modified the order of the global arguments of the m…
martintrucchi Jun 7, 2024
f6d8fcb
Merge branch 'master' into sierpinski-object
ayberkt Jun 7, 2024
b2a035b
Merge branch 'sierpinski-object' of git.cs.bham.ac.uk:axt978/typetopo…
ayberkt Jun 7, 2024
c929328
Translation to Powerset notations. Removed lemmas in subobjects to sh…
martintrucchi Jun 7, 2024
5352ea3
Added the 𝕋ₛ combinator
martintrucchi Jun 7, 2024
e028efd
Removed a lemma that will be moved elsewhere
martintrucchi Jun 7, 2024
07b18a5
Cosmetics
martintrucchi Jun 7, 2024
7cf0b99
Changed definition of subcompact
martintrucchi Jun 19, 2024
4f372ca
Added another equivalent definition of subcompactness
martintrucchi Jun 19, 2024
22cbd6f
Added the type of open propositions
martintrucchi Jun 24, 2024
ba29573
Rewrote phoa's principle using Omega_o
martintrucchi Jun 24, 2024
23e763b
Merge branch 'master' into sierpinski-object
martintrucchi Jul 9, 2024
ffff785
Remove trailing spaces
ayberkt Jul 18, 2024
e9c03d5
Merge branch 'master' into sierpinski-object
ayberkt Jul 18, 2024
0adf1d6
References for Compactness.lagda
martintrucchi Jul 18, 2024
6be6140
References for Density.lagda
martintrucchi Jul 18, 2024
938b04b
References for Discreteness.lagda
martintrucchi Jul 18, 2024
9680812
References for Overtness.lagda, trailing spaces
martintrucchi Jul 18, 2024
2c49afc
References for SierpinskiAxioms.lagda
martintrucchi Jul 18, 2024
35262c8
References for SierpinskiObject.lagda
martintrucchi Jul 18, 2024
3013cb2
References for SubObjects.lagda
martintrucchi Jul 18, 2024
da356ae
Merge branch 'master' of github.com:martinescardo/TypeTopology into s…
ayberkt Jul 18, 2024
1f76efc
Update file and line count
ayberkt Jul 18, 2024
ea0dae9
Added product of overt in Overtness, small eta-rule cleanup in Compac…
martintrucchi Aug 25, 2024
951b992
Merge branch 'master' into sierpinski-object
ayberkt Sep 22, 2024
55e97a5
Merge branch 'master' into sierpinski-object
ayberkt Sep 22, 2024
9f2c769
Merge branch 'master' into sierpinski-object
ayberkt Sep 22, 2024
b1c05ba
Merge branch 'master' into sierpinski-object
ayberkt Sep 22, 2024
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
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ Please add yourself the first time you contribute.
* Lane Biocini
* Marc Bezem
* Martin Escardo
* Martin Trucchi
* Nicolai Kraus
* Ohad Kammar
* Paul Levy (i)
Expand Down
183 changes: 183 additions & 0 deletions source/SyntheticTopology/Compactness.lagda
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
---
title: Compactness in Synthetic Topology
author: Martin Trucchi
date-started: 2024-05-28
---

\begin{code}

{-# OPTIONS --safe --without-K #-}

open import MLTT.Spartan
open import SyntheticTopology.SierpinskiObject
open import UF.Base
open import UF.DiscreteAndSeparated
open import UF.FunExt
open import UF.Powerset
open import UF.PropTrunc
open import UF.Sets
open import UF.Sets-Properties
open import UF.Subsingletons
open import UF.Subsingletons-Properties
open import UF.SubtypeClassifier

module SyntheticTopology.Compactness
(𝓤 𝓥 : Universe)
(fe : Fun-Ext)
(pe : Prop-Ext)
(pt : propositional-truncations-exist)
(𝕊 : Generalized-Sierpinski-Object fe pe pt 𝓤 𝓥)
where

open import UF.ImageAndSurjection pt
open import UF.Logic
open import SyntheticTopology.SetCombinators 𝓤 fe pe pt

open AllCombinators pt fe
open PropositionalTruncation pt hiding (_∨_)
open Sierpinski-notations fe pe pt 𝕊

\end{code}

We here start to investigate a notion of compactness defined in [1] and [2].

A type `X` is called `compact` if its universal quantification on
`intrinsically-open` predicates is an open proposition.

\begin{code}

module _ (𝒳 : hSet 𝓤) where
private
X = underlying-set 𝒳

is-compact : Ω (𝓤 ⁺ ⊔ 𝓥)
is-compact =
Ɐ (P , open-P) ꞉ 𝓞 𝒳 , is-open-proposition (Ɐ x ꞉ X , x ∈ₚ P)

\end{code}

The type `𝟙` is compact i.e. the empty product is compact, regardless of the
Sierpinski Object.

\begin{code}

𝟙-is-compact : is-compact 𝟙ₛ holds
𝟙-is-compact (P , open-P) =
⇔-open (⋆ ∈ₚ P) (Ɐ x ꞉ 𝟙 , x ∈ₚ P) eq (open-P ⋆)
where
eq : (⋆ ∈ₚ P ⇔ (Ɐ x ꞉ 𝟙 , x ∈ₚ P)) holds
eq = (λ pstar x → pstar) , (λ f → f ⋆)

\end{code}

Binary products of compact types are compact.

\begin{code}

module _ (𝒳 𝒴 : hSet 𝓤) where
private
X = underlying-set 𝒳
Y = underlying-set 𝒴

×-is-compact : is-compact 𝒳 holds
→ is-compact 𝒴 holds
→ is-compact (𝒳 ×ₛ 𝒴) holds

×-is-compact compact-X compact-Y (P , open-P) =
⇔-open chained-forall
tuple-forall
(p₁ , p₂)
where
tuple-forall : Ω 𝓤
tuple-forall = Ɐ z ꞉ (X × Y) , z ∈ₚ P

chained-forall : Ω 𝓤
chained-forall = Ɐ x ꞉ X , (Ɐ y ꞉ Y , (x , y) ∈ₚ P)

p₁ : (chained-forall ⇒ tuple-forall) holds
p₁ = λ Qxy z → Qxy (pr₁ z) (pr₂ z)

p₂ : (tuple-forall ⇒ chained-forall) holds
p₂ = λ Qz x' y' → Qz (x' , y')

prop-y : 𝓟 X
prop-y x = Ɐ y ꞉ Y , (x , y) ∈ₚ P

prop-y-open : (x : X) → is-open-proposition (prop-y x) holds
prop-y-open x = compact-Y ((λ y → (x , y) ∈ₚ P) , λ y → open-P (x , y))

† : is-open-proposition chained-forall holds
† = compact-X (prop-y , prop-y-open)

\end{code}

Images of compact types by surjective functions are compact.

\begin{code}

image-of-compact : (f : X → Y)
→ is-surjection f
→ is-compact 𝒳 holds
→ is-compact 𝒴 holds
image-of-compact f sf compact-X (P , open-P) =
⇔-open pre-image-forall image-forall (p₁ , p₂) †
where
pre-image-forall : Ω 𝓤
pre-image-forall = Ɐ x ꞉ X , (f x) ∈ₚ P

image-forall : Ω 𝓤
image-forall = Ɐ y ꞉ Y , y ∈ₚ P

p₁ : (pre-image-forall ⇒ image-forall) holds
p₁ pX y = surjection-induction f
sf
(_holds ∘ P)
(λ y → holds-is-prop (P y))
pX
y

p₂ : (image-forall ⇒ pre-image-forall) holds
p₂ pY x = pY (f x)

† : is-open-proposition pre-image-forall holds
† = compact-X (P ∘ f , open-P ∘ f)

\end{code}

This also works for any function, in which case we prove that `image f` is
compact.

We have to get out of the module defining `𝒳` and `𝒴` in order to apply the
previous lemma.

\begin{code}

image-of-compact' : ((X , sX) : hSet 𝓤)
→ ((Y , sY) : hSet 𝓤)
→ (f : X → Y)
→ is-compact (X , sX) holds
→ is-compact (imageₛ (X , sX) (Y , sY) f) holds

image-of-compact' (X , sX) (Y , sY) f compact-X =
image-of-compact (X , sX)
(imageₛ (X , sX) (Y , sY) f)
(corestriction f)
(corestrictions-are-surjections f)
compact-X

\end{code}

\section{References}

- [1]: Davorin Lesňik. *Synthetic Topology and Constructive Metric Spaces*.

PhD Thesis, 2010

https://doi.org/10.48550/arXiv.2104.10399

- [2]: Martín Escardó. *Topology via higher-order intuitionistic logic*

Unpublished notes, Pittsburgh, 2004

https://www.cs.bham.ac.uk/~mhe/papers/pittsburgh.pdf
84 changes: 84 additions & 0 deletions source/SyntheticTopology/Density.lagda
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
---
title: Density in Synthetic Topology
author: Martin Trucchi
date-started : 2024-05-28
---

\begin{code}

{-# OPTIONS --safe --without-K #-}

open import MLTT.Spartan
open import UF.Base
open import UF.FunExt
open import UF.Powerset
open import UF.PropTrunc
open import UF.Sets
open import UF.Sets-Properties
open import UF.Subsingletons
open import UF.SubtypeClassifier
open import SyntheticTopology.SierpinskiObject

module SyntheticTopology.Density
(𝓤 𝓥 : Universe)
(fe : Fun-Ext)
(pe : Prop-Ext)
(pt : propositional-truncations-exist)
(𝕊 : Generalized-Sierpinski-Object fe pe pt 𝓤 𝓥)
(𝒳 : hSet 𝓤)
where

open import SyntheticTopology.Compactness 𝓤 𝓥 fe pe pt 𝕊
open import SyntheticTopology.Overtness 𝓤 𝓥 fe pe pt 𝕊
open import SyntheticTopology.SubObjects 𝓤 𝓥 fe pe pt 𝕊
open import UF.ImageAndSurjection pt
open import UF.Logic

open AllCombinators pt fe
open PropositionalTruncation pt hiding (_∨_)
open Sierpinski-notations fe pe pt 𝕊

\end{code}

Density in synthetic topology. The definition comes from [1].

A subset `D` of a set `X` is dense if `D` intersects every inhabited open
subset of `X`.

The whole module is parametrized by a set `𝒳`.

`is-dense 𝒳 D` should be read "D is dense in X".

\begin{code}
private
X = underlying-set 𝒳

is-dense : (D : 𝓟 X) → Ω (𝓤 ⁺ ⊔ 𝓥)
is-dense D =
Ɐ (U , open-U) ꞉ 𝓞 𝒳 ,
(Ǝₚ x ꞉ X , x ∈ₚ U) ⇒
(Ǝₚ x ꞉ X , (x ∈ₚ (D ∩ U)))

ayberkt marked this conversation as resolved.
Show resolved Hide resolved
\end{code}

We now prove two lemmas, stating respectively that a set is dense in itself
and that a set containing a subovert dense subset is itself overt.

\begin{code}

self-is-dense-in-self : is-dense full holds
self-is-dense-in-self (P , open-P) inhabited-P =
∥∥-rec (holds-is-prop (Ǝₚ x' ꞉ X , (x' ∈ₚ (full ∩ P)))) † inhabited-P
where
† : Σ x ꞉ X , x ∈ₚ P holds → (Ǝₚ x' ꞉ X , (x' ∈ₚ (full ∩ P))) holds
† (x , Px) = ∣ x , ⊤-holds , Px ∣

\end{code}

\section{References}

- [1]: Davorin Lesňik. *Synthetic Topology and Constructive Metric Spaces*.

PhD Thesis, 2010

https://doi.org/10.48550/arXiv.2104.10399
Loading