Metamath Proof Explorer


Theorem lringuplu

Description: If the sum of two elements of a local ring is invertible, then at least one of the summands must be invertible. (Contributed by Jim Kingdon, 18-Feb-2025) (Revised by SN, 23-Feb-2025)

Ref Expression
Hypotheses lring.b φB=BaseR
lring.u φU=UnitR
lring.p φ+˙=+R
lring.l No typesetting found for |- ( ph -> R e. LRing ) with typecode |-
lring.s φX+˙YU
lring.x φXB
lring.y φYB
Assertion lringuplu φXUYU

Proof

Step Hyp Ref Expression
1 lring.b φB=BaseR
2 lring.u φU=UnitR
3 lring.p φ+˙=+R
4 lring.l Could not format ( ph -> R e. LRing ) : No typesetting found for |- ( ph -> R e. LRing ) with typecode |-
5 lring.s φX+˙YU
6 lring.x φXB
7 lring.y φYB
8 lringring Could not format ( R e. LRing -> R e. Ring ) : No typesetting found for |- ( R e. LRing -> R e. Ring ) with typecode |-
9 4 8 syl φRRing
10 6 1 eleqtrd φXBaseR
11 5 2 eleqtrd φX+˙YUnitR
12 eqid BaseR=BaseR
13 eqid UnitR=UnitR
14 eqid /rR=/rR
15 eqid R=R
16 12 13 14 15 dvrcan1 RRingXBaseRX+˙YUnitRX/rRX+˙YRX+˙Y=X
17 9 10 11 16 syl3anc φX/rRX+˙YRX+˙Y=X
18 17 adantr φX/rRX+˙YUnitRX/rRX+˙YRX+˙Y=X
19 9 adantr φX/rRX+˙YUnitRRRing
20 simpr φX/rRX+˙YUnitRX/rRX+˙YUnitR
21 11 adantr φX/rRX+˙YUnitRX+˙YUnitR
22 13 15 unitmulcl RRingX/rRX+˙YUnitRX+˙YUnitRX/rRX+˙YRX+˙YUnitR
23 19 20 21 22 syl3anc φX/rRX+˙YUnitRX/rRX+˙YRX+˙YUnitR
24 18 23 eqeltrrd φX/rRX+˙YUnitRXUnitR
25 2 adantr φX/rRX+˙YUnitRU=UnitR
26 24 25 eleqtrrd φX/rRX+˙YUnitRXU
27 26 orcd φX/rRX+˙YUnitRXUYU
28 7 1 eleqtrd φYBaseR
29 12 13 14 15 dvrcan1 RRingYBaseRX+˙YUnitRY/rRX+˙YRX+˙Y=Y
30 9 28 11 29 syl3anc φY/rRX+˙YRX+˙Y=Y
31 30 adantr φY/rRX+˙YUnitRY/rRX+˙YRX+˙Y=Y
32 9 adantr φY/rRX+˙YUnitRRRing
33 simpr φY/rRX+˙YUnitRY/rRX+˙YUnitR
34 11 adantr φY/rRX+˙YUnitRX+˙YUnitR
35 13 15 unitmulcl RRingY/rRX+˙YUnitRX+˙YUnitRY/rRX+˙YRX+˙YUnitR
36 32 33 34 35 syl3anc φY/rRX+˙YUnitRY/rRX+˙YRX+˙YUnitR
37 31 36 eqeltrrd φY/rRX+˙YUnitRYUnitR
38 2 adantr φY/rRX+˙YUnitRU=UnitR
39 37 38 eleqtrrd φY/rRX+˙YUnitRYU
40 39 olcd φY/rRX+˙YUnitRXUYU
41 eqid +R=+R
42 12 13 41 14 dvrdir RRingXBaseRYBaseRX+˙YUnitRX+RY/rRX+˙Y=X/rRX+˙Y+RY/rRX+˙Y
43 9 10 28 11 42 syl13anc φX+RY/rRX+˙Y=X/rRX+˙Y+RY/rRX+˙Y
44 3 eqcomd φ+R=+˙
45 44 oveqd φX+RY=X+˙Y
46 9 ringgrpd φRGrp
47 12 41 46 10 28 grpcld φX+RYBaseR
48 eqid 1R=1R
49 12 13 14 48 dvreq1 RRingX+RYBaseRX+˙YUnitRX+RY/rRX+˙Y=1RX+RY=X+˙Y
50 9 47 11 49 syl3anc φX+RY/rRX+˙Y=1RX+RY=X+˙Y
51 45 50 mpbird φX+RY/rRX+˙Y=1R
52 43 51 eqtr3d φX/rRX+˙Y+RY/rRX+˙Y=1R
53 oveq2 v=Y/rRX+˙YX/rRX+˙Y+Rv=X/rRX+˙Y+RY/rRX+˙Y
54 53 eqeq1d v=Y/rRX+˙YX/rRX+˙Y+Rv=1RX/rRX+˙Y+RY/rRX+˙Y=1R
55 eleq1 v=Y/rRX+˙YvUnitRY/rRX+˙YUnitR
56 55 orbi2d v=Y/rRX+˙YX/rRX+˙YUnitRvUnitRX/rRX+˙YUnitRY/rRX+˙YUnitR
57 54 56 imbi12d v=Y/rRX+˙YX/rRX+˙Y+Rv=1RX/rRX+˙YUnitRvUnitRX/rRX+˙Y+RY/rRX+˙Y=1RX/rRX+˙YUnitRY/rRX+˙YUnitR
58 oveq1 u=X/rRX+˙Yu+Rv=X/rRX+˙Y+Rv
59 58 eqeq1d u=X/rRX+˙Yu+Rv=1RX/rRX+˙Y+Rv=1R
60 eleq1 u=X/rRX+˙YuUnitRX/rRX+˙YUnitR
61 60 orbi1d u=X/rRX+˙YuUnitRvUnitRX/rRX+˙YUnitRvUnitR
62 59 61 imbi12d u=X/rRX+˙Yu+Rv=1RuUnitRvUnitRX/rRX+˙Y+Rv=1RX/rRX+˙YUnitRvUnitR
63 62 ralbidv u=X/rRX+˙YvBaseRu+Rv=1RuUnitRvUnitRvBaseRX/rRX+˙Y+Rv=1RX/rRX+˙YUnitRvUnitR
64 12 41 48 13 islring Could not format ( R e. LRing <-> ( R e. NzRing /\ A. u e. ( Base ` R ) A. v e. ( Base ` R ) ( ( u ( +g ` R ) v ) = ( 1r ` R ) -> ( u e. ( Unit ` R ) \/ v e. ( Unit ` R ) ) ) ) ) : No typesetting found for |- ( R e. LRing <-> ( R e. NzRing /\ A. u e. ( Base ` R ) A. v e. ( Base ` R ) ( ( u ( +g ` R ) v ) = ( 1r ` R ) -> ( u e. ( Unit ` R ) \/ v e. ( Unit ` R ) ) ) ) ) with typecode |-
65 4 64 sylib φRNzRinguBaseRvBaseRu+Rv=1RuUnitRvUnitR
66 65 simprd φuBaseRvBaseRu+Rv=1RuUnitRvUnitR
67 12 13 14 dvrcl RRingXBaseRX+˙YUnitRX/rRX+˙YBaseR
68 9 10 11 67 syl3anc φX/rRX+˙YBaseR
69 63 66 68 rspcdva φvBaseRX/rRX+˙Y+Rv=1RX/rRX+˙YUnitRvUnitR
70 12 13 14 dvrcl RRingYBaseRX+˙YUnitRY/rRX+˙YBaseR
71 9 28 11 70 syl3anc φY/rRX+˙YBaseR
72 57 69 71 rspcdva φX/rRX+˙Y+RY/rRX+˙Y=1RX/rRX+˙YUnitRY/rRX+˙YUnitR
73 52 72 mpd φX/rRX+˙YUnitRY/rRX+˙YUnitR
74 27 40 73 mpjaodan φXUYU