Metamath Proof Explorer


Theorem ipassi

Description: Associative law for inner product. Equation I2 of Ponnusamy p. 363. (Contributed by NM, 25-Aug-2007) (New usage is discouraged.)

Ref Expression
Hypotheses ip1i.1
|- X = ( BaseSet ` U )
ip1i.2
|- G = ( +v ` U )
ip1i.4
|- S = ( .sOLD ` U )
ip1i.7
|- P = ( .iOLD ` U )
ip1i.9
|- U e. CPreHilOLD
Assertion ipassi
|- ( ( A e. CC /\ B e. X /\ C e. X ) -> ( ( A S B ) P C ) = ( A x. ( B P C ) ) )

Proof

Step Hyp Ref Expression
1 ip1i.1
 |-  X = ( BaseSet ` U )
2 ip1i.2
 |-  G = ( +v ` U )
3 ip1i.4
 |-  S = ( .sOLD ` U )
4 ip1i.7
 |-  P = ( .iOLD ` U )
5 ip1i.9
 |-  U e. CPreHilOLD
6 oveq2
 |-  ( B = if ( B e. X , B , ( 0vec ` U ) ) -> ( A S B ) = ( A S if ( B e. X , B , ( 0vec ` U ) ) ) )
7 6 oveq1d
 |-  ( B = if ( B e. X , B , ( 0vec ` U ) ) -> ( ( A S B ) P C ) = ( ( A S if ( B e. X , B , ( 0vec ` U ) ) ) P C ) )
8 oveq1
 |-  ( B = if ( B e. X , B , ( 0vec ` U ) ) -> ( B P C ) = ( if ( B e. X , B , ( 0vec ` U ) ) P C ) )
9 8 oveq2d
 |-  ( B = if ( B e. X , B , ( 0vec ` U ) ) -> ( A x. ( B P C ) ) = ( A x. ( if ( B e. X , B , ( 0vec ` U ) ) P C ) ) )
10 7 9 eqeq12d
 |-  ( B = if ( B e. X , B , ( 0vec ` U ) ) -> ( ( ( A S B ) P C ) = ( A x. ( B P C ) ) <-> ( ( A S if ( B e. X , B , ( 0vec ` U ) ) ) P C ) = ( A x. ( if ( B e. X , B , ( 0vec ` U ) ) P C ) ) ) )
11 10 imbi2d
 |-  ( B = if ( B e. X , B , ( 0vec ` U ) ) -> ( ( A e. CC -> ( ( A S B ) P C ) = ( A x. ( B P C ) ) ) <-> ( A e. CC -> ( ( A S if ( B e. X , B , ( 0vec ` U ) ) ) P C ) = ( A x. ( if ( B e. X , B , ( 0vec ` U ) ) P C ) ) ) ) )
12 oveq2
 |-  ( C = if ( C e. X , C , ( 0vec ` U ) ) -> ( ( A S if ( B e. X , B , ( 0vec ` U ) ) ) P C ) = ( ( A S if ( B e. X , B , ( 0vec ` U ) ) ) P if ( C e. X , C , ( 0vec ` U ) ) ) )
13 oveq2
 |-  ( C = if ( C e. X , C , ( 0vec ` U ) ) -> ( if ( B e. X , B , ( 0vec ` U ) ) P C ) = ( if ( B e. X , B , ( 0vec ` U ) ) P if ( C e. X , C , ( 0vec ` U ) ) ) )
14 13 oveq2d
 |-  ( C = if ( C e. X , C , ( 0vec ` U ) ) -> ( A x. ( if ( B e. X , B , ( 0vec ` U ) ) P C ) ) = ( A x. ( if ( B e. X , B , ( 0vec ` U ) ) P if ( C e. X , C , ( 0vec ` U ) ) ) ) )
15 12 14 eqeq12d
 |-  ( C = if ( C e. X , C , ( 0vec ` U ) ) -> ( ( ( A S if ( B e. X , B , ( 0vec ` U ) ) ) P C ) = ( A x. ( if ( B e. X , B , ( 0vec ` U ) ) P C ) ) <-> ( ( A S if ( B e. X , B , ( 0vec ` U ) ) ) P if ( C e. X , C , ( 0vec ` U ) ) ) = ( A x. ( if ( B e. X , B , ( 0vec ` U ) ) P if ( C e. X , C , ( 0vec ` U ) ) ) ) ) )
16 15 imbi2d
 |-  ( C = if ( C e. X , C , ( 0vec ` U ) ) -> ( ( A e. CC -> ( ( A S if ( B e. X , B , ( 0vec ` U ) ) ) P C ) = ( A x. ( if ( B e. X , B , ( 0vec ` U ) ) P C ) ) ) <-> ( A e. CC -> ( ( A S if ( B e. X , B , ( 0vec ` U ) ) ) P if ( C e. X , C , ( 0vec ` U ) ) ) = ( A x. ( if ( B e. X , B , ( 0vec ` U ) ) P if ( C e. X , C , ( 0vec ` U ) ) ) ) ) ) )
17 eqid
 |-  ( 0vec ` U ) = ( 0vec ` U )
18 1 17 5 elimph
 |-  if ( B e. X , B , ( 0vec ` U ) ) e. X
19 1 17 5 elimph
 |-  if ( C e. X , C , ( 0vec ` U ) ) e. X
20 1 2 3 4 5 18 19 ipasslem11
 |-  ( A e. CC -> ( ( A S if ( B e. X , B , ( 0vec ` U ) ) ) P if ( C e. X , C , ( 0vec ` U ) ) ) = ( A x. ( if ( B e. X , B , ( 0vec ` U ) ) P if ( C e. X , C , ( 0vec ` U ) ) ) ) )
21 11 16 20 dedth2h
 |-  ( ( B e. X /\ C e. X ) -> ( A e. CC -> ( ( A S B ) P C ) = ( A x. ( B P C ) ) ) )
22 21 com12
 |-  ( A e. CC -> ( ( B e. X /\ C e. X ) -> ( ( A S B ) P C ) = ( A x. ( B P C ) ) ) )
23 22 3impib
 |-  ( ( A e. CC /\ B e. X /\ C e. X ) -> ( ( A S B ) P C ) = ( A x. ( B P C ) ) )