-
Notifications
You must be signed in to change notification settings - Fork 70
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
WIP: A constructive Cantor–Schröder–Bernstein theorem? #1206
Draft
fredrik-bakke
wants to merge
76
commits into
UniMath:master
Choose a base branch
from
fredrik-bakke:csbe
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 71 commits
Commits
Show all changes
76 commits
Select commit
Hold shift + click to select a range
71282b5
move some lemmas for decidable dependent types
fredrik-bakke 39535e4
edits
fredrik-bakke 7dd26b3
additions double negation elimination
fredrik-bakke c96818b
Knaster–Tarski fixed point theorem for suplattices
fredrik-bakke 478a321
pre-commit
fredrik-bakke 76af929
inflattices
fredrik-bakke a2b91a5
Knaster–Tarski fixed point theorem for inflattices
fredrik-bakke 2931aa2
edits
fredrik-bakke ebe30a4
imrpove proof `is-decidable-prop-Σ`
fredrik-bakke d6a81a3
edits
fredrik-bakke 1fa059d
double negation eliminating
fredrik-bakke b40c770
wip double negation stable embeddings
fredrik-bakke c8d64e6
wip double negation stable embeddings
fredrik-bakke 215cff5
wip double negation stable embeddings
fredrik-bakke 06c3ca7
just edits
fredrik-bakke d06ea12
constructive analysis of perfect images
fredrik-bakke 34a45e7
`untruncated-double-negation-elimination` -> `double-negation-elimina…
fredrik-bakke 109c026
Composition of double negation eliminating maps
fredrik-bakke 488c9ba
double negation stable subtypes
fredrik-bakke ac08a78
Cantor's theorem for double negation
fredrik-bakke 6d05ab9
minor fixes
fredrik-bakke 4524c35
some order theory
fredrik-bakke bab6557
some order theory on powersets
fredrik-bakke 3e81207
pre-commit
fredrik-bakke 1148b00
wip constructive csbe
fredrik-bakke 801f7a1
Merge branch 'master' into csbe
fredrik-bakke bbc3136
pre-commit
fredrik-bakke a477494
edits dne
fredrik-bakke 8c93ca3
fixes double negation stable embeddings
fredrik-bakke 30acb17
fix
fredrik-bakke e942157
some additional opposites
fredrik-bakke b10fd18
more edits order theory
fredrik-bakke 2ca4c2a
fix
fredrik-bakke 91b4174
fix links
fredrik-bakke 2ec613b
informal proof constructive csbe
fredrik-bakke f99c780
Double negation elimination is irrefutable
fredrik-bakke bce6686
wip logic
fredrik-bakke fb35a57
wip logic
fredrik-bakke 773cea5
wip logic
fredrik-bakke 37fc00e
dcpos
fredrik-bakke 7b20895
edits
fredrik-bakke 654571b
composition of decidable maps
fredrik-bakke 2da0b76
a bunch of logic
fredrik-bakke d902d66
wip resizing orders
fredrik-bakke 1e6e8bc
more lemmas about de morgan embeddings
fredrik-bakke 2b169b1
propositional resizing
fredrik-bakke 0bfd3c1
resizing suplattices
fredrik-bakke 6806b9e
pre-commit
fredrik-bakke f603862
supremum preserving maps posets
fredrik-bakke 3f4940e
deduplicate domain theory
fredrik-bakke 43baf83
lemmas supremum preserving maps of posets
fredrik-bakke 291cde7
Reindexing directed families in a poset
fredrik-bakke 2d4fde2
scott continuous maps of posets
fredrik-bakke d921b43
complements of double negation stable subtypes
fredrik-bakke 5276bcc
old wip constructive csb
fredrik-bakke ab02816
fixes cantor's theorem de morgan
fredrik-bakke 15d990a
remove allow unsolved metas
fredrik-bakke f168e29
beginnings Kleene's fixed point theorem
fredrik-bakke 2e9a891
complements of de morgan subtypes
fredrik-bakke 366d922
de morgan disjunctions
fredrik-bakke 060b6ad
inhabited chains
fredrik-bakke f366bf9
wip
fredrik-bakke 36fc5f3
ω-Continuous maps preserve order
fredrik-bakke 59ead07
a little renaming
fredrik-bakke f7a2351
kleene's fixed point construction
fredrik-bakke 0f3aa23
finish Kleene's fixed point theorem for posets
fredrik-bakke 16edf8d
Kleene's fixed point theorem for ω-complete posets
fredrik-bakke 461d6c2
pre-commit
fredrik-bakke 91c0cc5
Markov's principle
fredrik-bakke 328087e
finitary De Morgan's law
fredrik-bakke 0b9ea90
some wording kleene's fixed point theorem
fredrik-bakke 5b54ec7
`is-decidable-map-section`
fredrik-bakke ce4bb00
fix a reference
fredrik-bakke e66ea7d
some additions to logic
fredrik-bakke e68907d
edits
fredrik-bakke 4324b4a
Merge branch 'master' into csbe
fredrik-bakke File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# Domain theory | ||
|
||
```agda | ||
module domain-theory where | ||
|
||
open import domain-theory.directed-complete-posets public | ||
open import domain-theory.directed-families-posets public | ||
open import domain-theory.kleenes-fixed-point-theorem-omega-complete-posets public | ||
open import domain-theory.kleenes-fixed-point-theorem-posets public | ||
open import domain-theory.omega-complete-posets public | ||
open import domain-theory.omega-continuous-maps-omega-complete-posets public | ||
open import domain-theory.omega-continuous-maps-posets public | ||
open import domain-theory.scott-continuous-maps-posets public | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,174 @@ | ||
# Directed complete posets | ||
|
||
```agda | ||
module domain-theory.directed-complete-posets where | ||
``` | ||
|
||
<details><summary>Imports</summary> | ||
|
||
```agda | ||
open import domain-theory.directed-families-posets | ||
|
||
open import foundation.binary-relations | ||
open import foundation.dependent-pair-types | ||
open import foundation.equivalences | ||
open import foundation.function-types | ||
open import foundation.logical-equivalences | ||
open import foundation.propositions | ||
open import foundation.sets | ||
open import foundation.universe-levels | ||
|
||
open import order-theory.least-upper-bounds-posets | ||
open import order-theory.posets | ||
``` | ||
|
||
</details> | ||
|
||
## Idea | ||
|
||
A | ||
{{#concept "directed complete poset" WD="complete partial order" WDID=Q3082805 Agda=Directed-Complete-Poset}} | ||
is a [poset](order-theory.posets.md) such that all | ||
[directed families](domain-theory.directed-families-posets.md) have | ||
[least upper bounds](order-theory.least-upper-bounds-posets.md). | ||
|
||
## Definitions | ||
|
||
### The predicate on posets of being a directed complete poset | ||
|
||
```agda | ||
module _ | ||
{l1 l2 : Level} (l3 : Level) (P : Poset l1 l2) | ||
where | ||
|
||
is-directed-complete-Poset-Prop : Prop (l1 ⊔ l2 ⊔ lsuc l3) | ||
is-directed-complete-Poset-Prop = | ||
Π-Prop | ||
( directed-family-Poset l3 P) | ||
( λ F → | ||
has-least-upper-bound-family-of-elements-prop-Poset P | ||
( family-directed-family-Poset P F)) | ||
|
||
is-directed-complete-Poset : UU (l1 ⊔ l2 ⊔ lsuc l3) | ||
is-directed-complete-Poset = | ||
type-Prop is-directed-complete-Poset-Prop | ||
|
||
is-prop-is-directed-complete-Poset : is-prop is-directed-complete-Poset | ||
is-prop-is-directed-complete-Poset = | ||
is-prop-type-Prop is-directed-complete-Poset-Prop | ||
|
||
module _ | ||
{l1 l2 l3 : Level} (P : Poset l1 l2) (H : is-directed-complete-Poset l3 P) | ||
where | ||
|
||
sup-is-directed-complete-Poset : directed-family-Poset l3 P → type-Poset P | ||
sup-is-directed-complete-Poset F = pr1 (H F) | ||
|
||
is-least-upper-bound-sup-is-directed-complete-Poset : | ||
(x : directed-family-Poset l3 P) → | ||
is-least-upper-bound-family-of-elements-Poset P | ||
( family-directed-family-Poset P x) | ||
( sup-is-directed-complete-Poset x) | ||
is-least-upper-bound-sup-is-directed-complete-Poset F = pr2 (H F) | ||
``` | ||
|
||
### Directed complete posets | ||
|
||
```agda | ||
Directed-Complete-Poset : | ||
(l1 l2 l3 : Level) → UU (lsuc l1 ⊔ lsuc l2 ⊔ lsuc l3) | ||
Directed-Complete-Poset l1 l2 l3 = | ||
Σ (Poset l1 l2) (is-directed-complete-Poset l3) | ||
|
||
module _ | ||
{l1 l2 l3 : Level} (A : Directed-Complete-Poset l1 l2 l3) | ||
where | ||
|
||
poset-Directed-Complete-Poset : Poset l1 l2 | ||
poset-Directed-Complete-Poset = pr1 A | ||
|
||
type-Directed-Complete-Poset : UU l1 | ||
type-Directed-Complete-Poset = | ||
type-Poset poset-Directed-Complete-Poset | ||
|
||
leq-prop-Directed-Complete-Poset : | ||
(x y : type-Directed-Complete-Poset) → Prop l2 | ||
leq-prop-Directed-Complete-Poset = | ||
leq-prop-Poset poset-Directed-Complete-Poset | ||
|
||
leq-Directed-Complete-Poset : | ||
(x y : type-Directed-Complete-Poset) → UU l2 | ||
leq-Directed-Complete-Poset = | ||
leq-Poset poset-Directed-Complete-Poset | ||
|
||
is-prop-leq-Directed-Complete-Poset : | ||
(x y : type-Directed-Complete-Poset) → | ||
is-prop (leq-Directed-Complete-Poset x y) | ||
is-prop-leq-Directed-Complete-Poset = | ||
is-prop-leq-Poset poset-Directed-Complete-Poset | ||
|
||
refl-leq-Directed-Complete-Poset : | ||
(x : type-Directed-Complete-Poset) → | ||
leq-Directed-Complete-Poset x x | ||
refl-leq-Directed-Complete-Poset = | ||
refl-leq-Poset poset-Directed-Complete-Poset | ||
|
||
antisymmetric-leq-Directed-Complete-Poset : | ||
is-antisymmetric leq-Directed-Complete-Poset | ||
antisymmetric-leq-Directed-Complete-Poset = | ||
antisymmetric-leq-Poset poset-Directed-Complete-Poset | ||
|
||
transitive-leq-Directed-Complete-Poset : | ||
is-transitive leq-Directed-Complete-Poset | ||
transitive-leq-Directed-Complete-Poset = | ||
transitive-leq-Poset poset-Directed-Complete-Poset | ||
|
||
is-set-type-Directed-Complete-Poset : | ||
is-set type-Directed-Complete-Poset | ||
is-set-type-Directed-Complete-Poset = | ||
is-set-type-Poset poset-Directed-Complete-Poset | ||
|
||
set-Directed-Complete-Poset : Set l1 | ||
set-Directed-Complete-Poset = | ||
set-Poset poset-Directed-Complete-Poset | ||
|
||
is-directed-complete-Directed-Complete-Poset : | ||
is-directed-complete-Poset l3 poset-Directed-Complete-Poset | ||
is-directed-complete-Directed-Complete-Poset = pr2 A | ||
|
||
sup-Directed-Complete-Poset : | ||
directed-family-Poset l3 poset-Directed-Complete-Poset → | ||
type-Directed-Complete-Poset | ||
sup-Directed-Complete-Poset = | ||
sup-is-directed-complete-Poset | ||
( poset-Directed-Complete-Poset) | ||
( is-directed-complete-Directed-Complete-Poset) | ||
|
||
is-least-upper-bound-sup-Directed-Complete-Poset : | ||
(x : directed-family-Poset l3 poset-Directed-Complete-Poset) → | ||
is-least-upper-bound-family-of-elements-Poset | ||
( poset-Directed-Complete-Poset) | ||
( family-directed-family-Poset poset-Directed-Complete-Poset x) | ||
( sup-Directed-Complete-Poset x) | ||
is-least-upper-bound-sup-Directed-Complete-Poset = | ||
is-least-upper-bound-sup-is-directed-complete-Poset | ||
( poset-Directed-Complete-Poset) | ||
( is-directed-complete-Directed-Complete-Poset) | ||
|
||
leq-sup-Directed-Complete-Poset : | ||
(x : directed-family-Poset l3 poset-Directed-Complete-Poset) | ||
(i : type-directed-family-Poset poset-Directed-Complete-Poset x) → | ||
leq-Directed-Complete-Poset | ||
( family-directed-family-Poset poset-Directed-Complete-Poset x i) | ||
( sup-Directed-Complete-Poset x) | ||
leq-sup-Directed-Complete-Poset x = | ||
backward-implication | ||
( is-least-upper-bound-sup-Directed-Complete-Poset | ||
( x) | ||
( sup-Directed-Complete-Poset x)) | ||
( refl-leq-Directed-Complete-Poset (sup-Directed-Complete-Poset x)) | ||
``` | ||
|
||
## External links | ||
|
||
- [dcpo](https://ncatlab.org/nlab/show/dcpo) at $n$Lab |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be possible to move existing files in a separate pull request that only moves files, like I did in #1223 to preserve your authorship of some files about globular types?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure! I'll see about how to solve this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would you mind answering my question above in the PR, btw?