Metamath Proof Explorer


Theorem remulinvcom

Description: A left multiplicative inverse is a right multiplicative inverse. Proven without ax-mulcom . (Contributed by SN, 5-Feb-2024)

Ref Expression
Hypotheses remulinvcom.1 ( 𝜑𝐴 ∈ ℝ )
remulinvcom.2 ( 𝜑𝐵 ∈ ℝ )
remulinvcom.3 ( 𝜑 → ( 𝐴 · 𝐵 ) = 1 )
Assertion remulinvcom ( 𝜑 → ( 𝐵 · 𝐴 ) = 1 )

Proof

Step Hyp Ref Expression
1 remulinvcom.1 ( 𝜑𝐴 ∈ ℝ )
2 remulinvcom.2 ( 𝜑𝐵 ∈ ℝ )
3 remulinvcom.3 ( 𝜑 → ( 𝐴 · 𝐵 ) = 1 )
4 ax-1ne0 1 ≠ 0
5 4 a1i ( 𝜑 → 1 ≠ 0 )
6 3 5 eqnetrd ( 𝜑 → ( 𝐴 · 𝐵 ) ≠ 0 )
7 simpr ( ( 𝜑𝐵 = 0 ) → 𝐵 = 0 )
8 7 oveq2d ( ( 𝜑𝐵 = 0 ) → ( 𝐴 · 𝐵 ) = ( 𝐴 · 0 ) )
9 1 adantr ( ( 𝜑𝐵 = 0 ) → 𝐴 ∈ ℝ )
10 remul01 ( 𝐴 ∈ ℝ → ( 𝐴 · 0 ) = 0 )
11 9 10 syl ( ( 𝜑𝐵 = 0 ) → ( 𝐴 · 0 ) = 0 )
12 8 11 eqtrd ( ( 𝜑𝐵 = 0 ) → ( 𝐴 · 𝐵 ) = 0 )
13 6 12 mteqand ( 𝜑𝐵 ≠ 0 )
14 ax-rrecex ( ( 𝐵 ∈ ℝ ∧ 𝐵 ≠ 0 ) → ∃ 𝑥 ∈ ℝ ( 𝐵 · 𝑥 ) = 1 )
15 2 13 14 syl2anc ( 𝜑 → ∃ 𝑥 ∈ ℝ ( 𝐵 · 𝑥 ) = 1 )
16 simprl ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) → 𝑥 ∈ ℝ )
17 simprr ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) → ( 𝐵 · 𝑥 ) = 1 )
18 4 a1i ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) → 1 ≠ 0 )
19 17 18 eqnetrd ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) → ( 𝐵 · 𝑥 ) ≠ 0 )
20 simpr ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ 𝑥 = 0 ) → 𝑥 = 0 )
21 20 oveq2d ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ 𝑥 = 0 ) → ( 𝐵 · 𝑥 ) = ( 𝐵 · 0 ) )
22 2 ad2antrr ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ 𝑥 = 0 ) → 𝐵 ∈ ℝ )
23 remul01 ( 𝐵 ∈ ℝ → ( 𝐵 · 0 ) = 0 )
24 22 23 syl ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ 𝑥 = 0 ) → ( 𝐵 · 0 ) = 0 )
25 21 24 eqtrd ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ 𝑥 = 0 ) → ( 𝐵 · 𝑥 ) = 0 )
26 19 25 mteqand ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) → 𝑥 ≠ 0 )
27 ax-rrecex ( ( 𝑥 ∈ ℝ ∧ 𝑥 ≠ 0 ) → ∃ 𝑦 ∈ ℝ ( 𝑥 · 𝑦 ) = 1 )
28 16 26 27 syl2anc ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) → ∃ 𝑦 ∈ ℝ ( 𝑥 · 𝑦 ) = 1 )
29 simplrr ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( 𝐵 · 𝑥 ) = 1 )
30 29 oveq2d ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( 𝐴 · ( 𝐵 · 𝑥 ) ) = ( 𝐴 · 1 ) )
31 30 oveq1d ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( ( 𝐴 · ( 𝐵 · 𝑥 ) ) · 𝑦 ) = ( ( 𝐴 · 1 ) · 𝑦 ) )
32 1 ad2antrr ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → 𝐴 ∈ ℝ )
33 2 ad2antrr ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → 𝐵 ∈ ℝ )
34 32 33 remulcld ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( 𝐴 · 𝐵 ) ∈ ℝ )
35 34 recnd ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( 𝐴 · 𝐵 ) ∈ ℂ )
36 simplrl ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → 𝑥 ∈ ℝ )
37 36 recnd ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → 𝑥 ∈ ℂ )
38 simprl ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → 𝑦 ∈ ℝ )
39 38 recnd ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → 𝑦 ∈ ℂ )
40 35 37 39 mulassd ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( ( ( 𝐴 · 𝐵 ) · 𝑥 ) · 𝑦 ) = ( ( 𝐴 · 𝐵 ) · ( 𝑥 · 𝑦 ) ) )
41 32 recnd ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → 𝐴 ∈ ℂ )
42 33 recnd ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → 𝐵 ∈ ℂ )
43 41 42 37 mulassd ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( ( 𝐴 · 𝐵 ) · 𝑥 ) = ( 𝐴 · ( 𝐵 · 𝑥 ) ) )
44 43 oveq1d ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( ( ( 𝐴 · 𝐵 ) · 𝑥 ) · 𝑦 ) = ( ( 𝐴 · ( 𝐵 · 𝑥 ) ) · 𝑦 ) )
45 3 ad2antrr ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( 𝐴 · 𝐵 ) = 1 )
46 simprr ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( 𝑥 · 𝑦 ) = 1 )
47 45 46 oveq12d ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( ( 𝐴 · 𝐵 ) · ( 𝑥 · 𝑦 ) ) = ( 1 · 1 ) )
48 1t1e1ALT ( 1 · 1 ) = 1
49 47 48 eqtrdi ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( ( 𝐴 · 𝐵 ) · ( 𝑥 · 𝑦 ) ) = 1 )
50 40 44 49 3eqtr3d ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( ( 𝐴 · ( 𝐵 · 𝑥 ) ) · 𝑦 ) = 1 )
51 ax-1rid ( 𝐴 ∈ ℝ → ( 𝐴 · 1 ) = 𝐴 )
52 32 51 syl ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( 𝐴 · 1 ) = 𝐴 )
53 52 oveq1d ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( ( 𝐴 · 1 ) · 𝑦 ) = ( 𝐴 · 𝑦 ) )
54 31 50 53 3eqtr3rd ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( 𝐴 · 𝑦 ) = 1 )
55 54 46 eqtr4d ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( 𝐴 · 𝑦 ) = ( 𝑥 · 𝑦 ) )
56 4 a1i ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → 1 ≠ 0 )
57 46 56 eqnetrd ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( 𝑥 · 𝑦 ) ≠ 0 )
58 simpr ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) ∧ 𝑦 = 0 ) → 𝑦 = 0 )
59 58 oveq2d ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) ∧ 𝑦 = 0 ) → ( 𝑥 · 𝑦 ) = ( 𝑥 · 0 ) )
60 36 adantr ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) ∧ 𝑦 = 0 ) → 𝑥 ∈ ℝ )
61 remul01 ( 𝑥 ∈ ℝ → ( 𝑥 · 0 ) = 0 )
62 60 61 syl ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) ∧ 𝑦 = 0 ) → ( 𝑥 · 0 ) = 0 )
63 59 62 eqtrd ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) ∧ 𝑦 = 0 ) → ( 𝑥 · 𝑦 ) = 0 )
64 57 63 mteqand ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → 𝑦 ≠ 0 )
65 32 36 38 64 remulcan2d ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( ( 𝐴 · 𝑦 ) = ( 𝑥 · 𝑦 ) ↔ 𝐴 = 𝑥 ) )
66 55 65 mpbid ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → 𝐴 = 𝑥 )
67 simpr ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) ∧ 𝐴 = 𝑥 ) → 𝐴 = 𝑥 )
68 67 oveq2d ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) ∧ 𝐴 = 𝑥 ) → ( 𝐵 · 𝐴 ) = ( 𝐵 · 𝑥 ) )
69 17 ad2antrr ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) ∧ 𝐴 = 𝑥 ) → ( 𝐵 · 𝑥 ) = 1 )
70 68 69 eqtrd ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) ∧ 𝐴 = 𝑥 ) → ( 𝐵 · 𝐴 ) = 1 )
71 66 70 mpdan ( ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) ∧ ( 𝑦 ∈ ℝ ∧ ( 𝑥 · 𝑦 ) = 1 ) ) → ( 𝐵 · 𝐴 ) = 1 )
72 28 71 rexlimddv ( ( 𝜑 ∧ ( 𝑥 ∈ ℝ ∧ ( 𝐵 · 𝑥 ) = 1 ) ) → ( 𝐵 · 𝐴 ) = 1 )
73 15 72 rexlimddv ( 𝜑 → ( 𝐵 · 𝐴 ) = 1 )