Skip to content

Extension rational real functions (WIP) #1429

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

Draft
wants to merge 76 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
07a3539
WIP lipschitz functions
malarbol Apr 11, 2025
95f3f15
composition of Lipschitz maps between premetric spaces
malarbol Apr 11, 2025
1bade0d
unit interval Q+
malarbol Apr 11, 2025
053d2dc
WIP unit interval Q+
malarbol Apr 12, 2025
6cc6f0f
typo
malarbol Apr 12, 2025
e684923
Merge branch 'master' into Lipschitz-functions-metric-spaces
malarbol Apr 27, 2025
3c7e0d1
cleanup
malarbol Apr 27, 2025
d97a1f2
Merge branch 'master' into Lipschitz-functions-metric-spaces
malarbol May 1, 2025
04b5d37
fix post-merge
malarbol May 1, 2025
8384ce4
cleanup
malarbol May 1, 2025
2e051bf
cleanup
malarbol May 1, 2025
638f9ea
metric spaces of functions
malarbol May 1, 2025
03fe89f
fix link
malarbol May 1, 2025
3dbffda
addition preserves distance between real numbers
malarbol May 2, 2025
7f932a7
fix parenthesis
malarbol May 2, 2025
45f545f
fix header
malarbol May 2, 2025
a349d3d
simplify proof
malarbol May 2, 2025
76c191f
cleanup
malarbol May 2, 2025
135e30a
cleanup import and write headers
malarbol May 2, 2025
088a270
typo
malarbol May 2, 2025
7bc6484
the absolute value is short
malarbol May 2, 2025
3bd9791
header
malarbol May 2, 2025
e3895a4
remove real-functions module
malarbol May 2, 2025
5b2ec95
Merge branch 'master' into real-functions
malarbol May 2, 2025
60bca9c
rename short-ev -> short-eval
malarbol May 2, 2025
2501f04
Cauchy approximations of functions
malarbol May 2, 2025
2b02b61
indent
malarbol May 2, 2025
c5f06a5
Merge branch 'master' into Lipschitz-functions-metric-spaces
malarbol May 2, 2025
1289355
Merge branch 'real-functions' into Lipschitz-functions-metric-spaces
malarbol May 2, 2025
5cd6394
Lipschitz maps are uniformly continuous
malarbol May 2, 2025
f4b7f0d
fix headers
malarbol May 2, 2025
a03b7c1
typo
malarbol May 2, 2025
426a026
cleanup and refactor
malarbol May 2, 2025
2330031
multiplication of rational numbers is Lipschitz
malarbol May 3, 2025
39d5c33
typo
malarbol May 3, 2025
b7c5ce3
Update src/real-numbers/metric-space-of-real-numbers.lagda.md
malarbol May 3, 2025
dc95360
Update src/metric-spaces/metric-space-of-functions-metric-spaces.lagd…
malarbol May 3, 2025
97c2917
Update src/metric-spaces/metric-space-of-functions-metric-spaces.lagd…
malarbol May 3, 2025
813f2d2
Update src/metric-spaces/dependent-products-metric-spaces.lagda.md
malarbol May 3, 2025
d278777
Update src/metric-spaces/metric-space-of-functions-metric-spaces.lagd…
malarbol May 3, 2025
e30bd58
Update src/metric-spaces/metric-space-of-functions-metric-spaces.lagd…
malarbol May 3, 2025
a40fd81
Update src/real-numbers/isometry-negation-real-numbers.lagda.md
malarbol May 3, 2025
21de54b
Update src/real-numbers/isometry-addition-real-numbers.lagda.md
malarbol May 3, 2025
ed6225e
Update src/real-numbers/metric-space-of-real-numbers.lagda.md
malarbol May 3, 2025
4f8b610
Update src/real-numbers/metric-space-of-real-numbers.lagda.md
malarbol May 3, 2025
3194d80
Update src/real-numbers/metric-space-of-real-numbers.lagda.md
malarbol May 3, 2025
31d7ba4
Update src/real-numbers/metric-space-of-real-numbers.lagda.md
malarbol May 3, 2025
c0f9d12
Update src/metric-spaces/dependent-products-metric-spaces.lagda.md
malarbol May 3, 2025
1b4a081
fix post-review
malarbol May 3, 2025
a6918f9
abstract
malarbol May 3, 2025
b0b7cb3
links / see also
malarbol May 3, 2025
8034016
pre-commit
malarbol May 3, 2025
3fa66cf
One as a real number
malarbol May 3, 2025
23a09df
Merge branch 'real-functions' into Lipschitz-functions-metric-spaces
malarbol May 3, 2025
96a9be2
Short functions are Lipschitz functions with Lipschitz constant equal…
malarbol May 3, 2025
6aa6373
The metric space of Lipschitz functions between metric spaces
malarbol May 3, 2025
4b0aaa5
fix indent
malarbol May 3, 2025
1529b14
raising universe levels of real numbers is an isometry
malarbol May 4, 2025
d6c2fd2
fix name
malarbol May 4, 2025
f864432
raising rational numbers to real numbers
malarbol May 4, 2025
03f0285
cleanup
malarbol May 4, 2025
47cba26
WIP extension rational functions
malarbol May 4, 2025
999ff8e
Merge branch 'real-functions' into Lipschitz-functions-metric-spaces
malarbol May 5, 2025
6f227ed
is-lipschitz-right-mul-ℚ
malarbol May 5, 2025
e295b89
Merge branch 'master' into Lipschitz-functions-metric-spaces
malarbol May 5, 2025
1e6d45b
Lipschitz characterization of constant maps
malarbol May 5, 2025
804547c
typos
malarbol May 5, 2025
49b96d6
fix headers zero/one
malarbol May 6, 2025
3bdccdb
move raise-real-Q
malarbol May 6, 2025
16290bc
the type of Lipschitz functions
malarbol May 8, 2025
75a0144
uniformly continuous Lipschitz maps
malarbol May 9, 2025
674fed9
fix header link
malarbol May 9, 2025
17c74e3
Merge branch 'master' into Lipschitz-functions-metric-spaces
malarbol May 12, 2025
a5c5fa2
Merge branch 'Lipschitz-functions-metric-spaces' into extension-ratio…
malarbol May 12, 2025
f491403
unicity uniformly continuous extensions rational real functions
malarbol May 12, 2025
4963fb7
format
malarbol May 13, 2025
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
143 changes: 24 additions & 119 deletions src/elementary-number-theory/distance-rational-numbers.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,6 @@ open import foundation.dependent-pair-types
open import foundation.identity-types
open import foundation.logical-equivalences
open import foundation.transport-along-identifications

open import metric-spaces.metric-space-of-rational-numbers
open import metric-spaces.metric-space-of-rational-numbers-with-open-neighborhoods
```

</details>
Expand Down Expand Up @@ -93,6 +90,30 @@ abstract

```agda
abstract
left-distributive-abs-mul-dist-ℚ :
(p q r : ℚ) →
abs-ℚ p *ℚ⁰⁺ dist-ℚ q r = dist-ℚ (p *ℚ q) (p *ℚ r)
left-distributive-abs-mul-dist-ℚ p q r =
equational-reasoning
abs-ℚ p *ℚ⁰⁺ dist-ℚ q r
= abs-ℚ (p *ℚ (q -ℚ r))
by (inv (abs-mul-ℚ p (q -ℚ r)))
= dist-ℚ (p *ℚ q) (p *ℚ r)
by ap abs-ℚ (left-distributive-mul-diff-ℚ p q r)

right-distributive-abs-mul-dist-ℚ :
(p q r : ℚ) →
dist-ℚ q r *ℚ⁰⁺ abs-ℚ p = dist-ℚ (q *ℚ p) (r *ℚ p)
right-distributive-abs-mul-dist-ℚ p q r =
equational-reasoning
dist-ℚ q r *ℚ⁰⁺ abs-ℚ p
= abs-ℚ p *ℚ⁰⁺ dist-ℚ q r
by commutative-mul-ℚ⁰⁺ (dist-ℚ q r) (abs-ℚ p)
= dist-ℚ (p *ℚ q) (p *ℚ r)
by left-distributive-abs-mul-dist-ℚ p q r
= dist-ℚ (q *ℚ p) (r *ℚ p)
by ap-binary dist-ℚ (commutative-mul-ℚ p q) (commutative-mul-ℚ p r)

left-distributive-mul-dist-ℚ :
(p : ℚ⁰⁺) (q r : ℚ) →
p *ℚ⁰⁺ dist-ℚ q r = dist-ℚ (rational-ℚ⁰⁺ p *ℚ q) (rational-ℚ⁰⁺ p *ℚ r)
Expand Down Expand Up @@ -165,122 +186,6 @@ abstract
( inv-tr (λ s → le-ℚ s r) (distributive-neg-diff-ℚ p q) q-p<r)
```

### Relationship to the metric space of rational numbers

```agda
abstract
leq-dist-neighborhood-leq-ℚ :
(ε : ℚ⁺) (p q : ℚ) →
neighborhood-leq-ℚ ε p q →
leq-ℚ (rational-dist-ℚ p q) (rational-ℚ⁺ ε)
leq-dist-neighborhood-leq-ℚ ε⁺@(ε , _) p q (H , K) =
leq-dist-leq-diff-ℚ
( p)
( q)
( ε)
( swap-right-diff-leq-ℚ p ε q (leq-transpose-right-add-ℚ p q ε K))
( swap-right-diff-leq-ℚ q ε p (leq-transpose-right-add-ℚ q p ε H))

neighborhood-leq-leq-dist-ℚ :
(ε : ℚ⁺) (p q : ℚ) →
leq-ℚ (rational-dist-ℚ p q) (rational-ℚ⁺ ε) →
neighborhood-leq-ℚ ε p q
neighborhood-leq-leq-dist-ℚ ε⁺@(ε , _) p q |p-q|≤ε =
( leq-transpose-left-diff-ℚ
( q)
( ε)
( p)
( swap-right-diff-leq-ℚ
( q)
( p)
( ε)
( transitive-leq-ℚ
( q -ℚ p)
( rational-dist-ℚ p q)
( ε)
( |p-q|≤ε)
( leq-reversed-diff-dist-ℚ p q)))) ,
( leq-transpose-left-diff-ℚ
( p)
( ε)
( q)
( swap-right-diff-leq-ℚ
( p)
( q)
( ε)
( transitive-leq-ℚ
( p -ℚ q)
( rational-dist-ℚ p q)
( ε)
( |p-q|≤ε)
( leq-diff-dist-ℚ p q))))

leq-dist-iff-neighborhood-leq-ℚ :
(ε : ℚ⁺) (p q : ℚ) →
leq-ℚ (rational-dist-ℚ p q) (rational-ℚ⁺ ε) ↔
neighborhood-leq-ℚ ε p q
pr1 (leq-dist-iff-neighborhood-leq-ℚ ε p q) = neighborhood-leq-leq-dist-ℚ ε p q
pr2 (leq-dist-iff-neighborhood-leq-ℚ ε p q) = leq-dist-neighborhood-leq-ℚ ε p q
```

### Relationship to the metric space of rational numbers with open neighborhoods

```agda
abstract
le-dist-neighborhood-le-ℚ :
(ε : ℚ⁺) (p q : ℚ) →
neighborhood-le-ℚ ε p q →
le-ℚ (rational-dist-ℚ p q) (rational-ℚ⁺ ε)
le-dist-neighborhood-le-ℚ ε⁺@(ε , _) p q (H , K) =
le-dist-le-diff-ℚ
( p)
( q)
( ε)
( swap-right-diff-le-ℚ p ε q (le-transpose-right-add-ℚ p q ε K))
( swap-right-diff-le-ℚ q ε p (le-transpose-right-add-ℚ q p ε H))

neighborhood-le-le-dist-ℚ :
(ε : ℚ⁺) (p q : ℚ) →
le-ℚ (rational-dist-ℚ p q) (rational-ℚ⁺ ε) →
neighborhood-le-ℚ ε p q
neighborhood-le-le-dist-ℚ ε⁺@(ε , _) p q |p-q|<ε =
( le-transpose-left-diff-ℚ
( q)
( ε)
( p)
( swap-right-diff-le-ℚ
( q)
( p)
( ε)
( concatenate-leq-le-ℚ
( q -ℚ p)
( rational-dist-ℚ p q)
( ε)
( leq-reversed-diff-dist-ℚ p q)
( |p-q|<ε)))) ,
( le-transpose-left-diff-ℚ
( p)
( ε)
( q)
( swap-right-diff-le-ℚ
( p)
( q)
( ε)
( concatenate-leq-le-ℚ
( p -ℚ q)
( rational-dist-ℚ p q)
( ε)
( leq-diff-dist-ℚ p q)
( |p-q|<ε))))

le-dist-iff-neighborhood-le-ℚ :
(ε : ℚ⁺) (p q : ℚ) →
le-ℚ (rational-dist-ℚ p q) (rational-ℚ⁺ ε) ↔
neighborhood-le-ℚ ε p q
pr1 (le-dist-iff-neighborhood-le-ℚ ε p q) = neighborhood-le-le-dist-ℚ ε p q
pr2 (le-dist-iff-neighborhood-le-ℚ ε p q) = le-dist-neighborhood-le-ℚ ε p q
```

### The distance between two rational numbers is the difference of their maximum and minimum

```agda
Expand Down
7 changes: 7 additions & 0 deletions src/elementary-number-theory/inequality-integers.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,13 @@ _≤-ℤ_ = leq-ℤ

## Properties

### Zero is less than one

```agda
leq-zero-one-ℤ : leq-ℤ zero-ℤ one-ℤ
leq-zero-one-ℤ = star
```

### Inequality on the integers is reflexive, antisymmetric and transitive

```agda
Expand Down
18 changes: 18 additions & 0 deletions src/elementary-number-theory/inequality-rational-numbers.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,13 @@ _≤-ℚ_ = leq-ℚ

## Properties

### Zero is less than one

```agda
leq-zero-one-ℚ : leq-ℚ zero-ℚ one-ℚ
leq-zero-one-ℚ = leq-zero-one-ℤ
```

### Inequality on the rational numbers is decidable

```agda
Expand Down Expand Up @@ -439,6 +446,17 @@ abstract
( leq-transpose-left-diff-ℚ p q r p-q≤r))
```

### A rational number is lesser than its successor

```agda
succ-leq-ℚ : (p : ℚ) → leq-ℚ p (succ-ℚ p)
succ-leq-ℚ p =
tr
( λ x → leq-ℚ x (one-ℚ +ℚ p))
( left-unit-law-add-ℚ p)
( preserves-leq-left-add-ℚ p zero-ℚ one-ℚ leq-zero-one-ℚ)
```

## See also

- The decidable total order on the rational numbers is defined in
Expand Down
20 changes: 20 additions & 0 deletions src/elementary-number-theory/nonnegative-rational-numbers.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,26 @@ module _
is-nonnegative-leq-zero-ℚ)
```

### The successor of a nonnegative rational number is positive

```agda
abstract
is-positive-succ-is-nonnegative-ℚ :
(q : ℚ) → is-nonnegative-ℚ q → is-positive-ℚ (succ-ℚ q)
is-positive-succ-is-nonnegative-ℚ q H =
is-positive-le-zero-ℚ
( succ-ℚ q)
( concatenate-leq-le-ℚ
( zero-ℚ)
( q)
( succ-ℚ q)
( leq-zero-is-nonnegative-ℚ q H)
( le-left-add-rational-ℚ⁺ q one-ℚ⁺))

positive-succ-ℚ⁰⁺ : ℚ⁰⁺ → ℚ⁺
positive-succ-ℚ⁰⁺ (q , H) = (succ-ℚ q , is-positive-succ-is-nonnegative-ℚ q H)
```

### The product of two nonnegative rational numbers is nonnegative

```agda
Expand Down
3 changes: 3 additions & 0 deletions src/metric-spaces.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,15 @@ open import metric-spaces.limits-of-cauchy-approximations-premetric-spaces publi
open import metric-spaces.limits-of-sequences-metric-spaces public
open import metric-spaces.limits-of-sequences-premetric-spaces public
open import metric-spaces.limits-of-sequences-pseudometric-spaces public
open import metric-spaces.lipschitz-functions-metric-spaces public
open import metric-spaces.metric-space-of-cauchy-approximations-complete-metric-spaces public
open import metric-spaces.metric-space-of-cauchy-approximations-metric-spaces public
open import metric-spaces.metric-space-of-cauchy-approximations-saturated-complete-metric-spaces public
open import metric-spaces.metric-space-of-convergent-cauchy-approximations-metric-spaces public
open import metric-spaces.metric-space-of-convergent-sequences-metric-spaces public
open import metric-spaces.metric-space-of-functions-metric-spaces public
open import metric-spaces.metric-space-of-isometries-metric-spaces public
open import metric-spaces.metric-space-of-lipschitz-functions-metric-spaces public
open import metric-spaces.metric-space-of-rational-numbers public
open import metric-spaces.metric-space-of-rational-numbers-with-open-neighborhoods public
open import metric-spaces.metric-space-of-short-functions-metric-spaces public
Expand All @@ -104,6 +106,7 @@ open import metric-spaces.short-functions-metric-spaces public
open import metric-spaces.short-functions-premetric-spaces public
open import metric-spaces.subspaces-metric-spaces public
open import metric-spaces.symmetric-premetric-structures public
open import metric-spaces.total-metric-spaces public
open import metric-spaces.triangular-premetric-structures public
open import metric-spaces.uniformly-continuous-functions-metric-spaces public
open import metric-spaces.uniformly-continuous-functions-premetric-spaces public
Expand Down
Loading