Metamath Proof Explorer


Theorem isidom3

Description: The predicate "is a domain", alternate expression. (Contributed by Jeff Madsen, 19-Jun-2010) (Revised by AV, 12-Jul-2026)

Ref Expression
Hypotheses isidom3.b 𝐵 = ( Base ‘ 𝑅 )
isidom3.t · = ( .r𝑅 )
isidom3.0 0 = ( 0g𝑅 )
isidom3.1 1 = ( 1r𝑅 )
Assertion isidom3 ( 𝑅 ∈ IDomn ↔ ( 𝑅 ∈ CRing ∧ 01 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) = 0 → ( 𝑎 = 0𝑏 = 0 ) ) ) )

Proof

Step Hyp Ref Expression
1 isidom3.b 𝐵 = ( Base ‘ 𝑅 )
2 isidom3.t · = ( .r𝑅 )
3 isidom3.0 0 = ( 0g𝑅 )
4 isidom3.1 1 = ( 1r𝑅 )
5 isidom2 ( 𝑅 ∈ IDomn ↔ ( 𝑅 ∈ PrmRing ∧ 𝑅 ∈ CRing ) )
6 eqid ( PrmIdeal ‘ 𝑅 ) = ( PrmIdeal ‘ 𝑅 )
7 3 6 isprmrng ( 𝑅 ∈ PrmRing ↔ ( 𝑅 ∈ Ring ∧ { 0 } ∈ ( PrmIdeal ‘ 𝑅 ) ) )
8 1 2 isprmidlc ( 𝑅 ∈ CRing → ( { 0 } ∈ ( PrmIdeal ‘ 𝑅 ) ↔ ( { 0 } ∈ ( LIdeal ‘ 𝑅 ) ∧ { 0 } ≠ 𝐵 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) ∈ { 0 } → ( 𝑎 ∈ { 0 } ∨ 𝑏 ∈ { 0 } ) ) ) ) )
9 crngring ( 𝑅 ∈ CRing → 𝑅 ∈ Ring )
10 9 biantrurd ( 𝑅 ∈ CRing → ( { 0 } ∈ ( PrmIdeal ‘ 𝑅 ) ↔ ( 𝑅 ∈ Ring ∧ { 0 } ∈ ( PrmIdeal ‘ 𝑅 ) ) ) )
11 3anass ( ( { 0 } ∈ ( LIdeal ‘ 𝑅 ) ∧ { 0 } ≠ 𝐵 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) ∈ { 0 } → ( 𝑎 ∈ { 0 } ∨ 𝑏 ∈ { 0 } ) ) ) ↔ ( { 0 } ∈ ( LIdeal ‘ 𝑅 ) ∧ ( { 0 } ≠ 𝐵 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) ∈ { 0 } → ( 𝑎 ∈ { 0 } ∨ 𝑏 ∈ { 0 } ) ) ) ) )
12 eqid ( 2Ideal ‘ 𝑅 ) = ( 2Ideal ‘ 𝑅 )
13 12 3 2idl0 ( 𝑅 ∈ Ring → { 0 } ∈ ( 2Ideal ‘ 𝑅 ) )
14 9 13 syl ( 𝑅 ∈ CRing → { 0 } ∈ ( 2Ideal ‘ 𝑅 ) )
15 14 2idllidld ( 𝑅 ∈ CRing → { 0 } ∈ ( LIdeal ‘ 𝑅 ) )
16 15 biantrurd ( 𝑅 ∈ CRing → ( ( { 0 } ≠ 𝐵 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) ∈ { 0 } → ( 𝑎 ∈ { 0 } ∨ 𝑏 ∈ { 0 } ) ) ) ↔ ( { 0 } ∈ ( LIdeal ‘ 𝑅 ) ∧ ( { 0 } ≠ 𝐵 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) ∈ { 0 } → ( 𝑎 ∈ { 0 } ∨ 𝑏 ∈ { 0 } ) ) ) ) ) )
17 1 4 ringidcl ( 𝑅 ∈ Ring → 1𝐵 )
18 eleq2 ( { 0 } = 𝐵 → ( 1 ∈ { 0 } ↔ 1𝐵 ) )
19 elsni ( 1 ∈ { 0 } → 1 = 0 )
20 19 eqcomd ( 1 ∈ { 0 } → 0 = 1 )
21 18 20 biimtrrdi ( { 0 } = 𝐵 → ( 1𝐵0 = 1 ) )
22 17 21 syl5com ( 𝑅 ∈ Ring → ( { 0 } = 𝐵0 = 1 ) )
23 1 3 4 0ring01eqbi ( 𝑅 ∈ Ring → ( 𝐵 ≈ 1o1 = 0 ) )
24 eqcom ( 1 = 00 = 1 )
25 23 24 bitrdi ( 𝑅 ∈ Ring → ( 𝐵 ≈ 1o0 = 1 ) )
26 1 3 ring0cl ( 𝑅 ∈ Ring → 0𝐵 )
27 en1eqsn ( ( 0𝐵𝐵 ≈ 1o ) → 𝐵 = { 0 } )
28 27 eqcomd ( ( 0𝐵𝐵 ≈ 1o ) → { 0 } = 𝐵 )
29 28 ex ( 0𝐵 → ( 𝐵 ≈ 1o → { 0 } = 𝐵 ) )
30 26 29 syl ( 𝑅 ∈ Ring → ( 𝐵 ≈ 1o → { 0 } = 𝐵 ) )
31 25 30 sylbird ( 𝑅 ∈ Ring → ( 0 = 1 → { 0 } = 𝐵 ) )
32 22 31 impbid ( 𝑅 ∈ Ring → ( { 0 } = 𝐵0 = 1 ) )
33 9 32 syl ( 𝑅 ∈ CRing → ( { 0 } = 𝐵0 = 1 ) )
34 33 necon3bid ( 𝑅 ∈ CRing → ( { 0 } ≠ 𝐵01 ) )
35 ovex ( 𝑎 · 𝑏 ) ∈ V
36 35 elsn ( ( 𝑎 · 𝑏 ) ∈ { 0 } ↔ ( 𝑎 · 𝑏 ) = 0 )
37 velsn ( 𝑎 ∈ { 0 } ↔ 𝑎 = 0 )
38 velsn ( 𝑏 ∈ { 0 } ↔ 𝑏 = 0 )
39 37 38 orbi12i ( ( 𝑎 ∈ { 0 } ∨ 𝑏 ∈ { 0 } ) ↔ ( 𝑎 = 0𝑏 = 0 ) )
40 36 39 imbi12i ( ( ( 𝑎 · 𝑏 ) ∈ { 0 } → ( 𝑎 ∈ { 0 } ∨ 𝑏 ∈ { 0 } ) ) ↔ ( ( 𝑎 · 𝑏 ) = 0 → ( 𝑎 = 0𝑏 = 0 ) ) )
41 40 a1i ( 𝑅 ∈ CRing → ( ( ( 𝑎 · 𝑏 ) ∈ { 0 } → ( 𝑎 ∈ { 0 } ∨ 𝑏 ∈ { 0 } ) ) ↔ ( ( 𝑎 · 𝑏 ) = 0 → ( 𝑎 = 0𝑏 = 0 ) ) ) )
42 41 2ralbidv ( 𝑅 ∈ CRing → ( ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) ∈ { 0 } → ( 𝑎 ∈ { 0 } ∨ 𝑏 ∈ { 0 } ) ) ↔ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) = 0 → ( 𝑎 = 0𝑏 = 0 ) ) ) )
43 34 42 anbi12d ( 𝑅 ∈ CRing → ( ( { 0 } ≠ 𝐵 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) ∈ { 0 } → ( 𝑎 ∈ { 0 } ∨ 𝑏 ∈ { 0 } ) ) ) ↔ ( 01 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) = 0 → ( 𝑎 = 0𝑏 = 0 ) ) ) ) )
44 16 43 bitr3d ( 𝑅 ∈ CRing → ( ( { 0 } ∈ ( LIdeal ‘ 𝑅 ) ∧ ( { 0 } ≠ 𝐵 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) ∈ { 0 } → ( 𝑎 ∈ { 0 } ∨ 𝑏 ∈ { 0 } ) ) ) ) ↔ ( 01 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) = 0 → ( 𝑎 = 0𝑏 = 0 ) ) ) ) )
45 11 44 bitrid ( 𝑅 ∈ CRing → ( ( { 0 } ∈ ( LIdeal ‘ 𝑅 ) ∧ { 0 } ≠ 𝐵 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) ∈ { 0 } → ( 𝑎 ∈ { 0 } ∨ 𝑏 ∈ { 0 } ) ) ) ↔ ( 01 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) = 0 → ( 𝑎 = 0𝑏 = 0 ) ) ) ) )
46 8 10 45 3bitr3d ( 𝑅 ∈ CRing → ( ( 𝑅 ∈ Ring ∧ { 0 } ∈ ( PrmIdeal ‘ 𝑅 ) ) ↔ ( 01 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) = 0 → ( 𝑎 = 0𝑏 = 0 ) ) ) ) )
47 7 46 bitrid ( 𝑅 ∈ CRing → ( 𝑅 ∈ PrmRing ↔ ( 01 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) = 0 → ( 𝑎 = 0𝑏 = 0 ) ) ) ) )
48 47 pm5.32i ( ( 𝑅 ∈ CRing ∧ 𝑅 ∈ PrmRing ) ↔ ( 𝑅 ∈ CRing ∧ ( 01 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) = 0 → ( 𝑎 = 0𝑏 = 0 ) ) ) ) )
49 ancom ( ( 𝑅 ∈ PrmRing ∧ 𝑅 ∈ CRing ) ↔ ( 𝑅 ∈ CRing ∧ 𝑅 ∈ PrmRing ) )
50 3anass ( ( 𝑅 ∈ CRing ∧ 01 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) = 0 → ( 𝑎 = 0𝑏 = 0 ) ) ) ↔ ( 𝑅 ∈ CRing ∧ ( 01 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) = 0 → ( 𝑎 = 0𝑏 = 0 ) ) ) ) )
51 48 49 50 3bitr4i ( ( 𝑅 ∈ PrmRing ∧ 𝑅 ∈ CRing ) ↔ ( 𝑅 ∈ CRing ∧ 01 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) = 0 → ( 𝑎 = 0𝑏 = 0 ) ) ) )
52 5 51 bitri ( 𝑅 ∈ IDomn ↔ ( 𝑅 ∈ CRing ∧ 01 ∧ ∀ 𝑎𝐵𝑏𝐵 ( ( 𝑎 · 𝑏 ) = 0 → ( 𝑎 = 0𝑏 = 0 ) ) ) )