mirror of
https://github.com/Smaug123/agdaproofs
synced 2025-10-10 14:18:41 +00:00
46 lines
1.6 KiB
Agda
46 lines
1.6 KiB
Agda
{-# OPTIONS --safe --warning=error --without-K #-}
|
||
|
||
open import LogicalFormulae
|
||
open import Groups.Groups
|
||
open import Groups.Homomorphisms.Definition
|
||
open import Groups.Definition
|
||
open import Numbers.Naturals.Definition
|
||
open import Numbers.Naturals.Order
|
||
open import Setoids.Orders
|
||
open import Setoids.Setoids
|
||
open import Functions
|
||
open import Sets.EquivalenceRelations
|
||
open import Rings.Definition
|
||
open import Rings.Homomorphisms.Definition
|
||
open import Groups.Homomorphisms.Lemmas
|
||
open import Rings.IntegralDomains.Definition
|
||
open import Rings.IntegralDomains.Examples
|
||
open import Rings.EuclideanDomains.Definition
|
||
open import Fields.Fields
|
||
open import WellFoundedInduction
|
||
|
||
open import Agda.Primitive using (Level; lzero; lsuc; _⊔_)
|
||
|
||
module Rings.EuclideanDomains.Lemmas {a b : _} {A : Set a} {S : Setoid {a} {b} A} {_+_ _*_ : A → A → A} {R : Ring S _+_ _*_} (E : EuclideanDomain R) where
|
||
|
||
open import Rings.PrincipalIdealDomains.Definition (EuclideanDomain.isIntegralDomain E)
|
||
open import Rings.Ideals.Principal.Definition R
|
||
open import Rings.Divisible.Definition R
|
||
open Setoid S
|
||
open Ring R
|
||
open Equivalence eq
|
||
|
||
euclideanDomainIsPid : {c : _} → PrincipalIdealDomain {c}
|
||
euclideanDomainIsPid {pred = pred} ideal = {!!}
|
||
-- We definitely need to be able to decide equality in order to deduce this; otherwise we can't tell the difference
|
||
-- between "everything is 0" and "something is nonzero", and the proofs are genuinely different in the two cases.
|
||
where
|
||
r : A
|
||
r = {!!}
|
||
r!=0 : (r ∼ 0R) → False
|
||
r!=0 = {!!}
|
||
predR : pred r
|
||
predR = {!!}
|
||
sr : (s : A) → r ∣ s
|
||
sr = EuclideanDomain.divisionAlg r!=0 s!=0 ?
|