Skip to content

Towards an example of a perfectoid field #62

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

Open
wants to merge 44 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
a9232fb
Valuation on power series
jcommelin Oct 8, 2019
624afd7
Remove sorries
jcommelin Oct 9, 2019
1fbe125
Valuation on Laurent series
jcommelin Oct 9, 2019
ce35397
Almost have valuation on perfection of Laurent series
jcommelin Oct 9, 2019
2ec862f
Valuation on perfection of Laurent series
jcommelin Oct 9, 2019
5a6da6c
Towards a perfectoid field
jcommelin Oct 9, 2019
5a98ff8
More proof sketches
jcommelin Oct 9, 2019
e5e5338
Remove a bunch of trivial sorrys
jcommelin Oct 9, 2019
3565dbf
Johan's limit lemma in valuation/perfection
PatrickMassot Oct 9, 2019
bf38d1a
Some fixes
jcommelin Oct 10, 2019
8580460
Help! It's a big mess
jcommelin Oct 10, 2019
10267fa
Merge branch 'master' into perf-fld
jcommelin Oct 10, 2019
fcc1315
gpow for group with zero
jcommelin Oct 10, 2019
27201ec
Fix build
jcommelin Oct 10, 2019
a7a2dc6
Start on the height of nnreal
jcommelin Oct 10, 2019
fc70864
Start on discrete valuations
jcommelin Oct 10, 2019
3b2e8e3
We almost know that nnreal has height one
jcommelin Oct 11, 2019
55f355a
Move things around a bit
jcommelin Oct 11, 2019
16e718a
Make the nondiscrete life easier
jcommelin Oct 11, 2019
466bed9
Merge branch 'master' into discrete
jcommelin Oct 11, 2019
d4a32c8
Merge branch 'master' into discrete
jcommelin Oct 11, 2019
d498134
Move some lemmas in the proper place
jcommelin Oct 11, 2019
4a96399
Add docstrings to definitons
jcommelin Oct 11, 2019
0fa1960
Merge branch 'discrete' into perf-fld
jcommelin Oct 11, 2019
23c9c39
Merge branch 'master' into discrete
jcommelin Oct 11, 2019
3d1eb1c
Merge branch 'discrete' into perf-fld
jcommelin Oct 11, 2019
497c0ec
Fix build
jcommelin Oct 11, 2019
ae30091
Cleanup nnreal.pow_enat
jcommelin Oct 11, 2019
ef6f92e
WIP
jcommelin Oct 11, 2019
b033a81
Add API for characteristic and subrings
PatrickMassot Oct 12, 2019
2dbc1b2
WIP towards surjective completion Frobenius
PatrickMassot Oct 12, 2019
ece3fa9
apparently priority 10 is preferred to 0?
kbuzzard Oct 13, 2019
57e7778
Merge branch 'perf-fld' of github.com:leanprover-community/lean-perfe…
kbuzzard Oct 13, 2019
e9c4618
proposal of definition of perfectoid field
kbuzzard Oct 13, 2019
2c62cea
removing error at end of file
kbuzzard Oct 13, 2019
7fd9021
Begin raising a valuation to a pnat power
PatrickMassot Oct 13, 2019
983fc78
Two of Patrick's sorrys done
jcommelin Oct 14, 2019
fea815a
Remove a sorry, golf the proof
jcommelin Oct 14, 2019
dfe61cf
Powers of valuations are equivalent
jcommelin Oct 14, 2019
cf4f6cb
Better names
jcommelin Oct 14, 2019
47d6372
Is this sorry even provable?
jcommelin Oct 14, 2019
31967ef
Make valuations indexed by parameter
jcommelin Oct 14, 2019
4cc5012
WIP
jcommelin Oct 14, 2019
7cb6f59
Change D(T/s) to R(T/s) in comments
jcommelin Oct 15, 2019
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
Prev Previous commit
Next Next commit
Powers of valuations are equivalent
  • Loading branch information
jcommelin committed Oct 14, 2019
commit dfe61cfc95a8586bb255faa5042a01330e3738b9
35 changes: 29 additions & 6 deletions src/examples/valuations.lean
Original file line number Diff line number Diff line change
Expand Up @@ -40,22 +40,45 @@ strict_mono.le_iff_le (linear_ordered_comm_group_with_zero.pow_strict_mono Γ₀

end

namespace valuation
variables {R : Type*} [ring R]
variables {Γ₀ : Type*} [linear_ordered_comm_group_with_zero Γ₀]
variables (v : valuation R Γ₀)

variables {Γ₀ : Type*} [linear_ordered_comm_group_with_zero Γ₀]

instance valuation.pow : has_pow (valuation R Γ₀) ℕ+ :=
⟨λ v n, { to_fun := λ r, (v r)^n.val,
instance : has_pow (valuation R Γ₀) ℕ+ :=
⟨λ v n, { to_fun := λ r, (v r)^(n : ℕ),
map_one' := by rw [v.map_one, one_pow],
map_mul' := λ x y, by rw [v.map_mul, mul_pow],
map_zero' := by rw [valuation.map_zero, ← nat.succ_pred_eq_of_pos n.2, pow_succ, zero_mul],
map_zero' := show (v 0)^n.val = 0,
by rw [valuation.map_zero, ← nat.succ_pred_eq_of_pos n.2, pow_succ, zero_mul],
map_add' := begin
intros x y,
wlog vyx : v y ≤ v x using x y,
{ have : (v y)^n.val ≤ (v x)^n.val, by apply linear_ordered_comm_group_with_zero.pow_mono ; assumption,
{ have : (v y)^(n:ℕ) ≤ (v x)^(n:ℕ),
by apply linear_ordered_comm_group_with_zero.pow_mono ; assumption,
rw max_eq_left this,
apply linear_ordered_comm_group_with_zero.pow_mono,
convert v.map_add x y,
rw max_eq_left vyx },
{ rwa [add_comm, max_comm] },
end }⟩

@[simp] protected lemma pow_one : v^(1:ℕ+) = v :=
ext $ λ r, pow_one (v r)

protected lemma pow_mul (m n : ℕ+) : v^(m*n) = (v^m)^n :=
ext $ λ r, pow_mul (v r) m n

lemma is_equiv_of_pow (v : valuation R Γ₀) (m n : ℕ+) : is_equiv (v^m) (v^n) :=
begin
intros r s,
change (v r) ^ (m:ℕ) ≤ (v s) ^ (m:ℕ) ↔ _,
rw [← linear_ordered_comm_group_with_zero.pow_le_pow, ← pow_mul, ← pow_mul,
mul_comm, pow_mul, pow_mul, linear_ordered_comm_group_with_zero.pow_le_pow],
{ exact iff.rfl }
end

lemma is_equiv_of_pow_self (v : valuation R Γ₀) (n : ℕ+) : is_equiv v (v^n) :=
by simpa using v.is_equiv_of_pow 1 n

end valuation