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 ⊢ B = Base R
isidom3.t ⊢ · ˙ = ⋅ R
isidom3.0 ⊢ 0 ˙ = 0 R
isidom3.1 ⊢ 1 ˙ = 1 R
Assertion isidom3 ⊢ R ∈ IDomn ↔ R ∈ CRing ∧ 0 ˙ ≠ 1 ˙ ∧ ∀ a ∈ B ∀ b ∈ B a · ˙ b = 0 ˙ → a = 0 ˙ ∨ b = 0 ˙

Proof

Step Hyp Ref Expression
1 isidom3.b ⊢ B = Base R
2 isidom3.t ⊢ · ˙ = ⋅ R
3 isidom3.0 ⊢ 0 ˙ = 0 R
4 isidom3.1 ⊢ 1 ˙ = 1 R
5 isidom2 Could not format ( R e. IDomn <-> ( R e. PrmRing /\ R e. CRing ) ) : No typesetting found for |- ( R e. IDomn <-> ( R e. PrmRing /\ R e. CRing ) ) with typecode |-
6 eqid ⊢ PrmIdeal ⁡ R = PrmIdeal ⁡ R
7 3 6 isprmrng Could not format ( R e. PrmRing <-> ( R e. Ring /\ { .0. } e. ( PrmIdeal ` R ) ) ) : No typesetting found for |- ( R e. PrmRing <-> ( R e. Ring /\ { .0. } e. ( PrmIdeal ` R ) ) ) with typecode |-
8 1 2 isprmidlc ⊢ R ∈ CRing → 0 ˙ ∈ PrmIdeal ⁡ R ↔ 0 ˙ ∈ LIdeal ⁡ R ∧ 0 ˙ ≠ B ∧ ∀ a ∈ B ∀ b ∈ B a · ˙ b ∈ 0 ˙ → a ∈ 0 ˙ ∨ b ∈ 0 ˙
9 crngring ⊢ R ∈ CRing → R ∈ Ring
10 9 biantrurd ⊢ R ∈ CRing → 0 ˙ ∈ PrmIdeal ⁡ R ↔ R ∈ Ring ∧ 0 ˙ ∈ PrmIdeal ⁡ R
11 3anass ⊢ 0 ˙ ∈ LIdeal ⁡ R ∧ 0 ˙ ≠ B ∧ ∀ a ∈ B ∀ b ∈ B a · ˙ b ∈ 0 ˙ → a ∈ 0 ˙ ∨ b ∈ 0 ˙ ↔ 0 ˙ ∈ LIdeal ⁡ R ∧ 0 ˙ ≠ B ∧ ∀ a ∈ B ∀ b ∈ B a · ˙ b ∈ 0 ˙ → a ∈ 0 ˙ ∨ b ∈ 0 ˙
12 eqid ⊢ 2Ideal ⁡ R = 2Ideal ⁡ R
13 12 3 2idl0 ⊢ R ∈ Ring → 0 ˙ ∈ 2Ideal ⁡ R
14 9 13 syl ⊢ R ∈ CRing → 0 ˙ ∈ 2Ideal ⁡ R
15 14 2idllidld ⊢ R ∈ CRing → 0 ˙ ∈ LIdeal ⁡ R
16 15 biantrurd ⊢ R ∈ CRing → 0 ˙ ≠ B ∧ ∀ a ∈ B ∀ b ∈ B a · ˙ b ∈ 0 ˙ → a ∈ 0 ˙ ∨ b ∈ 0 ˙ ↔ 0 ˙ ∈ LIdeal ⁡ R ∧ 0 ˙ ≠ B ∧ ∀ a ∈ B ∀ b ∈ B a · ˙ b ∈ 0 ˙ → a ∈ 0 ˙ ∨ b ∈ 0 ˙
17 1 4 ringidcl ⊢ R ∈ Ring → 1 ˙ ∈ B
18 eleq2 ⊢ 0 ˙ = B → 1 ˙ ∈ 0 ˙ ↔ 1 ˙ ∈ B
19 elsni ⊢ 1 ˙ ∈ 0 ˙ → 1 ˙ = 0 ˙
20 19 eqcomd ⊢ 1 ˙ ∈ 0 ˙ → 0 ˙ = 1 ˙
21 18 20 biimtrrdi ⊢ 0 ˙ = B → 1 ˙ ∈ B → 0 ˙ = 1 ˙
22 17 21 syl5com ⊢ R ∈ Ring → 0 ˙ = B → 0 ˙ = 1 ˙
23 1 3 4 0ring01eqbi ⊢ R ∈ Ring → B ≈ 1 𝑜 ↔ 1 ˙ = 0 ˙
24 eqcom ⊢ 1 ˙ = 0 ˙ ↔ 0 ˙ = 1 ˙
25 23 24 bitrdi ⊢ R ∈ Ring → B ≈ 1 𝑜 ↔ 0 ˙ = 1 ˙
26 1 3 ring0cl ⊢ R ∈ Ring → 0 ˙ ∈ B
27 en1eqsn ⊢ 0 ˙ ∈ B ∧ B ≈ 1 𝑜 → B = 0 ˙
28 27 eqcomd ⊢ 0 ˙ ∈ B ∧ B ≈ 1 𝑜 → 0 ˙ = B
29 28 ex ⊢ 0 ˙ ∈ B → B ≈ 1 𝑜 → 0 ˙ = B
30 26 29 syl ⊢ R ∈ Ring → B ≈ 1 𝑜 → 0 ˙ = B
31 25 30 sylbird ⊢ R ∈ Ring → 0 ˙ = 1 ˙ → 0 ˙ = B
32 22 31 impbid ⊢ R ∈ Ring → 0 ˙ = B ↔ 0 ˙ = 1 ˙
33 9 32 syl ⊢ R ∈ CRing → 0 ˙ = B ↔ 0 ˙ = 1 ˙
34 33 necon3bid ⊢ R ∈ CRing → 0 ˙ ≠ B ↔ 0 ˙ ≠ 1 ˙
35 ovex ⊢ a · ˙ b ∈ V
36 35 elsn ⊢ a · ˙ b ∈ 0 ˙ ↔ a · ˙ b = 0 ˙
37 velsn ⊢ a ∈ 0 ˙ ↔ a = 0 ˙
38 velsn ⊢ b ∈ 0 ˙ ↔ b = 0 ˙
39 37 38 orbi12i ⊢ a ∈ 0 ˙ ∨ b ∈ 0 ˙ ↔ a = 0 ˙ ∨ b = 0 ˙
40 36 39 imbi12i ⊢ a · ˙ b ∈ 0 ˙ → a ∈ 0 ˙ ∨ b ∈ 0 ˙ ↔ a · ˙ b = 0 ˙ → a = 0 ˙ ∨ b = 0 ˙
41 40 a1i ⊢ R ∈ CRing → a · ˙ b ∈ 0 ˙ → a ∈ 0 ˙ ∨ b ∈ 0 ˙ ↔ a · ˙ b = 0 ˙ → a = 0 ˙ ∨ b = 0 ˙
42 41 2ralbidv ⊢ R ∈ CRing → ∀ a ∈ B ∀ b ∈ B a · ˙ b ∈ 0 ˙ → a ∈ 0 ˙ ∨ b ∈ 0 ˙ ↔ ∀ a ∈ B ∀ b ∈ B a · ˙ b = 0 ˙ → a = 0 ˙ ∨ b = 0 ˙
43 34 42 anbi12d ⊢ R ∈ CRing → 0 ˙ ≠ B ∧ ∀ a ∈ B ∀ b ∈ B a · ˙ b ∈ 0 ˙ → a ∈ 0 ˙ ∨ b ∈ 0 ˙ ↔ 0 ˙ ≠ 1 ˙ ∧ ∀ a ∈ B ∀ b ∈ B a · ˙ b = 0 ˙ → a = 0 ˙ ∨ b = 0 ˙
44 16 43 bitr3d ⊢ R ∈ CRing → 0 ˙ ∈ LIdeal ⁡ R ∧ 0 ˙ ≠ B ∧ ∀ a ∈ B ∀ b ∈ B a · ˙ b ∈ 0 ˙ → a ∈ 0 ˙ ∨ b ∈ 0 ˙ ↔ 0 ˙ ≠ 1 ˙ ∧ ∀ a ∈ B ∀ b ∈ B a · ˙ b = 0 ˙ → a = 0 ˙ ∨ b = 0 ˙
45 11 44 bitrid ⊢ R ∈ CRing → 0 ˙ ∈ LIdeal ⁡ R ∧ 0 ˙ ≠ B ∧ ∀ a ∈ B ∀ b ∈ B a · ˙ b ∈ 0 ˙ → a ∈ 0 ˙ ∨ b ∈ 0 ˙ ↔ 0 ˙ ≠ 1 ˙ ∧ ∀ a ∈ B ∀ b ∈ B a · ˙ b = 0 ˙ → a = 0 ˙ ∨ b = 0 ˙
46 8 10 45 3bitr3d ⊢ R ∈ CRing → R ∈ Ring ∧ 0 ˙ ∈ PrmIdeal ⁡ R ↔ 0 ˙ ≠ 1 ˙ ∧ ∀ a ∈ B ∀ b ∈ B a · ˙ b = 0 ˙ → a = 0 ˙ ∨ b = 0 ˙
47 7 46 bitrid Could not format ( R e. CRing -> ( R e. PrmRing <-> ( .0. =/= .1. /\ A. a e. B A. b e. B ( ( a .x. b ) = .0. -> ( a = .0. \/ b = .0. ) ) ) ) ) : No typesetting found for |- ( R e. CRing -> ( R e. PrmRing <-> ( .0. =/= .1. /\ A. a e. B A. b e. B ( ( a .x. b ) = .0. -> ( a = .0. \/ b = .0. ) ) ) ) ) with typecode |-
48 47 pm5.32i Could not format ( ( R e. CRing /\ R e. PrmRing ) <-> ( R e. CRing /\ ( .0. =/= .1. /\ A. a e. B A. b e. B ( ( a .x. b ) = .0. -> ( a = .0. \/ b = .0. ) ) ) ) ) : No typesetting found for |- ( ( R e. CRing /\ R e. PrmRing ) <-> ( R e. CRing /\ ( .0. =/= .1. /\ A. a e. B A. b e. B ( ( a .x. b ) = .0. -> ( a = .0. \/ b = .0. ) ) ) ) ) with typecode |-
49 ancom Could not format ( ( R e. PrmRing /\ R e. CRing ) <-> ( R e. CRing /\ R e. PrmRing ) ) : No typesetting found for |- ( ( R e. PrmRing /\ R e. CRing ) <-> ( R e. CRing /\ R e. PrmRing ) ) with typecode |-
50 3anass ⊢ R ∈ CRing ∧ 0 ˙ ≠ 1 ˙ ∧ ∀ a ∈ B ∀ b ∈ B a · ˙ b = 0 ˙ → a = 0 ˙ ∨ b = 0 ˙ ↔ R ∈ CRing ∧ 0 ˙ ≠ 1 ˙ ∧ ∀ a ∈ B ∀ b ∈ B a · ˙ b = 0 ˙ → a = 0 ˙ ∨ b = 0 ˙
51 48 49 50 3bitr4i Could not format ( ( R e. PrmRing /\ R e. CRing ) <-> ( R e. CRing /\ .0. =/= .1. /\ A. a e. B A. b e. B ( ( a .x. b ) = .0. -> ( a = .0. \/ b = .0. ) ) ) ) : No typesetting found for |- ( ( R e. PrmRing /\ R e. CRing ) <-> ( R e. CRing /\ .0. =/= .1. /\ A. a e. B A. b e. B ( ( a .x. b ) = .0. -> ( a = .0. \/ b = .0. ) ) ) ) with typecode |-
52 5 51 bitri ⊢ R ∈ IDomn ↔ R ∈ CRing ∧ 0 ˙ ≠ 1 ˙ ∧ ∀ a ∈ B ∀ b ∈ B a · ˙ b = 0 ˙ → a = 0 ˙ ∨ b = 0 ˙