Skip to content
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

feat(ring_theory/power_series): order #1292

Merged
merged 65 commits into from
Sep 30, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
12acd3c
First start on power_series
jcommelin Jun 19, 2019
8b7eb31
Innocent changes
jcommelin Jun 19, 2019
146405a
Almost a comm_semiring
jcommelin Jun 20, 2019
0f01f4a
Defined hom from mv_polynomial to mv_power_series; sorrys remain
jcommelin Jun 21, 2019
eaa538a
Attempt that seem to go nowhere
jcommelin Jul 6, 2019
2bc7b64
Working on coeff_mul for polynomials
jcommelin Jul 6, 2019
d26b939
Small progress
jcommelin Jul 8, 2019
bfde6d7
Finish mv_polynomial.coeff_mul
jcommelin Jul 9, 2019
907584d
Cleaner proof of mv_polynomial.coeff_mul
jcommelin Jul 9, 2019
be0b909
Fix build
jcommelin Jul 9, 2019
d4b3672
WIP
jcommelin Jul 10, 2019
0afb898
Finish proof of mul_assoc
jcommelin Jul 10, 2019
9f3160a
WIP
jcommelin Jul 10, 2019
99dd853
Merge branch 'lean-3.4.2' into power-series
jcommelin Jul 10, 2019
4ee9f0c
Golfing coeff_mul
jcommelin Jul 11, 2019
dac1470
WIP
jcommelin Jul 11, 2019
81195b1
Crazy wf is crazy
jcommelin Jul 12, 2019
faf92d8
mv_power_series over local ring is local
jcommelin Jul 12, 2019
7a18a28
WIP
jcommelin Jul 15, 2019
3bba2bf
Add empty line
jcommelin Jul 17, 2019
10169aa
wip
jcommelin Jul 17, 2019
f30a689
wip
jcommelin Jul 18, 2019
aeae8ae
WIP
jcommelin Jul 19, 2019
a1c7cb5
WIP
jcommelin Jul 19, 2019
be25bd8
WIP
jcommelin Jul 19, 2019
a3d7690
Add header comments
jcommelin Jul 19, 2019
70744fb
WIP
jcommelin Jul 20, 2019
332840d
WIP
jcommelin Jul 20, 2019
095a688
Merge branch 'lean-3.4.2' into power-series
jcommelin Jul 20, 2019
21b465b
Fix finsupp build
jcommelin Jul 20, 2019
7b8ef4c
Fix build, hopefully
jcommelin Jul 20, 2019
355e72f
Fix build: ideals
jcommelin Jul 20, 2019
3ad952e
More docs
jcommelin Jul 20, 2019
2ed1f92
Update src/data/power_series.lean
jcommelin Jul 20, 2019
d19b653
Fix build -- bump instance search depth
jcommelin Jul 20, 2019
ed960c0
Merge branch 'power-series' of github.com:leanprover-community/mathli…
jcommelin Jul 20, 2019
534ddb8
Make changes according to some of the review comments
jcommelin Jul 20, 2019
340a4d2
Use 'formal' in the names
jcommelin Jul 22, 2019
006deba
Use 'protected' in more places, remove '@simp's
jcommelin Jul 22, 2019
e847904
Make 'inv_eq_zero' an iff
jcommelin Jul 22, 2019
9a58c5f
Generalize to non-commutative scalars
jcommelin Jul 22, 2019
0641d71
Order of a power series
jcommelin Jul 30, 2019
d5fefc8
Start on formal Laurent series
jcommelin Jul 30, 2019
0c1b7c4
WIP
jcommelin Jul 30, 2019
9f785d2
Merge branch 'lean-3.4.2' into power-series-order
jcommelin Jul 30, 2019
d3b1b64
Remove file. It's for another PR.
jcommelin Jul 30, 2019
f347ce6
Add stuff about order
jcommelin Jul 30, 2019
57c2978
Remove old file
jcommelin Jul 30, 2019
81c53c7
Basics on order of power series
jcommelin Jul 31, 2019
604168d
Lots of stuff
jcommelin Aug 2, 2019
5105f59
Move stuff on kernels
jcommelin Aug 2, 2019
42c1007
Move stuff on ker to the right place
jcommelin Aug 5, 2019
22c2a6a
Fix build
jcommelin Aug 5, 2019
bbc22fc
Merge branch 'lean-3.4.2' into power-series-order
jcommelin Aug 26, 2019
39d03cd
Add elim_cast attributes, update documentation
jcommelin Aug 26, 2019
08bc5ee
Merge branch 'lean-3.4.2' into power-series-order
jcommelin Sep 20, 2019
d6b001d
Bundle homs
jcommelin Sep 23, 2019
cbb9086
Merge branch 'master' into power-series-order
jcommelin Sep 24, 2019
d5c27a4
Merge branch 'lean-3.4.2' into power-series-order
jcommelin Sep 25, 2019
24f33c4
Fix build
jcommelin Sep 25, 2019
3d3af2e
Merge branch 'power-series-order' of github.com:leanprover-community/…
jcommelin Sep 25, 2019
e109ba9
Merge branch 'master' into power-series-order
ChrisHughes24 Sep 26, 2019
fe7710a
Remove duplicate trunc_C
jcommelin Sep 27, 2019
edd8d64
Fix build
jcommelin Sep 30, 2019
76d5d3e
Merge branch 'master' into power-series-order
mergify[bot] Sep 30, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
22 changes: 20 additions & 2 deletions src/ring_theory/ideal_operations.lean
Expand Up @@ -555,11 +555,17 @@ end ideal

namespace is_ring_hom

variables {R : Type u} {S : Type v} [comm_ring R] [comm_ring S]
variables (f : R → S) [is_ring_hom f]
variables {R : Type u} {S : Type v} (f : R → S) [comm_ring R]

section comm_ring
variables [comm_ring S] [is_ring_hom f]

def ker : ideal R := ideal.comap f ⊥

/-- An element is in the kernel if and only if it maps to zero.-/
lemma mem_ker {r} : r ∈ ker f ↔ f r = 0 :=
by rw [ker, ideal.mem_comap, submodule.mem_bot]

lemma ker_eq : ((ker f) : set R) = is_add_group_hom.ker f := rfl

lemma inj_iff_ker_eq_bot : function.injective f ↔ ker f = ⊥ :=
Expand All @@ -571,6 +577,18 @@ by rw [←submodule.ext'_iff, ker_eq]; exact is_add_group_hom.trivial_ker_iff_eq
lemma injective_iff : function.injective f ↔ ∀ x, f x = 0 → x = 0 :=
is_add_group_hom.injective_iff f

end comm_ring

/-- If the target is not the zero ring, then one is not in the kernel.-/
lemma not_one_mem_ker [nonzero_comm_ring S] [is_ring_hom f] : (1:R) ∉ ker f :=
by { rw [mem_ker, is_ring_hom.map_one f], exact one_ne_zero }

/-- The kernel of a homomorphism to an integral domain is a prime ideal.-/
lemma ker_is_prime [integral_domain S] [is_ring_hom f] :
(ker f).is_prime :=
⟨by { rw [ne.def, ideal.eq_top_iff_one], exact not_one_mem_ker f },
λ x y, by simpa only [mem_ker, is_ring_hom.map_mul f] using eq_zero_or_eq_zero_of_mul_eq_zero⟩

end is_ring_hom

namespace submodule
Expand Down