Metamath Proof Explorer


Theorem cznrng

Description: The ring constructed from a Z/nZ structure by replacing the (multiplicative) ring operation by a constant operation is a non-unital ring. (Contributed by AV, 17-Feb-2020)

Ref Expression
Hypotheses cznrng.y Y = /N
cznrng.b B = Base Y
cznrng.x X = Y sSet ndx x B , y B C
cznrng.0 0 ˙ = 0 Y
Assertion cznrng N C = 0 ˙ X Rng

Proof

Step Hyp Ref Expression
1 cznrng.y Y = /N
2 cznrng.b B = Base Y
3 cznrng.x X = Y sSet ndx x B , y B C
4 cznrng.0 0 ˙ = 0 Y
5 nnnn0 N N 0
6 1 zncrng N 0 Y CRing
7 5 6 syl N Y CRing
8 crngring Y CRing Y Ring
9 2 4 ring0cl Y Ring 0 ˙ B
10 eleq1a 0 ˙ B C = 0 ˙ C B
11 9 10 syl Y Ring C = 0 ˙ C B
12 8 11 syl Y CRing C = 0 ˙ C B
13 7 12 syl N C = 0 ˙ C B
14 13 imp N C = 0 ˙ C B
15 1 2 3 cznabel N C B X Abel
16 15 adantlr N C = 0 ˙ C B X Abel
17 eqid mulGrp X = mulGrp X
18 1 2 3 cznrnglem B = Base X
19 17 18 mgpbas B = Base mulGrp X
20 3 fveq2i mulGrp X = mulGrp Y sSet ndx x B , y B C
21 1 fvexi Y V
22 2 fvexi B V
23 22 22 mpoex x B , y B C V
24 mulrid 𝑟 = Slot ndx
25 24 setsid Y V x B , y B C V x B , y B C = Y sSet ndx x B , y B C
26 21 23 25 mp2an x B , y B C = Y sSet ndx x B , y B C
27 20 26 mgpplusg x B , y B C = + mulGrp X
28 27 eqcomi + mulGrp X = x B , y B C
29 ne0i C B B
30 29 adantl N C = 0 ˙ C B B
31 simpr N C = 0 ˙ C B C B
32 19 28 30 31 copissgrp Could not format ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) -> ( mulGrp ` X ) e. Smgrp ) : No typesetting found for |- ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) -> ( mulGrp ` X ) e. Smgrp ) with typecode |-
33 oveq1 C = 0 ˙ C + Y C = 0 ˙ + Y C
34 33 ad3antlr N C = 0 ˙ C B a B b B c B C + Y C = 0 ˙ + Y C
35 7 8 syl N Y Ring
36 ringmnd Y Ring Y Mnd
37 35 36 syl N Y Mnd
38 37 adantr N C = 0 ˙ Y Mnd
39 38 anim1i N C = 0 ˙ C B Y Mnd C B
40 39 adantr N C = 0 ˙ C B a B b B c B Y Mnd C B
41 eqid + Y = + Y
42 2 41 4 mndlid Y Mnd C B 0 ˙ + Y C = C
43 40 42 syl N C = 0 ˙ C B a B b B c B 0 ˙ + Y C = C
44 34 43 eqtrd N C = 0 ˙ C B a B b B c B C + Y C = C
45 eqidd N C = 0 ˙ C B a B b B c B x B , y B C = x B , y B C
46 eqidd N C = 0 ˙ C B a B b B c B x = a y = b C = C
47 simpr1 N C = 0 ˙ C B a B b B c B a B
48 simpr2 N C = 0 ˙ C B a B b B c B b B
49 31 adantr N C = 0 ˙ C B a B b B c B C B
50 45 46 47 48 49 ovmpod N C = 0 ˙ C B a B b B c B a x B , y B C b = C
51 eqidd N C = 0 ˙ C B a B b B c B x = a y = c C = C
52 simpr3 N C = 0 ˙ C B a B b B c B c B
53 45 51 47 52 49 ovmpod N C = 0 ˙ C B a B b B c B a x B , y B C c = C
54 50 53 oveq12d N C = 0 ˙ C B a B b B c B a x B , y B C b + Y a x B , y B C c = C + Y C
55 eqidd N C = 0 ˙ C B a B b B c B x = a y = b + Y c C = C
56 35 ad3antrrr N C = 0 ˙ C B a B b B c B Y Ring
57 2 41 ringacl Y Ring b B c B b + Y c B
58 56 48 52 57 syl3anc N C = 0 ˙ C B a B b B c B b + Y c B
59 45 55 47 58 49 ovmpod N C = 0 ˙ C B a B b B c B a x B , y B C b + Y c = C
60 44 54 59 3eqtr4rd N C = 0 ˙ C B a B b B c B a x B , y B C b + Y c = a x B , y B C b + Y a x B , y B C c
61 eqidd N C = 0 ˙ C B a B b B c B x = b y = c C = C
62 45 61 48 52 49 ovmpod N C = 0 ˙ C B a B b B c B b x B , y B C c = C
63 53 62 oveq12d N C = 0 ˙ C B a B b B c B a x B , y B C c + Y b x B , y B C c = C + Y C
64 eqidd N C = 0 ˙ C B a B b B c B x = a + Y b y = c C = C
65 2 41 ringacl Y Ring a B b B a + Y b B
66 56 47 48 65 syl3anc N C = 0 ˙ C B a B b B c B a + Y b B
67 45 64 66 52 49 ovmpod N C = 0 ˙ C B a B b B c B a + Y b x B , y B C c = C
68 44 63 67 3eqtr4rd N C = 0 ˙ C B a B b B c B a + Y b x B , y B C c = a x B , y B C c + Y b x B , y B C c
69 60 68 jca N C = 0 ˙ C B a B b B c B a x B , y B C b + Y c = a x B , y B C b + Y a x B , y B C c a + Y b x B , y B C c = a x B , y B C c + Y b x B , y B C c
70 69 ralrimivvva N C = 0 ˙ C B a B b B c B a x B , y B C b + Y c = a x B , y B C b + Y a x B , y B C c a + Y b x B , y B C c = a x B , y B C c + Y b x B , y B C c
71 16 32 70 3jca Could not format ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) -> ( X e. Abel /\ ( mulGrp ` X ) e. Smgrp /\ A. a e. B A. b e. B A. c e. B ( ( a ( x e. B , y e. B |-> C ) ( b ( +g ` Y ) c ) ) = ( ( a ( x e. B , y e. B |-> C ) b ) ( +g ` Y ) ( a ( x e. B , y e. B |-> C ) c ) ) /\ ( ( a ( +g ` Y ) b ) ( x e. B , y e. B |-> C ) c ) = ( ( a ( x e. B , y e. B |-> C ) c ) ( +g ` Y ) ( b ( x e. B , y e. B |-> C ) c ) ) ) ) ) : No typesetting found for |- ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) -> ( X e. Abel /\ ( mulGrp ` X ) e. Smgrp /\ A. a e. B A. b e. B A. c e. B ( ( a ( x e. B , y e. B |-> C ) ( b ( +g ` Y ) c ) ) = ( ( a ( x e. B , y e. B |-> C ) b ) ( +g ` Y ) ( a ( x e. B , y e. B |-> C ) c ) ) /\ ( ( a ( +g ` Y ) b ) ( x e. B , y e. B |-> C ) c ) = ( ( a ( x e. B , y e. B |-> C ) c ) ( +g ` Y ) ( b ( x e. B , y e. B |-> C ) c ) ) ) ) ) with typecode |-
72 14 71 mpdan Could not format ( ( N e. NN /\ C = .0. ) -> ( X e. Abel /\ ( mulGrp ` X ) e. Smgrp /\ A. a e. B A. b e. B A. c e. B ( ( a ( x e. B , y e. B |-> C ) ( b ( +g ` Y ) c ) ) = ( ( a ( x e. B , y e. B |-> C ) b ) ( +g ` Y ) ( a ( x e. B , y e. B |-> C ) c ) ) /\ ( ( a ( +g ` Y ) b ) ( x e. B , y e. B |-> C ) c ) = ( ( a ( x e. B , y e. B |-> C ) c ) ( +g ` Y ) ( b ( x e. B , y e. B |-> C ) c ) ) ) ) ) : No typesetting found for |- ( ( N e. NN /\ C = .0. ) -> ( X e. Abel /\ ( mulGrp ` X ) e. Smgrp /\ A. a e. B A. b e. B A. c e. B ( ( a ( x e. B , y e. B |-> C ) ( b ( +g ` Y ) c ) ) = ( ( a ( x e. B , y e. B |-> C ) b ) ( +g ` Y ) ( a ( x e. B , y e. B |-> C ) c ) ) /\ ( ( a ( +g ` Y ) b ) ( x e. B , y e. B |-> C ) c ) = ( ( a ( x e. B , y e. B |-> C ) c ) ( +g ` Y ) ( b ( x e. B , y e. B |-> C ) c ) ) ) ) ) with typecode |-
73 plusgid + 𝑔 = Slot + ndx
74 plusgndxnmulrndx + ndx ndx
75 73 74 setsnid + Y = + Y sSet ndx x B , y B C
76 3 fveq2i + X = + Y sSet ndx x B , y B C
77 75 76 eqtr4i + Y = + X
78 3 eqcomi Y sSet ndx x B , y B C = X
79 78 fveq2i Y sSet ndx x B , y B C = X
80 26 79 eqtri x B , y B C = X
81 18 17 77 80 isrng Could not format ( X e. Rng <-> ( X e. Abel /\ ( mulGrp ` X ) e. Smgrp /\ A. a e. B A. b e. B A. c e. B ( ( a ( x e. B , y e. B |-> C ) ( b ( +g ` Y ) c ) ) = ( ( a ( x e. B , y e. B |-> C ) b ) ( +g ` Y ) ( a ( x e. B , y e. B |-> C ) c ) ) /\ ( ( a ( +g ` Y ) b ) ( x e. B , y e. B |-> C ) c ) = ( ( a ( x e. B , y e. B |-> C ) c ) ( +g ` Y ) ( b ( x e. B , y e. B |-> C ) c ) ) ) ) ) : No typesetting found for |- ( X e. Rng <-> ( X e. Abel /\ ( mulGrp ` X ) e. Smgrp /\ A. a e. B A. b e. B A. c e. B ( ( a ( x e. B , y e. B |-> C ) ( b ( +g ` Y ) c ) ) = ( ( a ( x e. B , y e. B |-> C ) b ) ( +g ` Y ) ( a ( x e. B , y e. B |-> C ) c ) ) /\ ( ( a ( +g ` Y ) b ) ( x e. B , y e. B |-> C ) c ) = ( ( a ( x e. B , y e. B |-> C ) c ) ( +g ` Y ) ( b ( x e. B , y e. B |-> C ) c ) ) ) ) ) with typecode |-
82 72 81 sylibr N C = 0 ˙ X Rng