-
Notifications
You must be signed in to change notification settings - Fork 90
Multiplication of real numbers #1384
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
Merged
Merged
Changes from 119 commits
Commits
Show all changes
126 commits
Select commit
Hold shift + click to select a range
74dfa31
Progress
lowasser aa578cd
Progress
lowasser a596e90
Merge branch 'master' into min-max-total
lowasser 034dea6
Progress
lowasser 0f863ac
Merge branch 'min-max-total' into intervals
lowasser 90f991c
Progress
lowasser a6a698e
Merge branch 'master' into intervals
lowasser 7c5f694
Progress
lowasser d3b06b5
Merge branch 'master' into intervals
lowasser 8ea30ea
Progress
lowasser 9726c59
Respond to review comments
lowasser d7509a2
Merge branch 'master' into intervals
lowasser a868f8a
make pre-commit
lowasser 9400255
make pre-commit
lowasser a0edf6e
Progress
lowasser 0202393
Renamings
lowasser ab17ce8
Split out nonnegative rational operations
lowasser 8be4cf8
naming
fredrik-bakke e7b2418
fix link
fredrik-bakke dbdcab2
edits
fredrik-bakke c4ec81e
fix more links
fredrik-bakke e285dac
concept macro closed intervals rational numbers
fredrik-bakke 9348d77
Rename
lowasser 9979a0f
Merge remote-tracking branch 'origin/intervals' into intervals
lowasser e97c045
Renaming
lowasser ee0c903
Renaming
lowasser 2cbc082
Progress
lowasser 2ec83b1
Progress
lowasser 8aa2992
Merge branch 'master' into intervals
lowasser 0eb3098
Rename back
lowasser b071f0f
Fix link
lowasser d55ff8b
Fix concept
lowasser 01d0853
Progress
lowasser 1f89925
Progress
lowasser 57f7b4d
Progress
lowasser b7e4310
Merge branch 'master' into split-mul-nonneg-rat
lowasser cd3348c
Progress
lowasser 5f35912
Progress
lowasser 903e8d0
Move more out of nonnegative
lowasser 06e9319
Merge branch 'split-mul-nonneg-rat' into split-pos-rat
lowasser 0d12e8a
Update dependencies
lowasser c43da1f
Apply suggestions from code review
lowasser 6ef4366
Fix 'inhabited closed' stragglers
lowasser 865797a
make pre-commit format
lowasser 76f1766
Apply suggestions from code review
lowasser 07300fe
Parenthesize concatenated paths
lowasser 0118a0c
Merge remote-tracking branch 'origin/intervals' into intervals
lowasser fd6fac6
Merge branch 'intervals' into narrow-mul-interval
lowasser 9235a01
Progress
lowasser af3df99
Merge branch 'master' into narrow-mul-interval
lowasser 9cd7d6e
Finish the first case
lowasser 2268ddd
Remove concepts for specific instances
lowasser a300c7a
Merge branch 'split-mul-nonneg-rat' into split-pos-rat
lowasser 6d2aa78
Remove concepts for specific instances
lowasser 5bc67cf
Finish first version
lowasser 53fa7dc
Merge branch 'split-pos-rat' into narrow-mul-interval-split
lowasser a7d87bd
Progress
lowasser faf6f93
Progress
lowasser bbaff84
Finish proving the interior condition
lowasser 73d51d0
Merge branch 'narrow-mul-interval' into mul-reals-v3
lowasser 4700485
Progress
lowasser 2ddc21c
Width bounds on multiplication of closed intervals
lowasser d095828
Add more parentheses
lowasser 9ef4a7e
Progress
lowasser 440678d
Merge branch 'master' into split-pos-rat
lowasser d150905
Progress
lowasser 7290d4c
Restore unlinked concepts
lowasser c56d410
Fixes
lowasser f77e973
Revert
lowasser e27c74d
Apply suggestions from code review
lowasser 8172049
Merge branch 'master' into narrow-mul-interval
lowasser d566f5f
Respond to comments
lowasser 6c1d5fb
Merge branch 'split-pos-rat' into narrow-mul-interval-split
lowasser 5ef0748
Merge branch 'narrow-mul-interval' into narrow-mul-interval-split
lowasser c41e40a
Merge
lowasser cddcd39
Merge branch 'narrow-mul-interval-split' into mul-reals-v3
lowasser 41838dd
Progress
lowasser 3d5ba8b
Progress
lowasser 179c004
Progress
lowasser f6720ff
Merge branch 'poset-closed-intervals' into mul-reals-v3
lowasser 53cbd3f
Split intersections and spans to their own files
lowasser 75ea7b7
Merge branch 'poset-closed-intervals' into mul-reals-v3
lowasser fed7395
Progress
lowasser 3c47ed8
Progress
lowasser dc8cb41
Progress
lowasser b4a6b70
Progress
lowasser 7bc7cef
Progress
lowasser 21be836
Progress
lowasser 6916843
The intersection is a lower bound
lowasser 09b83c6
Merge branch 'poset-closed-intervals' into poset-closed-intervals-rat
lowasser 24ebb6e
Addition and multiplication preserve containment
lowasser bb0597e
Merge branch 'poset-closed-intervals-rat' into mul-reals-v3
lowasser 51c7442
Prove distributivity
lowasser fe3c3d1
Unit laws
lowasser 1160c29
Remaining key properties
lowasser 0358102
Apply suggestions from code review
lowasser 7fd3724
Merge branch 'master' into narrow-mul-interval
lowasser 4566e50
make pre-commit
lowasser 52f4e42
Respond to review comments
lowasser 5952641
Merge branch 'narrow-mul-interval' into narrow-mul-interval-split
lowasser 7217f3a
Apply suggestions from code review
lowasser f888fdc
Merge branch 'master' into narrow-mul-interval
lowasser 4413d69
make pre-commit
lowasser abef95a
Fix import
lowasser d02fabf
Merge branch 'master' into narrow-mul-interval
fredrik-bakke 80e5f3c
Split out multiplication of interior intervals
lowasser a023e85
Merge remote-tracking branch 'origin/narrow-mul-interval' into narrow…
lowasser 8540e7a
Merge branch 'narrow-mul-interval' into mul-reals
lowasser a6bd6fd
Updates
lowasser 4c5212d
Progress
lowasser 077d676
Merge branch 'narrow-mul-interval' into mul-reals
lowasser 4e47107
Fix
lowasser 027fc37
Merge branch 'narrow-mul-interval' into mul-reals
lowasser 4de6918
Fix
lowasser 4204f83
Merge branch 'narrow-mul-interval' into mul-reals
lowasser 1db9281
Merge branch 'master' into mul-reals
lowasser bd9c246
Update
lowasser e9c0d3e
make pre-commit
lowasser c14e8d6
Revert
lowasser 1e6a25d
Apply suggestions from code review
lowasser fd5c804
Respond to review comments; simplify the locatedness proof
lowasser 3ccb90a
Remove unused inequality reasoning
lowasser 0e7d036
Move weak arithmetic location to its own section
lowasser ecd81a6
Merge branch 'master' into mul-reals
lowasser 1ed3e0f
Merge branch 'master' into mul-reals
lowasser 595d49f
Merge branch 'master' into mul-reals
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 hidden or 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
88 changes: 88 additions & 0 deletions
88
...mentary-number-theory/absolute-value-closed-intervals-rational-numbers.lagda.md
This file contains hidden or 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,88 @@ | ||
# Absolute value on closed intervals in the rational numbers | ||
|
||
```agda | ||
module elementary-number-theory.absolute-value-closed-intervals-rational-numbers where | ||
``` | ||
|
||
<details><summary>Imports</summary> | ||
|
||
```agda | ||
open import elementary-number-theory.absolute-value-rational-numbers | ||
open import elementary-number-theory.closed-intervals-rational-numbers | ||
open import elementary-number-theory.inequality-nonnegative-rational-numbers | ||
open import elementary-number-theory.inequality-rational-numbers | ||
open import elementary-number-theory.maximum-nonnegative-rational-numbers | ||
open import elementary-number-theory.maximum-rational-numbers | ||
open import elementary-number-theory.nonnegative-rational-numbers | ||
open import elementary-number-theory.rational-numbers | ||
|
||
open import foundation.binary-transport | ||
open import foundation.coproduct-types | ||
open import foundation.dependent-pair-types | ||
open import foundation.identity-types | ||
``` | ||
|
||
</details> | ||
|
||
## Idea | ||
|
||
The | ||
[absolute value](elementary-number-theory.absolute-value-rational-numbers.md) of | ||
an element of a | ||
[closed interval](elementary-number-theory.closed-intervals-rational-numbers.md) | ||
[a, b] of [rational numbers](elementary-number-theory.rational-numbers.md) is | ||
bounded by `max(|a|, |b|)`. | ||
|
||
## Definition | ||
|
||
```agda | ||
max-abs-closed-interval-ℚ : closed-interval-ℚ → ℚ⁰⁺ | ||
max-abs-closed-interval-ℚ ((p , q) , p≤q) = max-ℚ⁰⁺ (abs-ℚ p) (abs-ℚ q) | ||
|
||
rational-max-abs-closed-interval-ℚ : closed-interval-ℚ → ℚ | ||
rational-max-abs-closed-interval-ℚ [p,q] = | ||
rational-ℚ⁰⁺ (max-abs-closed-interval-ℚ [p,q]) | ||
``` | ||
|
||
## Properties | ||
|
||
### If `r ∈ [p,q]`, then `|r| ≤ max(|p|, |q|)` | ||
|
||
```agda | ||
abstract | ||
leq-max-abs-is-in-closed-interval-ℚ : | ||
([p,q] : closed-interval-ℚ) (r : ℚ) → is-in-closed-interval-ℚ [p,q] r → | ||
leq-ℚ⁰⁺ (abs-ℚ r) (max-abs-closed-interval-ℚ [p,q]) | ||
leq-max-abs-is-in-closed-interval-ℚ ((p , q) , p≤q) r (p≤r , r≤q) = | ||
rec-coproduct | ||
( λ r≤0 → | ||
transitive-leq-ℚ | ||
( rational-abs-ℚ r) | ||
( rational-abs-ℚ p) | ||
( max-ℚ (rational-abs-ℚ p) (rational-abs-ℚ q)) | ||
( leq-left-max-ℚ _ _) | ||
( leq-abs-leq-leq-neg-ℚ | ||
( r) | ||
( rational-abs-ℚ p) | ||
( transitive-leq-ℚ r zero-ℚ (rational-abs-ℚ p) | ||
( leq-zero-rational-ℚ⁰⁺ (abs-ℚ p)) | ||
( r≤0)) | ||
( transitive-leq-ℚ (neg-ℚ r) (neg-ℚ p) (rational-abs-ℚ p) | ||
( neg-leq-abs-ℚ p) | ||
( neg-leq-ℚ _ _ p≤r)))) | ||
( λ 0≤r → | ||
transitive-leq-ℚ | ||
( rational-abs-ℚ r) | ||
( rational-abs-ℚ q) | ||
( max-ℚ (rational-abs-ℚ p) (rational-abs-ℚ q)) | ||
( leq-right-max-ℚ _ _) | ||
( binary-tr | ||
( leq-ℚ) | ||
( inv (rational-abs-zero-leq-ℚ r 0≤r)) | ||
( inv | ||
( rational-abs-zero-leq-ℚ | ||
( q) | ||
( transitive-leq-ℚ zero-ℚ r q r≤q 0≤r))) | ||
( r≤q))) | ||
( linear-leq-ℚ r zero-ℚ) | ||
``` |
This file contains hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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
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.
Uh oh!
There was an error while loading. Please reload this page.