Metamath Proof Explorer


Theorem abvtri

Description: An absolute value satisfies the triangle inequality. (Contributed by Mario Carneiro, 8-Sep-2014)

Ref Expression
Hypotheses abvf.a
|- A = ( AbsVal ` R )
abvf.b
|- B = ( Base ` R )
abvtri.p
|- .+ = ( +g ` R )
Assertion abvtri
|- ( ( F e. A /\ X e. B /\ Y e. B ) -> ( F ` ( X .+ Y ) ) <_ ( ( F ` X ) + ( F ` Y ) ) )

Proof

Step Hyp Ref Expression
1 abvf.a
 |-  A = ( AbsVal ` R )
2 abvf.b
 |-  B = ( Base ` R )
3 abvtri.p
 |-  .+ = ( +g ` R )
4 1 abvrcl
 |-  ( F e. A -> R e. Ring )
5 eqid
 |-  ( .r ` R ) = ( .r ` R )
6 eqid
 |-  ( 0g ` R ) = ( 0g ` R )
7 1 2 3 5 6 isabv
 |-  ( R e. Ring -> ( F e. A <-> ( F : B --> ( 0 [,) +oo ) /\ A. x e. B ( ( ( F ` x ) = 0 <-> x = ( 0g ` R ) ) /\ A. y e. B ( ( F ` ( x ( .r ` R ) y ) ) = ( ( F ` x ) x. ( F ` y ) ) /\ ( F ` ( x .+ y ) ) <_ ( ( F ` x ) + ( F ` y ) ) ) ) ) ) )
8 4 7 syl
 |-  ( F e. A -> ( F e. A <-> ( F : B --> ( 0 [,) +oo ) /\ A. x e. B ( ( ( F ` x ) = 0 <-> x = ( 0g ` R ) ) /\ A. y e. B ( ( F ` ( x ( .r ` R ) y ) ) = ( ( F ` x ) x. ( F ` y ) ) /\ ( F ` ( x .+ y ) ) <_ ( ( F ` x ) + ( F ` y ) ) ) ) ) ) )
9 8 ibi
 |-  ( F e. A -> ( F : B --> ( 0 [,) +oo ) /\ A. x e. B ( ( ( F ` x ) = 0 <-> x = ( 0g ` R ) ) /\ A. y e. B ( ( F ` ( x ( .r ` R ) y ) ) = ( ( F ` x ) x. ( F ` y ) ) /\ ( F ` ( x .+ y ) ) <_ ( ( F ` x ) + ( F ` y ) ) ) ) ) )
10 simpr
 |-  ( ( ( F ` ( x ( .r ` R ) y ) ) = ( ( F ` x ) x. ( F ` y ) ) /\ ( F ` ( x .+ y ) ) <_ ( ( F ` x ) + ( F ` y ) ) ) -> ( F ` ( x .+ y ) ) <_ ( ( F ` x ) + ( F ` y ) ) )
11 10 ralimi
 |-  ( A. y e. B ( ( F ` ( x ( .r ` R ) y ) ) = ( ( F ` x ) x. ( F ` y ) ) /\ ( F ` ( x .+ y ) ) <_ ( ( F ` x ) + ( F ` y ) ) ) -> A. y e. B ( F ` ( x .+ y ) ) <_ ( ( F ` x ) + ( F ` y ) ) )
12 11 adantl
 |-  ( ( ( ( F ` x ) = 0 <-> x = ( 0g ` R ) ) /\ A. y e. B ( ( F ` ( x ( .r ` R ) y ) ) = ( ( F ` x ) x. ( F ` y ) ) /\ ( F ` ( x .+ y ) ) <_ ( ( F ` x ) + ( F ` y ) ) ) ) -> A. y e. B ( F ` ( x .+ y ) ) <_ ( ( F ` x ) + ( F ` y ) ) )
13 12 ralimi
 |-  ( A. x e. B ( ( ( F ` x ) = 0 <-> x = ( 0g ` R ) ) /\ A. y e. B ( ( F ` ( x ( .r ` R ) y ) ) = ( ( F ` x ) x. ( F ` y ) ) /\ ( F ` ( x .+ y ) ) <_ ( ( F ` x ) + ( F ` y ) ) ) ) -> A. x e. B A. y e. B ( F ` ( x .+ y ) ) <_ ( ( F ` x ) + ( F ` y ) ) )
14 9 13 simpl2im
 |-  ( F e. A -> A. x e. B A. y e. B ( F ` ( x .+ y ) ) <_ ( ( F ` x ) + ( F ` y ) ) )
15 fvoveq1
 |-  ( x = X -> ( F ` ( x .+ y ) ) = ( F ` ( X .+ y ) ) )
16 fveq2
 |-  ( x = X -> ( F ` x ) = ( F ` X ) )
17 16 oveq1d
 |-  ( x = X -> ( ( F ` x ) + ( F ` y ) ) = ( ( F ` X ) + ( F ` y ) ) )
18 15 17 breq12d
 |-  ( x = X -> ( ( F ` ( x .+ y ) ) <_ ( ( F ` x ) + ( F ` y ) ) <-> ( F ` ( X .+ y ) ) <_ ( ( F ` X ) + ( F ` y ) ) ) )
19 oveq2
 |-  ( y = Y -> ( X .+ y ) = ( X .+ Y ) )
20 19 fveq2d
 |-  ( y = Y -> ( F ` ( X .+ y ) ) = ( F ` ( X .+ Y ) ) )
21 fveq2
 |-  ( y = Y -> ( F ` y ) = ( F ` Y ) )
22 21 oveq2d
 |-  ( y = Y -> ( ( F ` X ) + ( F ` y ) ) = ( ( F ` X ) + ( F ` Y ) ) )
23 20 22 breq12d
 |-  ( y = Y -> ( ( F ` ( X .+ y ) ) <_ ( ( F ` X ) + ( F ` y ) ) <-> ( F ` ( X .+ Y ) ) <_ ( ( F ` X ) + ( F ` Y ) ) ) )
24 18 23 rspc2v
 |-  ( ( X e. B /\ Y e. B ) -> ( A. x e. B A. y e. B ( F ` ( x .+ y ) ) <_ ( ( F ` x ) + ( F ` y ) ) -> ( F ` ( X .+ Y ) ) <_ ( ( F ` X ) + ( F ` Y ) ) ) )
25 14 24 syl5com
 |-  ( F e. A -> ( ( X e. B /\ Y e. B ) -> ( F ` ( X .+ Y ) ) <_ ( ( F ` X ) + ( F ` Y ) ) ) )
26 25 3impib
 |-  ( ( F e. A /\ X e. B /\ Y e. B ) -> ( F ` ( X .+ Y ) ) <_ ( ( F ` X ) + ( F ` Y ) ) )