Step |
Hyp |
Ref |
Expression |
1 |
|
0ring.1 |
⊢ 𝐺 = ( 1st ‘ 𝑅 ) |
2 |
|
0ring.2 |
⊢ 𝐻 = ( 2nd ‘ 𝑅 ) |
3 |
|
0ring.3 |
⊢ 𝑋 = ran 𝐺 |
4 |
|
0ring.4 |
⊢ 𝑍 = ( GId ‘ 𝐺 ) |
5 |
|
0ring.5 |
⊢ 𝑈 = ( GId ‘ 𝐻 ) |
6 |
4
|
fvexi |
⊢ 𝑍 ∈ V |
7 |
6
|
snid |
⊢ 𝑍 ∈ { 𝑍 } |
8 |
|
eleq1 |
⊢ ( 𝑍 = 𝑈 → ( 𝑍 ∈ { 𝑍 } ↔ 𝑈 ∈ { 𝑍 } ) ) |
9 |
7 8
|
mpbii |
⊢ ( 𝑍 = 𝑈 → 𝑈 ∈ { 𝑍 } ) |
10 |
1 4
|
0idl |
⊢ ( 𝑅 ∈ RingOps → { 𝑍 } ∈ ( Idl ‘ 𝑅 ) ) |
11 |
1 2 3 5
|
1idl |
⊢ ( ( 𝑅 ∈ RingOps ∧ { 𝑍 } ∈ ( Idl ‘ 𝑅 ) ) → ( 𝑈 ∈ { 𝑍 } ↔ { 𝑍 } = 𝑋 ) ) |
12 |
10 11
|
mpdan |
⊢ ( 𝑅 ∈ RingOps → ( 𝑈 ∈ { 𝑍 } ↔ { 𝑍 } = 𝑋 ) ) |
13 |
9 12
|
syl5ib |
⊢ ( 𝑅 ∈ RingOps → ( 𝑍 = 𝑈 → { 𝑍 } = 𝑋 ) ) |
14 |
|
eqcom |
⊢ ( { 𝑍 } = 𝑋 ↔ 𝑋 = { 𝑍 } ) |
15 |
13 14
|
syl6ib |
⊢ ( 𝑅 ∈ RingOps → ( 𝑍 = 𝑈 → 𝑋 = { 𝑍 } ) ) |
16 |
1
|
rneqi |
⊢ ran 𝐺 = ran ( 1st ‘ 𝑅 ) |
17 |
3 16
|
eqtri |
⊢ 𝑋 = ran ( 1st ‘ 𝑅 ) |
18 |
17 2 5
|
rngo1cl |
⊢ ( 𝑅 ∈ RingOps → 𝑈 ∈ 𝑋 ) |
19 |
|
eleq2 |
⊢ ( 𝑋 = { 𝑍 } → ( 𝑈 ∈ 𝑋 ↔ 𝑈 ∈ { 𝑍 } ) ) |
20 |
|
elsni |
⊢ ( 𝑈 ∈ { 𝑍 } → 𝑈 = 𝑍 ) |
21 |
20
|
eqcomd |
⊢ ( 𝑈 ∈ { 𝑍 } → 𝑍 = 𝑈 ) |
22 |
19 21
|
syl6bi |
⊢ ( 𝑋 = { 𝑍 } → ( 𝑈 ∈ 𝑋 → 𝑍 = 𝑈 ) ) |
23 |
18 22
|
syl5com |
⊢ ( 𝑅 ∈ RingOps → ( 𝑋 = { 𝑍 } → 𝑍 = 𝑈 ) ) |
24 |
15 23
|
impbid |
⊢ ( 𝑅 ∈ RingOps → ( 𝑍 = 𝑈 ↔ 𝑋 = { 𝑍 } ) ) |