Irreducible and maximal (#87)

This commit is contained in:
Patrick Stevens
2019-12-07 18:53:08 +00:00
committed by GitHub
parent e192f0e1f1
commit 99c38495ce
9 changed files with 123 additions and 19 deletions

View File

@@ -23,6 +23,8 @@ open import Agda.Primitive using (Level; lzero; lsuc; _⊔_)
module Rings.Ideals.Lemmas {a b : _} {A : Set a} {S : Setoid {a} {b} A} {_+_ _*_ : A A A} (R : Ring S _+_ _*_) where
open import Rings.Divisible.Definition R
idealPredForKernel : {c d : _} {C : Set c} {T : Setoid {c} {d} C} {_+2_ _*2_ : C C C} (R2 : Ring T _+2_ _*2_) {f : A C} (fHom : RingHom R R2 f) A Set d
idealPredForKernel {T = T} R2 {f} fHom a = Setoid.__ T (f a) (Ring.0R R2)
@@ -65,3 +67,6 @@ Subgroup.closedUnderPlus (Ideal.isSubgroup (inverseImageIsIdeal fHom i)) {g} {h}
Subgroup.containsIdentity (Ideal.isSubgroup (inverseImageIsIdeal fHom i)) = 0G , (Ideal.containsIdentity i ,, imageOfIdentityIsIdentity (RingHom.groupHom fHom))
Subgroup.closedUnderInverse (Ideal.isSubgroup (inverseImageIsIdeal fHom i)) (a , (prA ,, fg=a)) = inverse a , (Ideal.closedUnderInverse i prA ,, transitive (homRespectsInverse (RingHom.groupHom fHom)) (inverseWellDefined additiveGroup fg=a))
Ideal.accumulatesTimes (inverseImageIsIdeal {_*2_ = _*2_} {f = f} fHom i) {g} {h} (a , (prA ,, fg=a)) = (a * f h) , (Ideal.accumulatesTimes i prA ,, transitive (RingHom.ringHom fHom) (*WellDefined fg=a reflexive))
memberDividesImpliesMember : {a b : A} {c : _} {pred : A Set c} (i : Ideal R pred) pred a a b pred b
memberDividesImpliesMember {a} {b} i pA (s , as=b) = Ideal.isSubset i as=b (Ideal.accumulatesTimes i pA)

View File

@@ -18,7 +18,11 @@ open import Agda.Primitive using (Level; lzero; lsuc; _⊔_)
module Rings.Ideals.Principal.Definition {a b : _} {A : Set a} {S : Setoid {a} {b} A} {_+_ _*_ : A A A} (R : Ring S _+_ _*_) where
open import Rings.Ideals.Definition R
open import Rings.Divisible.Definition R
open Setoid S
PrincipalIdeal : {c : _} {pred : A Set c} (ideal : Ideal pred) Set (a b c)
PrincipalIdeal {pred = pred} ideal = Sg A (λ a {x : A} (pred x) Sg A (λ c (a * c) x))
record PrincipalIdeal {c : _} {pred : A Set c} (ideal : Ideal pred) : Set (a b c) where
field
generator : A
genIsInIdeal : pred generator
genGenerates : {x : A} pred x generator x