# Metamath Proof Explorer

## Theorem abveq0

Description: The value of an absolute value is zero iff the argument is zero. (Contributed by Mario Carneiro, 8-Sep-2014)

Ref Expression
Hypotheses abvf.a
`|- A = ( AbsVal ` R )`
abvf.b
`|- B = ( Base ` R )`
abveq0.z
`|- .0. = ( 0g ` R )`
Assertion abveq0
`|- ( ( F e. A /\ X e. B ) -> ( ( F ` X ) = 0 <-> X = .0. ) )`

### Proof

Step Hyp Ref Expression
1 abvf.a
` |-  A = ( AbsVal ` R )`
2 abvf.b
` |-  B = ( Base ` R )`
3 abveq0.z
` |-  .0. = ( 0g ` R )`
4 1 abvrcl
` |-  ( F e. A -> R e. Ring )`
5 eqid
` |-  ( +g ` R ) = ( +g ` R )`
6 eqid
` |-  ( .r ` R ) = ( .r ` R )`
7 1 2 5 6 3 isabv
` |-  ( R e. Ring -> ( F e. A <-> ( F : B --> ( 0 [,) +oo ) /\ A. x e. B ( ( ( F ` x ) = 0 <-> x = .0. ) /\ A. y e. B ( ( F ` ( x ( .r ` R ) y ) ) = ( ( F ` x ) x. ( F ` y ) ) /\ ( F ` ( x ( +g ` R ) 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 = .0. ) /\ A. y e. B ( ( F ` ( x ( .r ` R ) y ) ) = ( ( F ` x ) x. ( F ` y ) ) /\ ( F ` ( x ( +g ` R ) y ) ) <_ ( ( F ` x ) + ( F ` y ) ) ) ) ) ) )`
9 8 ibi
` |-  ( F e. A -> ( F : B --> ( 0 [,) +oo ) /\ A. x e. B ( ( ( F ` x ) = 0 <-> x = .0. ) /\ A. y e. B ( ( F ` ( x ( .r ` R ) y ) ) = ( ( F ` x ) x. ( F ` y ) ) /\ ( F ` ( x ( +g ` R ) y ) ) <_ ( ( F ` x ) + ( F ` y ) ) ) ) ) )`
10 simpl
` |-  ( ( ( ( F ` x ) = 0 <-> x = .0. ) /\ A. y e. B ( ( F ` ( x ( .r ` R ) y ) ) = ( ( F ` x ) x. ( F ` y ) ) /\ ( F ` ( x ( +g ` R ) y ) ) <_ ( ( F ` x ) + ( F ` y ) ) ) ) -> ( ( F ` x ) = 0 <-> x = .0. ) )`
11 10 ralimi
` |-  ( A. x e. B ( ( ( F ` x ) = 0 <-> x = .0. ) /\ A. y e. B ( ( F ` ( x ( .r ` R ) y ) ) = ( ( F ` x ) x. ( F ` y ) ) /\ ( F ` ( x ( +g ` R ) y ) ) <_ ( ( F ` x ) + ( F ` y ) ) ) ) -> A. x e. B ( ( F ` x ) = 0 <-> x = .0. ) )`
12 9 11 simpl2im
` |-  ( F e. A -> A. x e. B ( ( F ` x ) = 0 <-> x = .0. ) )`
13 fveqeq2
` |-  ( x = X -> ( ( F ` x ) = 0 <-> ( F ` X ) = 0 ) )`
14 eqeq1
` |-  ( x = X -> ( x = .0. <-> X = .0. ) )`
15 13 14 bibi12d
` |-  ( x = X -> ( ( ( F ` x ) = 0 <-> x = .0. ) <-> ( ( F ` X ) = 0 <-> X = .0. ) ) )`
16 15 rspccva
` |-  ( ( A. x e. B ( ( F ` x ) = 0 <-> x = .0. ) /\ X e. B ) -> ( ( F ` X ) = 0 <-> X = .0. ) )`
17 12 16 sylan
` |-  ( ( F e. A /\ X e. B ) -> ( ( F ` X ) = 0 <-> X = .0. ) )`