Metamath Proof Explorer


Theorem hvmulcan2

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

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

Proof

Step Hyp Ref Expression
1 hvmulcl ( ( 𝐴 ∈ ℂ ∧ 𝐶 ∈ ℋ ) → ( 𝐴 · 𝐶 ) ∈ ℋ )
2 1 3adant2 ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ∧ 𝐶 ∈ ℋ ) → ( 𝐴 · 𝐶 ) ∈ ℋ )
3 hvmulcl ( ( 𝐵 ∈ ℂ ∧ 𝐶 ∈ ℋ ) → ( 𝐵 · 𝐶 ) ∈ ℋ )
4 3 3adant1 ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ∧ 𝐶 ∈ ℋ ) → ( 𝐵 · 𝐶 ) ∈ ℋ )
5 hvsubeq0 ( ( ( 𝐴 · 𝐶 ) ∈ ℋ ∧ ( 𝐵 · 𝐶 ) ∈ ℋ ) → ( ( ( 𝐴 · 𝐶 ) − ( 𝐵 · 𝐶 ) ) = 0 ↔ ( 𝐴 · 𝐶 ) = ( 𝐵 · 𝐶 ) ) )
6 2 4 5 syl2anc ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ∧ 𝐶 ∈ ℋ ) → ( ( ( 𝐴 · 𝐶 ) − ( 𝐵 · 𝐶 ) ) = 0 ↔ ( 𝐴 · 𝐶 ) = ( 𝐵 · 𝐶 ) ) )
7 6 3adant3r ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ∧ ( 𝐶 ∈ ℋ ∧ 𝐶 ≠ 0 ) ) → ( ( ( 𝐴 · 𝐶 ) − ( 𝐵 · 𝐶 ) ) = 0 ↔ ( 𝐴 · 𝐶 ) = ( 𝐵 · 𝐶 ) ) )
8 hvsubdistr2 ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ∧ 𝐶 ∈ ℋ ) → ( ( 𝐴𝐵 ) · 𝐶 ) = ( ( 𝐴 · 𝐶 ) − ( 𝐵 · 𝐶 ) ) )
9 8 eqeq1d ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ∧ 𝐶 ∈ ℋ ) → ( ( ( 𝐴𝐵 ) · 𝐶 ) = 0 ↔ ( ( 𝐴 · 𝐶 ) − ( 𝐵 · 𝐶 ) ) = 0 ) )
10 subcl ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( 𝐴𝐵 ) ∈ ℂ )
11 hvmul0or ( ( ( 𝐴𝐵 ) ∈ ℂ ∧ 𝐶 ∈ ℋ ) → ( ( ( 𝐴𝐵 ) · 𝐶 ) = 0 ↔ ( ( 𝐴𝐵 ) = 0 ∨ 𝐶 = 0 ) ) )
12 10 11 stoic3 ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ∧ 𝐶 ∈ ℋ ) → ( ( ( 𝐴𝐵 ) · 𝐶 ) = 0 ↔ ( ( 𝐴𝐵 ) = 0 ∨ 𝐶 = 0 ) ) )
13 9 12 bitr3d ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ∧ 𝐶 ∈ ℋ ) → ( ( ( 𝐴 · 𝐶 ) − ( 𝐵 · 𝐶 ) ) = 0 ↔ ( ( 𝐴𝐵 ) = 0 ∨ 𝐶 = 0 ) ) )
14 13 3adant3r ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ∧ ( 𝐶 ∈ ℋ ∧ 𝐶 ≠ 0 ) ) → ( ( ( 𝐴 · 𝐶 ) − ( 𝐵 · 𝐶 ) ) = 0 ↔ ( ( 𝐴𝐵 ) = 0 ∨ 𝐶 = 0 ) ) )
15 df-ne ( 𝐶 ≠ 0 ↔ ¬ 𝐶 = 0 )
16 biorf ( ¬ 𝐶 = 0 → ( ( 𝐴𝐵 ) = 0 ↔ ( 𝐶 = 0 ∨ ( 𝐴𝐵 ) = 0 ) ) )
17 orcom ( ( 𝐶 = 0 ∨ ( 𝐴𝐵 ) = 0 ) ↔ ( ( 𝐴𝐵 ) = 0 ∨ 𝐶 = 0 ) )
18 16 17 bitrdi ( ¬ 𝐶 = 0 → ( ( 𝐴𝐵 ) = 0 ↔ ( ( 𝐴𝐵 ) = 0 ∨ 𝐶 = 0 ) ) )
19 15 18 sylbi ( 𝐶 ≠ 0 → ( ( 𝐴𝐵 ) = 0 ↔ ( ( 𝐴𝐵 ) = 0 ∨ 𝐶 = 0 ) ) )
20 19 ad2antll ( ( 𝐵 ∈ ℂ ∧ ( 𝐶 ∈ ℋ ∧ 𝐶 ≠ 0 ) ) → ( ( 𝐴𝐵 ) = 0 ↔ ( ( 𝐴𝐵 ) = 0 ∨ 𝐶 = 0 ) ) )
21 20 3adant1 ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ∧ ( 𝐶 ∈ ℋ ∧ 𝐶 ≠ 0 ) ) → ( ( 𝐴𝐵 ) = 0 ↔ ( ( 𝐴𝐵 ) = 0 ∨ 𝐶 = 0 ) ) )
22 subeq0 ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ) → ( ( 𝐴𝐵 ) = 0 ↔ 𝐴 = 𝐵 ) )
23 22 3adant3 ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ∧ ( 𝐶 ∈ ℋ ∧ 𝐶 ≠ 0 ) ) → ( ( 𝐴𝐵 ) = 0 ↔ 𝐴 = 𝐵 ) )
24 14 21 23 3bitr2d ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ∧ ( 𝐶 ∈ ℋ ∧ 𝐶 ≠ 0 ) ) → ( ( ( 𝐴 · 𝐶 ) − ( 𝐵 · 𝐶 ) ) = 0𝐴 = 𝐵 ) )
25 7 24 bitr3d ( ( 𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ ∧ ( 𝐶 ∈ ℋ ∧ 𝐶 ≠ 0 ) ) → ( ( 𝐴 · 𝐶 ) = ( 𝐵 · 𝐶 ) ↔ 𝐴 = 𝐵 ) )