Metamath Proof Explorer


Theorem idomcanl

Description: Cancellation law for domains. (Contributed by Jeff Madsen, 6-Jan-2011) (Revised by AV, 13-Jul-2026)

Ref Expression
Hypotheses isidom3.b 𝐵 = ( Base ‘ 𝑅 )
isidom3.t · = ( .r𝑅 )
isidom3.0 0 = ( 0g𝑅 )
Assertion idomcanl ( ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) ∧ 𝑋0 ) → ( ( 𝑋 · 𝑌 ) = ( 𝑋 · 𝑍 ) → 𝑌 = 𝑍 ) )

Proof

Step Hyp Ref Expression
1 isidom3.b 𝐵 = ( Base ‘ 𝑅 )
2 isidom3.t · = ( .r𝑅 )
3 isidom3.0 0 = ( 0g𝑅 )
4 eqid ( -g𝑅 ) = ( -g𝑅 )
5 isidom ( 𝑅 ∈ IDomn ↔ ( 𝑅 ∈ CRing ∧ 𝑅 ∈ Domn ) )
6 crngring ( 𝑅 ∈ CRing → 𝑅 ∈ Ring )
7 6 adantr ( ( 𝑅 ∈ CRing ∧ 𝑅 ∈ Domn ) → 𝑅 ∈ Ring )
8 5 7 sylbi ( 𝑅 ∈ IDomn → 𝑅 ∈ Ring )
9 8 adantr ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) → 𝑅 ∈ Ring )
10 simpr1 ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) → 𝑋𝐵 )
11 simpr2 ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) → 𝑌𝐵 )
12 simpr3 ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) → 𝑍𝐵 )
13 1 2 4 9 10 11 12 ringsubdi ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) → ( 𝑋 · ( 𝑌 ( -g𝑅 ) 𝑍 ) ) = ( ( 𝑋 · 𝑌 ) ( -g𝑅 ) ( 𝑋 · 𝑍 ) ) )
14 13 adantr ( ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) ∧ 𝑋0 ) → ( 𝑋 · ( 𝑌 ( -g𝑅 ) 𝑍 ) ) = ( ( 𝑋 · 𝑌 ) ( -g𝑅 ) ( 𝑋 · 𝑍 ) ) )
15 14 eqeq1d ( ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) ∧ 𝑋0 ) → ( ( 𝑋 · ( 𝑌 ( -g𝑅 ) 𝑍 ) ) = 0 ↔ ( ( 𝑋 · 𝑌 ) ( -g𝑅 ) ( 𝑋 · 𝑍 ) ) = 0 ) )
16 8 ringgrpd ( 𝑅 ∈ IDomn → 𝑅 ∈ Grp )
17 1 4 grpsubcl ( ( 𝑅 ∈ Grp ∧ 𝑌𝐵𝑍𝐵 ) → ( 𝑌 ( -g𝑅 ) 𝑍 ) ∈ 𝐵 )
18 17 3expb ( ( 𝑅 ∈ Grp ∧ ( 𝑌𝐵𝑍𝐵 ) ) → ( 𝑌 ( -g𝑅 ) 𝑍 ) ∈ 𝐵 )
19 16 18 sylan ( ( 𝑅 ∈ IDomn ∧ ( 𝑌𝐵𝑍𝐵 ) ) → ( 𝑌 ( -g𝑅 ) 𝑍 ) ∈ 𝐵 )
20 19 adantlr ( ( ( 𝑅 ∈ IDomn ∧ 𝑋𝐵 ) ∧ ( 𝑌𝐵𝑍𝐵 ) ) → ( 𝑌 ( -g𝑅 ) 𝑍 ) ∈ 𝐵 )
21 1 2 3 idomnzd ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵 ∧ ( 𝑌 ( -g𝑅 ) 𝑍 ) ∈ 𝐵 ∧ ( 𝑋 · ( 𝑌 ( -g𝑅 ) 𝑍 ) ) = 0 ) ) → ( 𝑋 = 0 ∨ ( 𝑌 ( -g𝑅 ) 𝑍 ) = 0 ) )
22 21 3exp2 ( 𝑅 ∈ IDomn → ( 𝑋𝐵 → ( ( 𝑌 ( -g𝑅 ) 𝑍 ) ∈ 𝐵 → ( ( 𝑋 · ( 𝑌 ( -g𝑅 ) 𝑍 ) ) = 0 → ( 𝑋 = 0 ∨ ( 𝑌 ( -g𝑅 ) 𝑍 ) = 0 ) ) ) ) )
23 22 imp31 ( ( ( 𝑅 ∈ IDomn ∧ 𝑋𝐵 ) ∧ ( 𝑌 ( -g𝑅 ) 𝑍 ) ∈ 𝐵 ) → ( ( 𝑋 · ( 𝑌 ( -g𝑅 ) 𝑍 ) ) = 0 → ( 𝑋 = 0 ∨ ( 𝑌 ( -g𝑅 ) 𝑍 ) = 0 ) ) )
24 20 23 syldan ( ( ( 𝑅 ∈ IDomn ∧ 𝑋𝐵 ) ∧ ( 𝑌𝐵𝑍𝐵 ) ) → ( ( 𝑋 · ( 𝑌 ( -g𝑅 ) 𝑍 ) ) = 0 → ( 𝑋 = 0 ∨ ( 𝑌 ( -g𝑅 ) 𝑍 ) = 0 ) ) )
25 24 exp43 ( 𝑅 ∈ IDomn → ( 𝑋𝐵 → ( 𝑌𝐵 → ( 𝑍𝐵 → ( ( 𝑋 · ( 𝑌 ( -g𝑅 ) 𝑍 ) ) = 0 → ( 𝑋 = 0 ∨ ( 𝑌 ( -g𝑅 ) 𝑍 ) = 0 ) ) ) ) ) )
26 25 3imp2 ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) → ( ( 𝑋 · ( 𝑌 ( -g𝑅 ) 𝑍 ) ) = 0 → ( 𝑋 = 0 ∨ ( 𝑌 ( -g𝑅 ) 𝑍 ) = 0 ) ) )
27 neor ( ( 𝑋 = 0 ∨ ( 𝑌 ( -g𝑅 ) 𝑍 ) = 0 ) ↔ ( 𝑋0 → ( 𝑌 ( -g𝑅 ) 𝑍 ) = 0 ) )
28 26 27 imbitrdi ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) → ( ( 𝑋 · ( 𝑌 ( -g𝑅 ) 𝑍 ) ) = 0 → ( 𝑋0 → ( 𝑌 ( -g𝑅 ) 𝑍 ) = 0 ) ) )
29 28 com23 ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) → ( 𝑋0 → ( ( 𝑋 · ( 𝑌 ( -g𝑅 ) 𝑍 ) ) = 0 → ( 𝑌 ( -g𝑅 ) 𝑍 ) = 0 ) ) )
30 29 imp ( ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) ∧ 𝑋0 ) → ( ( 𝑋 · ( 𝑌 ( -g𝑅 ) 𝑍 ) ) = 0 → ( 𝑌 ( -g𝑅 ) 𝑍 ) = 0 ) )
31 15 30 sylbird ( ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) ∧ 𝑋0 ) → ( ( ( 𝑋 · 𝑌 ) ( -g𝑅 ) ( 𝑋 · 𝑍 ) ) = 0 → ( 𝑌 ( -g𝑅 ) 𝑍 ) = 0 ) )
32 16 adantr ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) → 𝑅 ∈ Grp )
33 1 2 9 10 11 ringcld ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) → ( 𝑋 · 𝑌 ) ∈ 𝐵 )
34 1 2 9 10 12 ringcld ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) → ( 𝑋 · 𝑍 ) ∈ 𝐵 )
35 1 3 4 grpsubeq0 ( ( 𝑅 ∈ Grp ∧ ( 𝑋 · 𝑌 ) ∈ 𝐵 ∧ ( 𝑋 · 𝑍 ) ∈ 𝐵 ) → ( ( ( 𝑋 · 𝑌 ) ( -g𝑅 ) ( 𝑋 · 𝑍 ) ) = 0 ↔ ( 𝑋 · 𝑌 ) = ( 𝑋 · 𝑍 ) ) )
36 35 bicomd ( ( 𝑅 ∈ Grp ∧ ( 𝑋 · 𝑌 ) ∈ 𝐵 ∧ ( 𝑋 · 𝑍 ) ∈ 𝐵 ) → ( ( 𝑋 · 𝑌 ) = ( 𝑋 · 𝑍 ) ↔ ( ( 𝑋 · 𝑌 ) ( -g𝑅 ) ( 𝑋 · 𝑍 ) ) = 0 ) )
37 32 33 34 36 syl3anc ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) → ( ( 𝑋 · 𝑌 ) = ( 𝑋 · 𝑍 ) ↔ ( ( 𝑋 · 𝑌 ) ( -g𝑅 ) ( 𝑋 · 𝑍 ) ) = 0 ) )
38 37 adantr ( ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) ∧ 𝑋0 ) → ( ( 𝑋 · 𝑌 ) = ( 𝑋 · 𝑍 ) ↔ ( ( 𝑋 · 𝑌 ) ( -g𝑅 ) ( 𝑋 · 𝑍 ) ) = 0 ) )
39 1 3 4 grpsubeq0 ( ( 𝑅 ∈ Grp ∧ 𝑌𝐵𝑍𝐵 ) → ( ( 𝑌 ( -g𝑅 ) 𝑍 ) = 0𝑌 = 𝑍 ) )
40 39 bicomd ( ( 𝑅 ∈ Grp ∧ 𝑌𝐵𝑍𝐵 ) → ( 𝑌 = 𝑍 ↔ ( 𝑌 ( -g𝑅 ) 𝑍 ) = 0 ) )
41 40 3expb ( ( 𝑅 ∈ Grp ∧ ( 𝑌𝐵𝑍𝐵 ) ) → ( 𝑌 = 𝑍 ↔ ( 𝑌 ( -g𝑅 ) 𝑍 ) = 0 ) )
42 16 41 sylan ( ( 𝑅 ∈ IDomn ∧ ( 𝑌𝐵𝑍𝐵 ) ) → ( 𝑌 = 𝑍 ↔ ( 𝑌 ( -g𝑅 ) 𝑍 ) = 0 ) )
43 42 3adantr1 ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) → ( 𝑌 = 𝑍 ↔ ( 𝑌 ( -g𝑅 ) 𝑍 ) = 0 ) )
44 43 adantr ( ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) ∧ 𝑋0 ) → ( 𝑌 = 𝑍 ↔ ( 𝑌 ( -g𝑅 ) 𝑍 ) = 0 ) )
45 31 38 44 3imtr4d ( ( ( 𝑅 ∈ IDomn ∧ ( 𝑋𝐵𝑌𝐵𝑍𝐵 ) ) ∧ 𝑋0 ) → ( ( 𝑋 · 𝑌 ) = ( 𝑋 · 𝑍 ) → 𝑌 = 𝑍 ) )