Metamath Proof Explorer


Theorem readvrec

Description: For real numbers, the antiderivative of 1/x is ln|x|. (Contributed by SN, 30-Sep-2025)

Ref Expression
Hypothesis redvabs.d
|- D = ( RR \ { 0 } )
Assertion readvrec
|- ( RR _D ( x e. D |-> ( log ` ( abs ` x ) ) ) ) = ( x e. D |-> ( 1 / x ) )

Proof

Step Hyp Ref Expression
1 redvabs.d
 |-  D = ( RR \ { 0 } )
2 reelprrecn
 |-  RR e. { RR , CC }
3 2 a1i
 |-  ( T. -> RR e. { RR , CC } )
4 cnelprrecn
 |-  CC e. { RR , CC }
5 4 a1i
 |-  ( T. -> CC e. { RR , CC } )
6 dfrp2
 |-  RR+ = ( 0 (,) +oo )
7 mnfxr
 |-  -oo e. RR*
8 7 a1i
 |-  ( T. -> -oo e. RR* )
9 0xr
 |-  0 e. RR*
10 9 a1i
 |-  ( T. -> 0 e. RR* )
11 pnfxr
 |-  +oo e. RR*
12 11 a1i
 |-  ( T. -> +oo e. RR* )
13 8 10 12 iocioodisjd
 |-  ( T. -> ( ( -oo (,] 0 ) i^i ( 0 (,) +oo ) ) = (/) )
14 13 mptru
 |-  ( ( -oo (,] 0 ) i^i ( 0 (,) +oo ) ) = (/)
15 14 ineqcomi
 |-  ( ( 0 (,) +oo ) i^i ( -oo (,] 0 ) ) = (/)
16 disjdif2
 |-  ( ( ( 0 (,) +oo ) i^i ( -oo (,] 0 ) ) = (/) -> ( ( 0 (,) +oo ) \ ( -oo (,] 0 ) ) = ( 0 (,) +oo ) )
17 15 16 ax-mp
 |-  ( ( 0 (,) +oo ) \ ( -oo (,] 0 ) ) = ( 0 (,) +oo )
18 6 17 eqtr4i
 |-  RR+ = ( ( 0 (,) +oo ) \ ( -oo (,] 0 ) )
19 ioosscn
 |-  ( 0 (,) +oo ) C_ CC
20 ssdif
 |-  ( ( 0 (,) +oo ) C_ CC -> ( ( 0 (,) +oo ) \ ( -oo (,] 0 ) ) C_ ( CC \ ( -oo (,] 0 ) ) )
21 19 20 ax-mp
 |-  ( ( 0 (,) +oo ) \ ( -oo (,] 0 ) ) C_ ( CC \ ( -oo (,] 0 ) )
22 18 21 eqsstri
 |-  RR+ C_ ( CC \ ( -oo (,] 0 ) )
23 1 eleq2i
 |-  ( x e. D <-> x e. ( RR \ { 0 } ) )
24 eldifsn
 |-  ( x e. ( RR \ { 0 } ) <-> ( x e. RR /\ x =/= 0 ) )
25 23 24 bitri
 |-  ( x e. D <-> ( x e. RR /\ x =/= 0 ) )
26 25 simplbi
 |-  ( x e. D -> x e. RR )
27 26 recnd
 |-  ( x e. D -> x e. CC )
28 27 adantl
 |-  ( ( T. /\ x e. D ) -> x e. CC )
29 25 simprbi
 |-  ( x e. D -> x =/= 0 )
30 29 adantl
 |-  ( ( T. /\ x e. D ) -> x =/= 0 )
31 28 30 absrpcld
 |-  ( ( T. /\ x e. D ) -> ( abs ` x ) e. RR+ )
32 22 31 sselid
 |-  ( ( T. /\ x e. D ) -> ( abs ` x ) e. ( CC \ ( -oo (,] 0 ) ) )
33 negex
 |-  -u 1 e. _V
34 1ex
 |-  1 e. _V
35 33 34 ifex
 |-  if ( x < 0 , -u 1 , 1 ) e. _V
36 35 a1i
 |-  ( ( T. /\ x e. D ) -> if ( x < 0 , -u 1 , 1 ) e. _V )
37 eldifi
 |-  ( y e. ( CC \ ( -oo (,] 0 ) ) -> y e. CC )
38 37 adantl
 |-  ( ( T. /\ y e. ( CC \ ( -oo (,] 0 ) ) ) -> y e. CC )
39 eldifn
 |-  ( y e. ( CC \ ( -oo (,] 0 ) ) -> -. y e. ( -oo (,] 0 ) )
40 mnflt0
 |-  -oo < 0
41 ubioc1
 |-  ( ( -oo e. RR* /\ 0 e. RR* /\ -oo < 0 ) -> 0 e. ( -oo (,] 0 ) )
42 7 9 40 41 mp3an
 |-  0 e. ( -oo (,] 0 )
43 eleq1
 |-  ( y = 0 -> ( y e. ( -oo (,] 0 ) <-> 0 e. ( -oo (,] 0 ) ) )
44 42 43 mpbiri
 |-  ( y = 0 -> y e. ( -oo (,] 0 ) )
45 44 necon3bi
 |-  ( -. y e. ( -oo (,] 0 ) -> y =/= 0 )
46 39 45 syl
 |-  ( y e. ( CC \ ( -oo (,] 0 ) ) -> y =/= 0 )
47 46 adantl
 |-  ( ( T. /\ y e. ( CC \ ( -oo (,] 0 ) ) ) -> y =/= 0 )
48 38 47 logcld
 |-  ( ( T. /\ y e. ( CC \ ( -oo (,] 0 ) ) ) -> ( log ` y ) e. CC )
49 ovexd
 |-  ( ( T. /\ y e. ( CC \ ( -oo (,] 0 ) ) ) -> ( 1 / y ) e. _V )
50 1 redvmptabs
 |-  ( RR _D ( x e. D |-> ( abs ` x ) ) ) = ( x e. D |-> if ( x < 0 , -u 1 , 1 ) )
51 50 a1i
 |-  ( T. -> ( RR _D ( x e. D |-> ( abs ` x ) ) ) = ( x e. D |-> if ( x < 0 , -u 1 , 1 ) ) )
52 logf1o
 |-  log : ( CC \ { 0 } ) -1-1-onto-> ran log
53 f1of
 |-  ( log : ( CC \ { 0 } ) -1-1-onto-> ran log -> log : ( CC \ { 0 } ) --> ran log )
54 52 53 mp1i
 |-  ( T. -> log : ( CC \ { 0 } ) --> ran log )
55 eqid
 |-  ( CC \ ( -oo (,] 0 ) ) = ( CC \ ( -oo (,] 0 ) )
56 55 logdmss
 |-  ( CC \ ( -oo (,] 0 ) ) C_ ( CC \ { 0 } )
57 56 a1i
 |-  ( T. -> ( CC \ ( -oo (,] 0 ) ) C_ ( CC \ { 0 } ) )
58 54 57 feqresmpt
 |-  ( T. -> ( log |` ( CC \ ( -oo (,] 0 ) ) ) = ( y e. ( CC \ ( -oo (,] 0 ) ) |-> ( log ` y ) ) )
59 58 mptru
 |-  ( log |` ( CC \ ( -oo (,] 0 ) ) ) = ( y e. ( CC \ ( -oo (,] 0 ) ) |-> ( log ` y ) )
60 59 oveq2i
 |-  ( CC _D ( log |` ( CC \ ( -oo (,] 0 ) ) ) ) = ( CC _D ( y e. ( CC \ ( -oo (,] 0 ) ) |-> ( log ` y ) ) )
61 55 dvlog
 |-  ( CC _D ( log |` ( CC \ ( -oo (,] 0 ) ) ) ) = ( y e. ( CC \ ( -oo (,] 0 ) ) |-> ( 1 / y ) )
62 60 61 eqtr3i
 |-  ( CC _D ( y e. ( CC \ ( -oo (,] 0 ) ) |-> ( log ` y ) ) ) = ( y e. ( CC \ ( -oo (,] 0 ) ) |-> ( 1 / y ) )
63 62 a1i
 |-  ( T. -> ( CC _D ( y e. ( CC \ ( -oo (,] 0 ) ) |-> ( log ` y ) ) ) = ( y e. ( CC \ ( -oo (,] 0 ) ) |-> ( 1 / y ) ) )
64 fveq2
 |-  ( y = ( abs ` x ) -> ( log ` y ) = ( log ` ( abs ` x ) ) )
65 oveq2
 |-  ( y = ( abs ` x ) -> ( 1 / y ) = ( 1 / ( abs ` x ) ) )
66 3 5 32 36 48 49 51 63 64 65 dvmptco
 |-  ( T. -> ( RR _D ( x e. D |-> ( log ` ( abs ` x ) ) ) ) = ( x e. D |-> ( ( 1 / ( abs ` x ) ) x. if ( x < 0 , -u 1 , 1 ) ) ) )
67 66 mptru
 |-  ( RR _D ( x e. D |-> ( log ` ( abs ` x ) ) ) ) = ( x e. D |-> ( ( 1 / ( abs ` x ) ) x. if ( x < 0 , -u 1 , 1 ) ) )
68 ovif2
 |-  ( ( 1 / ( abs ` x ) ) x. if ( x < 0 , -u 1 , 1 ) ) = if ( x < 0 , ( ( 1 / ( abs ` x ) ) x. -u 1 ) , ( ( 1 / ( abs ` x ) ) x. 1 ) )
69 simpll
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> x e. RR )
70 69 recnd
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> x e. CC )
71 70 abscld
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> ( abs ` x ) e. RR )
72 71 recnd
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> ( abs ` x ) e. CC )
73 simplr
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> x =/= 0 )
74 70 73 absne0d
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> ( abs ` x ) =/= 0 )
75 72 74 reccld
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> ( 1 / ( abs ` x ) ) e. CC )
76 neg1cn
 |-  -u 1 e. CC
77 76 a1i
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> -u 1 e. CC )
78 75 77 mulcomd
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> ( ( 1 / ( abs ` x ) ) x. -u 1 ) = ( -u 1 x. ( 1 / ( abs ` x ) ) ) )
79 75 mulm1d
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> ( -u 1 x. ( 1 / ( abs ` x ) ) ) = -u ( 1 / ( abs ` x ) ) )
80 1cnd
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> 1 e. CC )
81 80 72 74 divneg2d
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> -u ( 1 / ( abs ` x ) ) = ( 1 / -u ( abs ` x ) ) )
82 0red
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> 0 e. RR )
83 simpr
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> x < 0 )
84 69 82 83 ltled
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> x <_ 0 )
85 69 84 absnidd
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> ( abs ` x ) = -u x )
86 85 eqcomd
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> -u x = ( abs ` x ) )
87 70 86 negcon1ad
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> -u ( abs ` x ) = x )
88 87 oveq2d
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> ( 1 / -u ( abs ` x ) ) = ( 1 / x ) )
89 81 88 eqtrd
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> -u ( 1 / ( abs ` x ) ) = ( 1 / x ) )
90 78 79 89 3eqtrd
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ x < 0 ) -> ( ( 1 / ( abs ` x ) ) x. -u 1 ) = ( 1 / x ) )
91 25 90 sylanb
 |-  ( ( x e. D /\ x < 0 ) -> ( ( 1 / ( abs ` x ) ) x. -u 1 ) = ( 1 / x ) )
92 recn
 |-  ( x e. RR -> x e. CC )
93 92 abscld
 |-  ( x e. RR -> ( abs ` x ) e. RR )
94 93 ad2antrr
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ -. x < 0 ) -> ( abs ` x ) e. RR )
95 92 ad2antrr
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ -. x < 0 ) -> x e. CC )
96 simplr
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ -. x < 0 ) -> x =/= 0 )
97 95 96 absne0d
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ -. x < 0 ) -> ( abs ` x ) =/= 0 )
98 94 97 rereccld
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ -. x < 0 ) -> ( 1 / ( abs ` x ) ) e. RR )
99 98 recnd
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ -. x < 0 ) -> ( 1 / ( abs ` x ) ) e. CC )
100 99 mulridd
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ -. x < 0 ) -> ( ( 1 / ( abs ` x ) ) x. 1 ) = ( 1 / ( abs ` x ) ) )
101 simpll
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ -. x < 0 ) -> x e. RR )
102 0red
 |-  ( ( x e. RR /\ x =/= 0 ) -> 0 e. RR )
103 simpl
 |-  ( ( x e. RR /\ x =/= 0 ) -> x e. RR )
104 102 103 lenltd
 |-  ( ( x e. RR /\ x =/= 0 ) -> ( 0 <_ x <-> -. x < 0 ) )
105 104 biimpar
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ -. x < 0 ) -> 0 <_ x )
106 101 105 absidd
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ -. x < 0 ) -> ( abs ` x ) = x )
107 106 oveq2d
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ -. x < 0 ) -> ( 1 / ( abs ` x ) ) = ( 1 / x ) )
108 100 107 eqtrd
 |-  ( ( ( x e. RR /\ x =/= 0 ) /\ -. x < 0 ) -> ( ( 1 / ( abs ` x ) ) x. 1 ) = ( 1 / x ) )
109 25 108 sylanb
 |-  ( ( x e. D /\ -. x < 0 ) -> ( ( 1 / ( abs ` x ) ) x. 1 ) = ( 1 / x ) )
110 91 109 ifeqda
 |-  ( x e. D -> if ( x < 0 , ( ( 1 / ( abs ` x ) ) x. -u 1 ) , ( ( 1 / ( abs ` x ) ) x. 1 ) ) = ( 1 / x ) )
111 68 110 eqtrid
 |-  ( x e. D -> ( ( 1 / ( abs ` x ) ) x. if ( x < 0 , -u 1 , 1 ) ) = ( 1 / x ) )
112 111 mpteq2ia
 |-  ( x e. D |-> ( ( 1 / ( abs ` x ) ) x. if ( x < 0 , -u 1 , 1 ) ) ) = ( x e. D |-> ( 1 / x ) )
113 67 112 eqtri
 |-  ( RR _D ( x e. D |-> ( log ` ( abs ` x ) ) ) ) = ( x e. D |-> ( 1 / x ) )