Skip to content

Commit 418c9cd

Browse files
authored
The large ring of real numbers (#1664)
1 parent 165a201 commit 418c9cd

13 files changed

+721
-2
lines changed

src/commutative-algebra.lagda.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ open import commutative-algebra.invertible-elements-commutative-rings public
3636
open import commutative-algebra.isomorphisms-commutative-rings public
3737
open import commutative-algebra.joins-ideals-commutative-rings public
3838
open import commutative-algebra.joins-radical-ideals-commutative-rings public
39+
open import commutative-algebra.large-commutative-rings public
3940
open import commutative-algebra.local-commutative-rings public
4041
open import commutative-algebra.maximal-ideals-commutative-rings public
4142
open import commutative-algebra.multiples-of-elements-commutative-rings public
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
# Large commutative rings
2+
3+
```agda
4+
module commutative-algebra.large-commutative-rings where
5+
```
6+
7+
<details><summary>Imports</summary>
8+
9+
```agda
10+
open import commutative-algebra.commutative-rings
11+
12+
open import foundation.dependent-pair-types
13+
open import foundation.identity-types
14+
open import foundation.large-binary-relations
15+
open import foundation.large-similarity-relations
16+
open import foundation.sets
17+
open import foundation.universe-levels
18+
19+
open import group-theory.large-commutative-monoids
20+
21+
open import ring-theory.large-rings
22+
```
23+
24+
</details>
25+
26+
## Idea
27+
28+
A {{#concept "large commutative ring" Agda=Large-Commutative-Ring}} is a
29+
[large ring](ring-theory.large-rings.md) with a commutative multiplicative
30+
operation.
31+
32+
## Definition
33+
34+
```agda
35+
record Large-Commutative-Ring
36+
(α : Level → Level) (β : Level → Level → Level) : UUω where
37+
38+
constructor
39+
make-Large-Commutative-Ring
40+
41+
field
42+
large-ring-Large-Commutative-Ring : Large-Ring α β
43+
44+
type-Large-Commutative-Ring : (l : Level) → UU (α l)
45+
type-Large-Commutative-Ring =
46+
type-Large-Ring large-ring-Large-Commutative-Ring
47+
48+
set-Large-Commutative-Ring : (l : Level) → Set (α l)
49+
set-Large-Commutative-Ring = set-Large-Ring large-ring-Large-Commutative-Ring
50+
51+
add-Large-Commutative-Ring :
52+
{l1 l2 : Level} →
53+
type-Large-Commutative-Ring l1 →
54+
type-Large-Commutative-Ring l2 →
55+
type-Large-Commutative-Ring (l1 ⊔ l2)
56+
add-Large-Commutative-Ring = add-Large-Ring large-ring-Large-Commutative-Ring
57+
58+
zero-Large-Commutative-Ring : type-Large-Commutative-Ring lzero
59+
zero-Large-Commutative-Ring =
60+
zero-Large-Ring large-ring-Large-Commutative-Ring
61+
62+
sim-prop-Large-Commutative-Ring :
63+
Large-Relation-Prop β type-Large-Commutative-Ring
64+
sim-prop-Large-Commutative-Ring =
65+
sim-prop-Large-Ring large-ring-Large-Commutative-Ring
66+
67+
sim-Large-Commutative-Ring : Large-Relation β type-Large-Commutative-Ring
68+
sim-Large-Commutative-Ring = sim-Large-Ring large-ring-Large-Commutative-Ring
69+
70+
raise-Large-Commutative-Ring :
71+
{l1 : Level} (l2 : Level) (x : type-Large-Commutative-Ring l1) →
72+
type-Large-Commutative-Ring (l1 ⊔ l2)
73+
raise-Large-Commutative-Ring =
74+
raise-Large-Ring large-ring-Large-Commutative-Ring
75+
76+
mul-Large-Commutative-Ring :
77+
{l1 l2 : Level} →
78+
type-Large-Commutative-Ring l1 →
79+
type-Large-Commutative-Ring l2 →
80+
type-Large-Commutative-Ring (l1 ⊔ l2)
81+
mul-Large-Commutative-Ring = mul-Large-Ring large-ring-Large-Commutative-Ring
82+
83+
field
84+
commutative-mul-Large-Commutative-Ring :
85+
{l1 l2 : Level} →
86+
(a : type-Large-Commutative-Ring l1) →
87+
(b : type-Large-Commutative-Ring l2) →
88+
mul-Large-Commutative-Ring a b = mul-Large-Commutative-Ring b a
89+
90+
open Large-Commutative-Ring public
91+
```
92+
93+
## Properties
94+
95+
### Small commutative rings from large commutative rings
96+
97+
```agda
98+
module _
99+
{α : Level → Level} {β : Level → Level → Level}
100+
(R : Large-Commutative-Ring α β)
101+
where
102+
103+
commutative-ring-Large-Commutative-Ring : (l : Level) → Commutative-Ring (α l)
104+
commutative-ring-Large-Commutative-Ring l =
105+
( ring-Large-Ring (large-ring-Large-Commutative-Ring R) l ,
106+
commutative-mul-Large-Commutative-Ring R)
107+
```
108+
109+
### The multiplicative large commutative monoid of a large commutative ring
110+
111+
```agda
112+
module _
113+
{α : Level → Level} {β : Level → Level → Level}
114+
(R : Large-Commutative-Ring α β)
115+
where
116+
117+
multiplicative-large-commutative-monoid-Large-Commutative-Ring :
118+
Large-Commutative-Monoid α β
119+
multiplicative-large-commutative-monoid-Large-Commutative-Ring =
120+
make-Large-Commutative-Monoid
121+
( multiplicative-large-monoid-Large-Ring
122+
( large-ring-Large-Commutative-Ring R))
123+
( commutative-mul-Large-Commutative-Ring R)
124+
```

src/group-theory/large-abelian-groups.lagda.md

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ open import foundation.dependent-pair-types
1212
open import foundation.embeddings
1313
open import foundation.identity-types
1414
open import foundation.large-binary-relations
15+
open import foundation.large-similarity-relations
1516
open import foundation.logical-equivalences
1617
open import foundation.sets
1718
open import foundation.universe-levels
@@ -77,6 +78,11 @@ module _
7778
{α : Level → Level} {β : Level → Level → Level} (G : Large-Ab α β)
7879
where
7980
81+
large-similarity-relation-Large-Ab :
82+
Large-Similarity-Relation β (type-Large-Ab G)
83+
large-similarity-relation-Large-Ab =
84+
large-similarity-relation-Large-Group (large-group-Large-Ab G)
85+
8086
sim-prop-Large-Ab : Large-Relation-Prop β (type-Large-Ab G)
8187
sim-prop-Large-Ab = sim-prop-Large-Group (large-group-Large-Ab G)
8288
@@ -169,7 +175,37 @@ module _
169175
raise-unit-lzero-Large-Group (large-group-Large-Ab G)
170176
```
171177

172-
### The negative of the identity is the identity
178+
### Group properties of large abelian groups
179+
180+
```agda
181+
module _
182+
{α : Level → Level} {β : Level → Level → Level} (G : Large-Ab α β)
183+
where
184+
185+
associative-add-Large-Ab :
186+
{l1 l2 l3 : Level} →
187+
(a : type-Large-Ab G l1) →
188+
(b : type-Large-Ab G l2) →
189+
(c : type-Large-Ab G l3) →
190+
add-Large-Ab G (add-Large-Ab G a b) c =
191+
add-Large-Ab G a (add-Large-Ab G b c)
192+
associative-add-Large-Ab =
193+
associative-mul-Large-Group (large-group-Large-Ab G)
194+
195+
left-unit-law-add-Large-Ab :
196+
{l : Level} (x : type-Large-Ab G l) →
197+
add-Large-Ab G (zero-Large-Ab G) x = x
198+
left-unit-law-add-Large-Ab =
199+
left-unit-law-mul-Large-Group (large-group-Large-Ab G)
200+
201+
right-unit-law-add-Large-Ab :
202+
{l : Level} (x : type-Large-Ab G l) →
203+
add-Large-Ab G x (zero-Large-Ab G) = x
204+
right-unit-law-add-Large-Ab =
205+
right-unit-law-mul-Large-Group (large-group-Large-Ab G)
206+
```
207+
208+
### The negation of the identity is the identity
173209

174210
```agda
175211
module _

src/group-theory/large-groups.lagda.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ open import foundation.equivalences
1515
open import foundation.identity-types
1616
open import foundation.involutions
1717
open import foundation.large-binary-relations
18+
open import foundation.large-similarity-relations
1819
open import foundation.logical-equivalences
1920
open import foundation.propositional-maps
2021
open import foundation.propositions
@@ -74,6 +75,11 @@ record Large-Group (α : Level → Level) (β : Level → Level → Level) : UU
7475
unit-Large-Group : type-Large-Group lzero
7576
unit-Large-Group = unit-Large-Monoid large-monoid-Large-Group
7677
78+
large-similarity-relation-Large-Group :
79+
Large-Similarity-Relation β type-Large-Group
80+
large-similarity-relation-Large-Group =
81+
large-similarity-relation-Large-Monoid large-monoid-Large-Group
82+
7783
sim-prop-Large-Group : Large-Relation-Prop β type-Large-Group
7884
sim-prop-Large-Group = sim-prop-Large-Monoid large-monoid-Large-Group
7985

src/real-numbers.lagda.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ open import real-numbers.inhabited-finitely-enumerable-subsets-real-numbers publ
3232
open import real-numbers.inhabited-totally-bounded-subsets-real-numbers public
3333
open import real-numbers.isometry-addition-real-numbers public
3434
open import real-numbers.isometry-negation-real-numbers public
35+
open import real-numbers.large-additive-group-of-real-numbers public
36+
open import real-numbers.large-multiplicative-monoid-of-real-numbers public
37+
open import real-numbers.large-ring-of-real-numbers public
3538
open import real-numbers.limits-sequences-real-numbers public
3639
open import real-numbers.lipschitz-continuity-multiplication-real-numbers public
3740
open import real-numbers.lower-dedekind-real-numbers public

src/real-numbers/addition-real-numbers.lagda.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ open import real-numbers.dedekind-real-numbers
4848
open import real-numbers.lower-dedekind-real-numbers
4949
open import real-numbers.negation-lower-upper-dedekind-real-numbers
5050
open import real-numbers.negation-real-numbers
51+
open import real-numbers.raising-universe-levels-real-numbers
5152
open import real-numbers.rational-real-numbers
5253
open import real-numbers.similarity-real-numbers
5354
open import real-numbers.upper-dedekind-real-numbers
@@ -256,6 +257,22 @@ abstract
256257
( λ y → sim-ℝ y zero-ℝ)
257258
( commutative-add-ℝ x (neg-ℝ x))
258259
( right-inverse-law-add-ℝ x)
260+
261+
eq-right-inverse-law-add-ℝ :
262+
{l : Level} (x : ℝ l) → x +ℝ neg-ℝ x = raise-ℝ l zero-ℝ
263+
eq-right-inverse-law-add-ℝ x =
264+
eq-sim-ℝ
265+
( transitive-sim-ℝ _ _ _
266+
( sim-raise-ℝ _ zero-ℝ)
267+
( right-inverse-law-add-ℝ x))
268+
269+
eq-left-inverse-law-add-ℝ :
270+
{l : Level} (x : ℝ l) → neg-ℝ x +ℝ x = raise-ℝ l zero-ℝ
271+
eq-left-inverse-law-add-ℝ x =
272+
eq-sim-ℝ
273+
( transitive-sim-ℝ _ _ _
274+
( sim-raise-ℝ _ zero-ℝ)
275+
( left-inverse-law-add-ℝ x))
259276
```
260277

261278
### Addition on the real numbers preserves similarity
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# The large additive group of Dedekind real numbers
2+
3+
```agda
4+
{-# OPTIONS --lossy-unification #-}
5+
6+
module real-numbers.large-additive-group-of-real-numbers where
7+
```
8+
9+
<details><summary>Imports</summary>
10+
11+
```agda
12+
open import foundation.universe-levels
13+
14+
open import group-theory.abelian-groups
15+
open import group-theory.large-abelian-groups
16+
open import group-theory.large-commutative-monoids
17+
open import group-theory.large-groups
18+
open import group-theory.large-monoids
19+
open import group-theory.large-semigroups
20+
21+
open import real-numbers.addition-real-numbers
22+
open import real-numbers.dedekind-real-numbers
23+
open import real-numbers.negation-real-numbers
24+
open import real-numbers.raising-universe-levels-real-numbers
25+
open import real-numbers.rational-real-numbers
26+
open import real-numbers.similarity-real-numbers
27+
```
28+
29+
</details>
30+
31+
## Idea
32+
33+
The [Dedekind real numbers](real-numbers.dedekind-real-numbers.md) form a
34+
[large abelian group](group-theory.large-abelian-groups.md) under
35+
[addition](real-numbers.addition-real-numbers.md).
36+
37+
## Definition
38+
39+
```agda
40+
large-semigroup-add-ℝ : Large-Semigroup lsuc
41+
large-semigroup-add-ℝ =
42+
make-Large-Semigroup
43+
( ℝ-Set)
44+
( add-ℝ)
45+
( associative-add-ℝ)
46+
47+
large-monoid-add-ℝ : Large-Monoid lsuc (_⊔_)
48+
large-monoid-add-ℝ =
49+
make-Large-Monoid
50+
( large-semigroup-add-ℝ)
51+
( large-similarity-relation-sim-ℝ)
52+
( raise-ℝ)
53+
( sim-raise-ℝ)
54+
( λ a b a~b c d c~d → preserves-sim-add-ℝ a~b c~d)
55+
( zero-ℝ)
56+
( left-unit-law-add-ℝ)
57+
( right-unit-law-add-ℝ)
58+
59+
large-commutative-monoid-add-ℝ : Large-Commutative-Monoid lsuc (_⊔_)
60+
large-commutative-monoid-add-ℝ =
61+
make-Large-Commutative-Monoid
62+
( large-monoid-add-ℝ)
63+
( commutative-add-ℝ)
64+
65+
large-group-add-ℝ : Large-Group lsuc (_⊔_)
66+
large-group-add-ℝ =
67+
make-Large-Group
68+
( large-monoid-add-ℝ)
69+
( neg-ℝ)
70+
( λ _ _ → preserves-sim-neg-ℝ)
71+
( eq-left-inverse-law-add-ℝ)
72+
( eq-right-inverse-law-add-ℝ)
73+
74+
large-ab-add-ℝ : Large-Ab lsuc (_⊔_)
75+
large-ab-add-ℝ =
76+
make-Large-Ab
77+
( large-group-add-ℝ)
78+
( commutative-add-ℝ)
79+
```
80+
81+
## Properties
82+
83+
### The small abelian group of real numbers at a universe level
84+
85+
```agda
86+
ab-add-ℝ : (l : Level) → Ab (lsuc l)
87+
ab-add-ℝ = ab-Large-Ab large-ab-add-ℝ
88+
```

0 commit comments

Comments
 (0)