Users' Mathboxes Mathbox for Thierry Arnoux < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  pidufd Structured version   Visualization version   GIF version

Theorem pidufd 33358
Description: Every principal ideal domain is a unique factorization domain. (Contributed by Thierry Arnoux, 3-Jun-2025.)
Hypothesis
Ref Expression
pidufd.1 (𝜑𝑅 ∈ PID)
Assertion
Ref Expression
pidufd (𝜑𝑅 ∈ UFD)

Proof of Theorem pidufd
Dummy variables 𝑖 𝑥 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 simpr 483 . . 3 ((𝜑𝑅 ∈ NzRing) → 𝑅 ∈ NzRing)
2 pidufd.1 . . . . . 6 (𝜑𝑅 ∈ PID)
3 df-pid 21250 . . . . . 6 PID = (IDomn ∩ LPIR)
42, 3eleqtrdi 2835 . . . . 5 (𝜑𝑅 ∈ (IDomn ∩ LPIR))
54elin1d 4196 . . . 4 (𝜑𝑅 ∈ IDomn)
65adantr 479 . . 3 ((𝜑𝑅 ∈ NzRing) → 𝑅 ∈ IDomn)
75idomringd 21274 . . . . . . . . . . 11 (𝜑𝑅 ∈ Ring)
87ad2antrr 724 . . . . . . . . . 10 (((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) → 𝑅 ∈ Ring)
98ad2antrr 724 . . . . . . . . 9 (((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) → 𝑅 ∈ Ring)
10 simplr 767 . . . . . . . . 9 (((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) → 𝑥 ∈ (Base‘𝑅))
11 eqid 2725 . . . . . . . . . 10 (Base‘𝑅) = (Base‘𝑅)
12 eqid 2725 . . . . . . . . . 10 (RSpan‘𝑅) = (RSpan‘𝑅)
1311, 12rspsnid 33183 . . . . . . . . 9 ((𝑅 ∈ Ring ∧ 𝑥 ∈ (Base‘𝑅)) → 𝑥 ∈ ((RSpan‘𝑅)‘{𝑥}))
149, 10, 13syl2anc 582 . . . . . . . 8 (((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) → 𝑥 ∈ ((RSpan‘𝑅)‘{𝑥}))
15 simpr 483 . . . . . . . 8 (((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) → 𝑖 = ((RSpan‘𝑅)‘{𝑥}))
1614, 15eleqtrrd 2828 . . . . . . 7 (((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) → 𝑥𝑖)
17 simpr 483 . . . . . . . . . . 11 (((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) → 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}}))
1817eldifad 3956 . . . . . . . . . 10 (((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) → 𝑖 ∈ (PrmIdeal‘𝑅))
1918ad2antrr 724 . . . . . . . . 9 (((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) → 𝑖 ∈ (PrmIdeal‘𝑅))
2015, 19eqeltrrd 2826 . . . . . . . 8 (((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) → ((RSpan‘𝑅)‘{𝑥}) ∈ (PrmIdeal‘𝑅))
21 eqid 2725 . . . . . . . . 9 (0g𝑅) = (0g𝑅)
22 eqid 2725 . . . . . . . . 9 (RPrime‘𝑅) = (RPrime‘𝑅)
236ad5ant12 754 . . . . . . . . 9 (((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) → 𝑅 ∈ IDomn)
24 simplr 767 . . . . . . . . . . . 12 ((((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) ∧ 𝑥 = (0g𝑅)) → 𝑖 = ((RSpan‘𝑅)‘{𝑥}))
25 simpr 483 . . . . . . . . . . . . . 14 ((((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) ∧ 𝑥 = (0g𝑅)) → 𝑥 = (0g𝑅))
2625sneqd 4642 . . . . . . . . . . . . 13 ((((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) ∧ 𝑥 = (0g𝑅)) → {𝑥} = {(0g𝑅)})
2726fveq2d 6900 . . . . . . . . . . . 12 ((((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) ∧ 𝑥 = (0g𝑅)) → ((RSpan‘𝑅)‘{𝑥}) = ((RSpan‘𝑅)‘{(0g𝑅)}))
2812, 21rsp0 21146 . . . . . . . . . . . . . 14 (𝑅 ∈ Ring → ((RSpan‘𝑅)‘{(0g𝑅)}) = {(0g𝑅)})
297, 28syl 17 . . . . . . . . . . . . 13 (𝜑 → ((RSpan‘𝑅)‘{(0g𝑅)}) = {(0g𝑅)})
3029ad5antr 732 . . . . . . . . . . . 12 ((((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) ∧ 𝑥 = (0g𝑅)) → ((RSpan‘𝑅)‘{(0g𝑅)}) = {(0g𝑅)})
3124, 27, 303eqtrd 2769 . . . . . . . . . . 11 ((((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) ∧ 𝑥 = (0g𝑅)) → 𝑖 = {(0g𝑅)})
32 eldifsni 4795 . . . . . . . . . . . . 13 (𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}}) → 𝑖 ≠ {(0g𝑅)})
3332ad4antlr 731 . . . . . . . . . . . 12 ((((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) ∧ 𝑥 = (0g𝑅)) → 𝑖 ≠ {(0g𝑅)})
3433neneqd 2934 . . . . . . . . . . 11 ((((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) ∧ 𝑥 = (0g𝑅)) → ¬ 𝑖 = {(0g𝑅)})
3531, 34pm2.65da 815 . . . . . . . . . 10 (((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) → ¬ 𝑥 = (0g𝑅))
3635neqned 2936 . . . . . . . . 9 (((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) → 𝑥 ≠ (0g𝑅))
3721, 11, 22, 12, 23, 10, 36rsprprmprmidlb 33335 . . . . . . . 8 (((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) → (𝑥 ∈ (RPrime‘𝑅) ↔ ((RSpan‘𝑅)‘{𝑥}) ∈ (PrmIdeal‘𝑅)))
3820, 37mpbird 256 . . . . . . 7 (((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) → 𝑥 ∈ (RPrime‘𝑅))
3916, 38elind 4192 . . . . . 6 (((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) → 𝑥 ∈ (𝑖 ∩ (RPrime‘𝑅)))
4039ne0d 4335 . . . . 5 (((((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) ∧ 𝑥 ∈ (Base‘𝑅)) ∧ 𝑖 = ((RSpan‘𝑅)‘{𝑥})) → (𝑖 ∩ (RPrime‘𝑅)) ≠ ∅)
41 eqid 2725 . . . . . 6 (LIdeal‘𝑅) = (LIdeal‘𝑅)
424elin2d 4197 . . . . . . 7 (𝜑𝑅 ∈ LPIR)
4342ad2antrr 724 . . . . . 6 (((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) → 𝑅 ∈ LPIR)
44 prmidlidl 33256 . . . . . . 7 ((𝑅 ∈ Ring ∧ 𝑖 ∈ (PrmIdeal‘𝑅)) → 𝑖 ∈ (LIdeal‘𝑅))
458, 18, 44syl2anc 582 . . . . . 6 (((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) → 𝑖 ∈ (LIdeal‘𝑅))
4611, 41, 12, 43, 45lpirlidllpi 33186 . . . . 5 (((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) → ∃𝑥 ∈ (Base‘𝑅)𝑖 = ((RSpan‘𝑅)‘{𝑥}))
4740, 46r19.29a 3151 . . . 4 (((𝜑𝑅 ∈ NzRing) ∧ 𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})) → (𝑖 ∩ (RPrime‘𝑅)) ≠ ∅)
4847ralrimiva 3135 . . 3 ((𝜑𝑅 ∈ NzRing) → ∀𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})(𝑖 ∩ (RPrime‘𝑅)) ≠ ∅)
49 eqid 2725 . . . . 5 (PrmIdeal‘𝑅) = (PrmIdeal‘𝑅)
5049, 22, 21isufd2 33353 . . . 4 (𝑅 ∈ NzRing → (𝑅 ∈ UFD ↔ (𝑅 ∈ IDomn ∧ ∀𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})(𝑖 ∩ (RPrime‘𝑅)) ≠ ∅)))
5150biimpar 476 . . 3 ((𝑅 ∈ NzRing ∧ (𝑅 ∈ IDomn ∧ ∀𝑖 ∈ ((PrmIdeal‘𝑅) ∖ {{(0g𝑅)}})(𝑖 ∩ (RPrime‘𝑅)) ≠ ∅)) → 𝑅 ∈ UFD)
521, 6, 48, 51syl12anc 835 . 2 ((𝜑𝑅 ∈ NzRing) → 𝑅 ∈ UFD)
537adantr 479 . . 3 ((𝜑 ∧ ¬ 𝑅 ∈ NzRing) → 𝑅 ∈ Ring)
54 0ringnnzr 20474 . . . . 5 (𝑅 ∈ Ring → ((♯‘(Base‘𝑅)) = 1 ↔ ¬ 𝑅 ∈ NzRing))
5554biimpar 476 . . . 4 ((𝑅 ∈ Ring ∧ ¬ 𝑅 ∈ NzRing) → (♯‘(Base‘𝑅)) = 1)
567, 55sylan 578 . . 3 ((𝜑 ∧ ¬ 𝑅 ∈ NzRing) → (♯‘(Base‘𝑅)) = 1)
5711, 53, 560ringufd 33357 . 2 ((𝜑 ∧ ¬ 𝑅 ∈ NzRing) → 𝑅 ∈ UFD)
5852, 57pm2.61dan 811 1 (𝜑𝑅 ∈ UFD)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wa 394   = wceq 1533  wcel 2098  wne 2929  wral 3050  cdif 3941  cin 3943  c0 4322  {csn 4630  cfv 6549  1c1 11141  chash 14325  Basecbs 17183  0gc0g 17424  Ringcrg 20185  RPrimecrpm 20383  NzRingcnzr 20463  LIdealclidl 21114  RSpancrsp 21115  LPIRclpir 21228  IDomncidom 21245  PIDcpid 21246  PrmIdealcprmidl 33247  UFDcufd 33350
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1789  ax-4 1803  ax-5 1905  ax-6 1963  ax-7 2003  ax-8 2100  ax-9 2108  ax-10 2129  ax-11 2146  ax-12 2166  ax-ext 2696  ax-rep 5286  ax-sep 5300  ax-nul 5307  ax-pow 5365  ax-pr 5429  ax-un 7741  ax-cnex 11196  ax-resscn 11197  ax-1cn 11198  ax-icn 11199  ax-addcl 11200  ax-addrcl 11201  ax-mulcl 11202  ax-mulrcl 11203  ax-mulcom 11204  ax-addass 11205  ax-mulass 11206  ax-distr 11207  ax-i2m1 11208  ax-1ne0 11209  ax-1rid 11210  ax-rnegex 11211  ax-rrecex 11212  ax-cnre 11213  ax-pre-lttri 11214  ax-pre-lttrn 11215  ax-pre-ltadd 11216  ax-pre-mulgt0 11217
This theorem depends on definitions:  df-bi 206  df-an 395  df-or 846  df-3or 1085  df-3an 1086  df-tru 1536  df-fal 1546  df-ex 1774  df-nf 1778  df-sb 2060  df-mo 2528  df-eu 2557  df-clab 2703  df-cleq 2717  df-clel 2802  df-nfc 2877  df-ne 2930  df-nel 3036  df-ral 3051  df-rex 3060  df-rmo 3363  df-reu 3364  df-rab 3419  df-v 3463  df-sbc 3774  df-csb 3890  df-dif 3947  df-un 3949  df-in 3951  df-ss 3961  df-pss 3964  df-nul 4323  df-if 4531  df-pw 4606  df-sn 4631  df-pr 4633  df-op 4637  df-uni 4910  df-int 4951  df-iun 4999  df-br 5150  df-opab 5212  df-mpt 5233  df-tr 5267  df-id 5576  df-eprel 5582  df-po 5590  df-so 5591  df-fr 5633  df-we 5635  df-xp 5684  df-rel 5685  df-cnv 5686  df-co 5687  df-dm 5688  df-rn 5689  df-res 5690  df-ima 5691  df-pred 6307  df-ord 6374  df-on 6375  df-lim 6376  df-suc 6377  df-iota 6501  df-fun 6551  df-fn 6552  df-f 6553  df-f1 6554  df-fo 6555  df-f1o 6556  df-fv 6557  df-riota 7375  df-ov 7422  df-oprab 7423  df-mpo 7424  df-om 7872  df-1st 7994  df-2nd 7995  df-tpos 8232  df-frecs 8287  df-wrecs 8318  df-recs 8392  df-rdg 8431  df-1o 8487  df-oadd 8491  df-er 8725  df-map 8847  df-en 8965  df-dom 8966  df-sdom 8967  df-fin 8968  df-dju 9926  df-card 9964  df-pnf 11282  df-mnf 11283  df-xr 11284  df-ltxr 11285  df-le 11286  df-sub 11478  df-neg 11479  df-nn 12246  df-2 12308  df-3 12309  df-4 12310  df-5 12311  df-6 12312  df-7 12313  df-8 12314  df-n0 12506  df-xnn0 12578  df-z 12592  df-uz 12856  df-ico 13365  df-fz 13520  df-hash 14326  df-sets 17136  df-slot 17154  df-ndx 17166  df-base 17184  df-ress 17213  df-plusg 17249  df-mulr 17250  df-sca 17252  df-vsca 17253  df-ip 17254  df-0g 17426  df-mgm 18603  df-sgrp 18682  df-mnd 18698  df-grp 18901  df-minusg 18902  df-sbg 18903  df-subg 19086  df-cmn 19749  df-abl 19750  df-mgp 20087  df-rng 20105  df-ur 20134  df-ring 20187  df-cring 20188  df-oppr 20285  df-dvdsr 20308  df-unit 20309  df-invr 20339  df-rprm 20384  df-nzr 20464  df-subrg 20520  df-abv 20709  df-lmod 20757  df-lss 20828  df-lsp 20868  df-sra 21070  df-rgmod 21071  df-lidl 21116  df-rsp 21117  df-lpidl 21229  df-lpir 21230  df-domn 21248  df-idom 21249  df-pid 21250  df-prmidl 33248  df-ufd 33351
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator