| Step | Hyp | Ref | Expression | 
						
							| 1 |  | stdbdmet.1 |  |-  D = ( x e. X , y e. X |-> if ( ( x C y ) <_ R , ( x C y ) , R ) ) | 
						
							| 2 |  | rpxr |  |-  ( R e. RR+ -> R e. RR* ) | 
						
							| 3 |  | rpgt0 |  |-  ( R e. RR+ -> 0 < R ) | 
						
							| 4 | 2 3 | jca |  |-  ( R e. RR+ -> ( R e. RR* /\ 0 < R ) ) | 
						
							| 5 | 1 | stdbdxmet |  |-  ( ( C e. ( *Met ` X ) /\ R e. RR* /\ 0 < R ) -> D e. ( *Met ` X ) ) | 
						
							| 6 | 5 | 3expb |  |-  ( ( C e. ( *Met ` X ) /\ ( R e. RR* /\ 0 < R ) ) -> D e. ( *Met ` X ) ) | 
						
							| 7 | 4 6 | sylan2 |  |-  ( ( C e. ( *Met ` X ) /\ R e. RR+ ) -> D e. ( *Met ` X ) ) | 
						
							| 8 |  | xmetcl |  |-  ( ( C e. ( *Met ` X ) /\ x e. X /\ y e. X ) -> ( x C y ) e. RR* ) | 
						
							| 9 | 8 | 3expb |  |-  ( ( C e. ( *Met ` X ) /\ ( x e. X /\ y e. X ) ) -> ( x C y ) e. RR* ) | 
						
							| 10 | 9 | adantlr |  |-  ( ( ( C e. ( *Met ` X ) /\ R e. RR+ ) /\ ( x e. X /\ y e. X ) ) -> ( x C y ) e. RR* ) | 
						
							| 11 | 2 | ad2antlr |  |-  ( ( ( C e. ( *Met ` X ) /\ R e. RR+ ) /\ ( x e. X /\ y e. X ) ) -> R e. RR* ) | 
						
							| 12 | 10 11 | ifcld |  |-  ( ( ( C e. ( *Met ` X ) /\ R e. RR+ ) /\ ( x e. X /\ y e. X ) ) -> if ( ( x C y ) <_ R , ( x C y ) , R ) e. RR* ) | 
						
							| 13 |  | rpre |  |-  ( R e. RR+ -> R e. RR ) | 
						
							| 14 | 13 | ad2antlr |  |-  ( ( ( C e. ( *Met ` X ) /\ R e. RR+ ) /\ ( x e. X /\ y e. X ) ) -> R e. RR ) | 
						
							| 15 |  | xmetge0 |  |-  ( ( C e. ( *Met ` X ) /\ x e. X /\ y e. X ) -> 0 <_ ( x C y ) ) | 
						
							| 16 | 15 | 3expb |  |-  ( ( C e. ( *Met ` X ) /\ ( x e. X /\ y e. X ) ) -> 0 <_ ( x C y ) ) | 
						
							| 17 | 16 | adantlr |  |-  ( ( ( C e. ( *Met ` X ) /\ R e. RR+ ) /\ ( x e. X /\ y e. X ) ) -> 0 <_ ( x C y ) ) | 
						
							| 18 |  | rpge0 |  |-  ( R e. RR+ -> 0 <_ R ) | 
						
							| 19 | 18 | ad2antlr |  |-  ( ( ( C e. ( *Met ` X ) /\ R e. RR+ ) /\ ( x e. X /\ y e. X ) ) -> 0 <_ R ) | 
						
							| 20 |  | breq2 |  |-  ( ( x C y ) = if ( ( x C y ) <_ R , ( x C y ) , R ) -> ( 0 <_ ( x C y ) <-> 0 <_ if ( ( x C y ) <_ R , ( x C y ) , R ) ) ) | 
						
							| 21 |  | breq2 |  |-  ( R = if ( ( x C y ) <_ R , ( x C y ) , R ) -> ( 0 <_ R <-> 0 <_ if ( ( x C y ) <_ R , ( x C y ) , R ) ) ) | 
						
							| 22 | 20 21 | ifboth |  |-  ( ( 0 <_ ( x C y ) /\ 0 <_ R ) -> 0 <_ if ( ( x C y ) <_ R , ( x C y ) , R ) ) | 
						
							| 23 | 17 19 22 | syl2anc |  |-  ( ( ( C e. ( *Met ` X ) /\ R e. RR+ ) /\ ( x e. X /\ y e. X ) ) -> 0 <_ if ( ( x C y ) <_ R , ( x C y ) , R ) ) | 
						
							| 24 |  | xrmin2 |  |-  ( ( ( x C y ) e. RR* /\ R e. RR* ) -> if ( ( x C y ) <_ R , ( x C y ) , R ) <_ R ) | 
						
							| 25 | 10 11 24 | syl2anc |  |-  ( ( ( C e. ( *Met ` X ) /\ R e. RR+ ) /\ ( x e. X /\ y e. X ) ) -> if ( ( x C y ) <_ R , ( x C y ) , R ) <_ R ) | 
						
							| 26 |  | xrrege0 |  |-  ( ( ( if ( ( x C y ) <_ R , ( x C y ) , R ) e. RR* /\ R e. RR ) /\ ( 0 <_ if ( ( x C y ) <_ R , ( x C y ) , R ) /\ if ( ( x C y ) <_ R , ( x C y ) , R ) <_ R ) ) -> if ( ( x C y ) <_ R , ( x C y ) , R ) e. RR ) | 
						
							| 27 | 12 14 23 25 26 | syl22anc |  |-  ( ( ( C e. ( *Met ` X ) /\ R e. RR+ ) /\ ( x e. X /\ y e. X ) ) -> if ( ( x C y ) <_ R , ( x C y ) , R ) e. RR ) | 
						
							| 28 | 27 | ralrimivva |  |-  ( ( C e. ( *Met ` X ) /\ R e. RR+ ) -> A. x e. X A. y e. X if ( ( x C y ) <_ R , ( x C y ) , R ) e. RR ) | 
						
							| 29 | 1 | fmpo |  |-  ( A. x e. X A. y e. X if ( ( x C y ) <_ R , ( x C y ) , R ) e. RR <-> D : ( X X. X ) --> RR ) | 
						
							| 30 | 28 29 | sylib |  |-  ( ( C e. ( *Met ` X ) /\ R e. RR+ ) -> D : ( X X. X ) --> RR ) | 
						
							| 31 |  | ismet2 |  |-  ( D e. ( Met ` X ) <-> ( D e. ( *Met ` X ) /\ D : ( X X. X ) --> RR ) ) | 
						
							| 32 | 7 30 31 | sylanbrc |  |-  ( ( C e. ( *Met ` X ) /\ R e. RR+ ) -> D e. ( Met ` X ) ) |