Metamath Proof Explorer


Theorem hvsubeq0

Description: If the difference between two vectors is zero, they are equal. (Contributed by NM, 23-Oct-1999) (New usage is discouraged.)

Ref Expression
Assertion hvsubeq0
|- ( ( A e. ~H /\ B e. ~H ) -> ( ( A -h B ) = 0h <-> A = B ) )

Proof

Step Hyp Ref Expression
1 oveq1
 |-  ( A = if ( A e. ~H , A , 0h ) -> ( A -h B ) = ( if ( A e. ~H , A , 0h ) -h B ) )
2 1 eqeq1d
 |-  ( A = if ( A e. ~H , A , 0h ) -> ( ( A -h B ) = 0h <-> ( if ( A e. ~H , A , 0h ) -h B ) = 0h ) )
3 eqeq1
 |-  ( A = if ( A e. ~H , A , 0h ) -> ( A = B <-> if ( A e. ~H , A , 0h ) = B ) )
4 2 3 bibi12d
 |-  ( A = if ( A e. ~H , A , 0h ) -> ( ( ( A -h B ) = 0h <-> A = B ) <-> ( ( if ( A e. ~H , A , 0h ) -h B ) = 0h <-> if ( A e. ~H , A , 0h ) = B ) ) )
5 oveq2
 |-  ( B = if ( B e. ~H , B , 0h ) -> ( if ( A e. ~H , A , 0h ) -h B ) = ( if ( A e. ~H , A , 0h ) -h if ( B e. ~H , B , 0h ) ) )
6 5 eqeq1d
 |-  ( B = if ( B e. ~H , B , 0h ) -> ( ( if ( A e. ~H , A , 0h ) -h B ) = 0h <-> ( if ( A e. ~H , A , 0h ) -h if ( B e. ~H , B , 0h ) ) = 0h ) )
7 eqeq2
 |-  ( B = if ( B e. ~H , B , 0h ) -> ( if ( A e. ~H , A , 0h ) = B <-> if ( A e. ~H , A , 0h ) = if ( B e. ~H , B , 0h ) ) )
8 6 7 bibi12d
 |-  ( B = if ( B e. ~H , B , 0h ) -> ( ( ( if ( A e. ~H , A , 0h ) -h B ) = 0h <-> if ( A e. ~H , A , 0h ) = B ) <-> ( ( if ( A e. ~H , A , 0h ) -h if ( B e. ~H , B , 0h ) ) = 0h <-> if ( A e. ~H , A , 0h ) = if ( B e. ~H , B , 0h ) ) ) )
9 ifhvhv0
 |-  if ( A e. ~H , A , 0h ) e. ~H
10 ifhvhv0
 |-  if ( B e. ~H , B , 0h ) e. ~H
11 9 10 hvsubeq0i
 |-  ( ( if ( A e. ~H , A , 0h ) -h if ( B e. ~H , B , 0h ) ) = 0h <-> if ( A e. ~H , A , 0h ) = if ( B e. ~H , B , 0h ) )
12 4 8 11 dedth2h
 |-  ( ( A e. ~H /\ B e. ~H ) -> ( ( A -h B ) = 0h <-> A = B ) )