Metamath Proof Explorer


Theorem hvmulcan

Description: Cancellation law for scalar multiplication. (Contributed by NM, 19-May-2005) (New usage is discouraged.)

Ref Expression
Assertion hvmulcan ( ( ( 𝐴 ∈ ℂ ∧ 𝐴 ≠ 0 ) ∧ 𝐵 ∈ ℋ ∧ 𝐶 ∈ ℋ ) → ( ( 𝐴 · 𝐵 ) = ( 𝐴 · 𝐶 ) ↔ 𝐵 = 𝐶 ) )

Proof

Step Hyp Ref Expression
1 df-ne ( 𝐴 ≠ 0 ↔ ¬ 𝐴 = 0 )
2 biorf ( ¬ 𝐴 = 0 → ( ( 𝐵 𝐶 ) = 0 ↔ ( 𝐴 = 0 ∨ ( 𝐵 𝐶 ) = 0 ) ) )
3 1 2 sylbi ( 𝐴 ≠ 0 → ( ( 𝐵 𝐶 ) = 0 ↔ ( 𝐴 = 0 ∨ ( 𝐵 𝐶 ) = 0 ) ) )
4 3 ad2antlr ( ( ( 𝐴 ∈ ℂ ∧ 𝐴 ≠ 0 ) ∧ 𝐵 ∈ ℋ ) → ( ( 𝐵 𝐶 ) = 0 ↔ ( 𝐴 = 0 ∨ ( 𝐵 𝐶 ) = 0 ) ) )
5 4 3adant3 ( ( ( 𝐴 ∈ ℂ ∧ 𝐴 ≠ 0 ) ∧ 𝐵 ∈ ℋ ∧ 𝐶 ∈ ℋ ) → ( ( 𝐵 𝐶 ) = 0 ↔ ( 𝐴 = 0 ∨ ( 𝐵 𝐶 ) = 0 ) ) )
6 hvsubeq0 ( ( 𝐵 ∈ ℋ ∧ 𝐶 ∈ ℋ ) → ( ( 𝐵 𝐶 ) = 0𝐵 = 𝐶 ) )
7 6 3adant1 ( ( ( 𝐴 ∈ ℂ ∧ 𝐴 ≠ 0 ) ∧ 𝐵 ∈ ℋ ∧ 𝐶 ∈ ℋ ) → ( ( 𝐵 𝐶 ) = 0𝐵 = 𝐶 ) )
8 hvsubdistr1 ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℋ ∧ 𝐶 ∈ ℋ ) → ( 𝐴 · ( 𝐵 𝐶 ) ) = ( ( 𝐴 · 𝐵 ) − ( 𝐴 · 𝐶 ) ) )
9 8 eqeq1d ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℋ ∧ 𝐶 ∈ ℋ ) → ( ( 𝐴 · ( 𝐵 𝐶 ) ) = 0 ↔ ( ( 𝐴 · 𝐵 ) − ( 𝐴 · 𝐶 ) ) = 0 ) )
10 hvsubcl ( ( 𝐵 ∈ ℋ ∧ 𝐶 ∈ ℋ ) → ( 𝐵 𝐶 ) ∈ ℋ )
11 hvmul0or ( ( 𝐴 ∈ ℂ ∧ ( 𝐵 𝐶 ) ∈ ℋ ) → ( ( 𝐴 · ( 𝐵 𝐶 ) ) = 0 ↔ ( 𝐴 = 0 ∨ ( 𝐵 𝐶 ) = 0 ) ) )
12 10 11 sylan2 ( ( 𝐴 ∈ ℂ ∧ ( 𝐵 ∈ ℋ ∧ 𝐶 ∈ ℋ ) ) → ( ( 𝐴 · ( 𝐵 𝐶 ) ) = 0 ↔ ( 𝐴 = 0 ∨ ( 𝐵 𝐶 ) = 0 ) ) )
13 12 3impb ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℋ ∧ 𝐶 ∈ ℋ ) → ( ( 𝐴 · ( 𝐵 𝐶 ) ) = 0 ↔ ( 𝐴 = 0 ∨ ( 𝐵 𝐶 ) = 0 ) ) )
14 hvmulcl ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℋ ) → ( 𝐴 · 𝐵 ) ∈ ℋ )
15 14 3adant3 ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℋ ∧ 𝐶 ∈ ℋ ) → ( 𝐴 · 𝐵 ) ∈ ℋ )
16 hvmulcl ( ( 𝐴 ∈ ℂ ∧ 𝐶 ∈ ℋ ) → ( 𝐴 · 𝐶 ) ∈ ℋ )
17 16 3adant2 ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℋ ∧ 𝐶 ∈ ℋ ) → ( 𝐴 · 𝐶 ) ∈ ℋ )
18 hvsubeq0 ( ( ( 𝐴 · 𝐵 ) ∈ ℋ ∧ ( 𝐴 · 𝐶 ) ∈ ℋ ) → ( ( ( 𝐴 · 𝐵 ) − ( 𝐴 · 𝐶 ) ) = 0 ↔ ( 𝐴 · 𝐵 ) = ( 𝐴 · 𝐶 ) ) )
19 15 17 18 syl2anc ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℋ ∧ 𝐶 ∈ ℋ ) → ( ( ( 𝐴 · 𝐵 ) − ( 𝐴 · 𝐶 ) ) = 0 ↔ ( 𝐴 · 𝐵 ) = ( 𝐴 · 𝐶 ) ) )
20 9 13 19 3bitr3d ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℋ ∧ 𝐶 ∈ ℋ ) → ( ( 𝐴 = 0 ∨ ( 𝐵 𝐶 ) = 0 ) ↔ ( 𝐴 · 𝐵 ) = ( 𝐴 · 𝐶 ) ) )
21 20 3adant1r ( ( ( 𝐴 ∈ ℂ ∧ 𝐴 ≠ 0 ) ∧ 𝐵 ∈ ℋ ∧ 𝐶 ∈ ℋ ) → ( ( 𝐴 = 0 ∨ ( 𝐵 𝐶 ) = 0 ) ↔ ( 𝐴 · 𝐵 ) = ( 𝐴 · 𝐶 ) ) )
22 5 7 21 3bitr3rd ( ( ( 𝐴 ∈ ℂ ∧ 𝐴 ≠ 0 ) ∧ 𝐵 ∈ ℋ ∧ 𝐶 ∈ ℋ ) → ( ( 𝐴 · 𝐵 ) = ( 𝐴 · 𝐶 ) ↔ 𝐵 = 𝐶 ) )