Metamath Proof Explorer


Theorem isdomn4

Description: A ring is a domain iff it is nonzero and the cancellation law for multiplication holds. (Contributed by SN, 15-Sep-2024)

Ref Expression
Hypotheses isdomn4.b B = Base R
isdomn4.0 0 ˙ = 0 R
isdomn4.x · ˙ = R
Assertion isdomn4 R Domn R NzRing a B 0 ˙ b B c B a · ˙ b = a · ˙ c b = c

Proof

Step Hyp Ref Expression
1 isdomn4.b B = Base R
2 isdomn4.0 0 ˙ = 0 R
3 isdomn4.x · ˙ = R
4 domnnzr R Domn R NzRing
5 eqid - R = - R
6 domnring R Domn R Ring
7 6 adantr R Domn a B 0 ˙ b B c B R Ring
8 eldifi a B 0 ˙ a B
9 8 3ad2ant1 a B 0 ˙ b B c B a B
10 9 adantl R Domn a B 0 ˙ b B c B a B
11 simpr2 R Domn a B 0 ˙ b B c B b B
12 simpr3 R Domn a B 0 ˙ b B c B c B
13 1 3 5 7 10 11 12 ringsubdi R Domn a B 0 ˙ b B c B a · ˙ b - R c = a · ˙ b - R a · ˙ c
14 13 eqeq1d R Domn a B 0 ˙ b B c B a · ˙ b - R c = 0 ˙ a · ˙ b - R a · ˙ c = 0 ˙
15 simpll R Domn a B 0 ˙ b B c B b - R c 0 ˙ R Domn
16 10 adantr R Domn a B 0 ˙ b B c B b - R c 0 ˙ a B
17 eldifsni a B 0 ˙ a 0 ˙
18 17 3ad2ant1 a B 0 ˙ b B c B a 0 ˙
19 18 ad2antlr R Domn a B 0 ˙ b B c B b - R c 0 ˙ a 0 ˙
20 6 ringgrpd R Domn R Grp
21 1 5 grpsubcl R Grp b B c B b - R c B
22 20 21 syl3an1 R Domn b B c B b - R c B
23 22 3adant3r1 R Domn a B 0 ˙ b B c B b - R c B
24 23 adantr R Domn a B 0 ˙ b B c B b - R c 0 ˙ b - R c B
25 simpr R Domn a B 0 ˙ b B c B b - R c 0 ˙ b - R c 0 ˙
26 1 3 2 domnmuln0 R Domn a B a 0 ˙ b - R c B b - R c 0 ˙ a · ˙ b - R c 0 ˙
27 15 16 19 24 25 26 syl122anc R Domn a B 0 ˙ b B c B b - R c 0 ˙ a · ˙ b - R c 0 ˙
28 27 ex R Domn a B 0 ˙ b B c B b - R c 0 ˙ a · ˙ b - R c 0 ˙
29 28 necon4d R Domn a B 0 ˙ b B c B a · ˙ b - R c = 0 ˙ b - R c = 0 ˙
30 14 29 sylbird R Domn a B 0 ˙ b B c B a · ˙ b - R a · ˙ c = 0 ˙ b - R c = 0 ˙
31 20 adantr R Domn a B 0 ˙ b B c B R Grp
32 id b B b B
33 1 3 ringcl R Ring a B b B a · ˙ b B
34 6 8 32 33 syl3an R Domn a B 0 ˙ b B a · ˙ b B
35 34 3adant3r3 R Domn a B 0 ˙ b B c B a · ˙ b B
36 id c B c B
37 1 3 ringcl R Ring a B c B a · ˙ c B
38 6 8 36 37 syl3an R Domn a B 0 ˙ c B a · ˙ c B
39 38 3adant3r2 R Domn a B 0 ˙ b B c B a · ˙ c B
40 1 2 5 grpsubeq0 R Grp a · ˙ b B a · ˙ c B a · ˙ b - R a · ˙ c = 0 ˙ a · ˙ b = a · ˙ c
41 31 35 39 40 syl3anc R Domn a B 0 ˙ b B c B a · ˙ b - R a · ˙ c = 0 ˙ a · ˙ b = a · ˙ c
42 1 2 5 grpsubeq0 R Grp b B c B b - R c = 0 ˙ b = c
43 31 11 12 42 syl3anc R Domn a B 0 ˙ b B c B b - R c = 0 ˙ b = c
44 30 41 43 3imtr3d R Domn a B 0 ˙ b B c B a · ˙ b = a · ˙ c b = c
45 44 ralrimivvva R Domn a B 0 ˙ b B c B a · ˙ b = a · ˙ c b = c
46 4 45 jca R Domn R NzRing a B 0 ˙ b B c B a · ˙ b = a · ˙ c b = c
47 nzrring R NzRing R Ring
48 47 ringgrpd R NzRing R Grp
49 1 2 grpidcl R Grp 0 ˙ B
50 48 49 syl R NzRing 0 ˙ B
51 50 adantr R NzRing a B 0 ˙ b B 0 ˙ B
52 oveq2 c = 0 ˙ a · ˙ c = a · ˙ 0 ˙
53 52 eqeq2d c = 0 ˙ a · ˙ b = a · ˙ c a · ˙ b = a · ˙ 0 ˙
54 eqeq2 c = 0 ˙ b = c b = 0 ˙
55 53 54 imbi12d c = 0 ˙ a · ˙ b = a · ˙ c b = c a · ˙ b = a · ˙ 0 ˙ b = 0 ˙
56 55 rspcv 0 ˙ B c B a · ˙ b = a · ˙ c b = c a · ˙ b = a · ˙ 0 ˙ b = 0 ˙
57 51 56 syl R NzRing a B 0 ˙ b B c B a · ˙ b = a · ˙ c b = c a · ˙ b = a · ˙ 0 ˙ b = 0 ˙
58 1 3 2 ringrz R Ring a B a · ˙ 0 ˙ = 0 ˙
59 47 8 58 syl2an R NzRing a B 0 ˙ a · ˙ 0 ˙ = 0 ˙
60 59 adantrr R NzRing a B 0 ˙ b B a · ˙ 0 ˙ = 0 ˙
61 60 eqeq2d R NzRing a B 0 ˙ b B a · ˙ b = a · ˙ 0 ˙ a · ˙ b = 0 ˙
62 61 imbi1d R NzRing a B 0 ˙ b B a · ˙ b = a · ˙ 0 ˙ b = 0 ˙ a · ˙ b = 0 ˙ b = 0 ˙
63 57 62 sylibd R NzRing a B 0 ˙ b B c B a · ˙ b = a · ˙ c b = c a · ˙ b = 0 ˙ b = 0 ˙
64 63 ralimdvva R NzRing a B 0 ˙ b B c B a · ˙ b = a · ˙ c b = c a B 0 ˙ b B a · ˙ b = 0 ˙ b = 0 ˙
65 isdomn5 a B b B a · ˙ b = 0 ˙ a = 0 ˙ b = 0 ˙ a B 0 ˙ b B a · ˙ b = 0 ˙ b = 0 ˙
66 64 65 syl6ibr R NzRing a B 0 ˙ b B c B a · ˙ b = a · ˙ c b = c a B b B a · ˙ b = 0 ˙ a = 0 ˙ b = 0 ˙
67 66 imdistani R NzRing a B 0 ˙ b B c B a · ˙ b = a · ˙ c b = c R NzRing a B b B a · ˙ b = 0 ˙ a = 0 ˙ b = 0 ˙
68 1 3 2 isdomn R Domn R NzRing a B b B a · ˙ b = 0 ˙ a = 0 ˙ b = 0 ˙
69 67 68 sylibr R NzRing a B 0 ˙ b B c B a · ˙ b = a · ˙ c b = c R Domn
70 46 69 impbii R Domn R NzRing a B 0 ˙ b B c B a · ˙ b = a · ˙ c b = c