MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  tanatan Structured version   Visualization version   GIF version

Theorem tanatan 27247
Description: The arctangent function is an inverse to tan. (Contributed by Mario Carneiro, 2-Apr-2015.)
Assertion
Ref Expression
tanatan (𝐴 ∈ dom arctan → (tan‘(arctan‘𝐴)) = 𝐴)

Proof of Theorem tanatan
StepHypRef Expression
1 atancl 27209 . . 3 (𝐴 ∈ dom arctan → (arctan‘𝐴) ∈ ℂ)
2 2efiatan 27246 . . . . . 6 (𝐴 ∈ dom arctan → (exp‘(2 · (i · (arctan‘𝐴)))) = (((2 · i) / (𝐴 + i)) − 1))
32oveq1d 7435 . . . . 5 (𝐴 ∈ dom arctan → ((exp‘(2 · (i · (arctan‘𝐴)))) + 1) = ((((2 · i) / (𝐴 + i)) − 1) + 1))
4 2mulicn 12570 . . . . . . . 8 (2 · i) ∈ ℂ
54a1i 11 . . . . . . 7 (𝐴 ∈ dom arctan → (2 · i) ∈ ℂ)
6 atandm 27204 . . . . . . . . 9 (𝐴 ∈ dom arctan ↔ (𝐴 ∈ ℂ ∧ 𝐴 ≠ -i ∧ 𝐴 ≠ i))
76simp1bi 1163 . . . . . . . 8 (𝐴 ∈ dom arctan → 𝐴 ∈ ℂ)
8 ax-icn 11259 . . . . . . . 8 i ∈ ℂ
9 addcl 11282 . . . . . . . 8 ((𝐴 ∈ ℂ ∧ i ∈ ℂ) → (𝐴 + i) ∈ ℂ)
107, 8, 9sylancl 598 . . . . . . 7 (𝐴 ∈ dom arctan → (𝐴 + i) ∈ ℂ)
11 subneg 11607 . . . . . . . . 9 ((𝐴 ∈ ℂ ∧ i ∈ ℂ) → (𝐴 − -i) = (𝐴 + i))
127, 8, 11sylancl 598 . . . . . . . 8 (𝐴 ∈ dom arctan → (𝐴 − -i) = (𝐴 + i))
136simp2bi 1164 . . . . . . . . 9 (𝐴 ∈ dom arctan → 𝐴 ≠ -i)
148negcli 11626 . . . . . . . . . 10 -i ∈ ℂ
15 subeq0 11584 . . . . . . . . . . 11 ((𝐴 ∈ ℂ ∧ -i ∈ ℂ) → ((𝐴 − -i) = 0 ↔ 𝐴 = -i))
1615necon3bid 3000 . . . . . . . . . 10 ((𝐴 ∈ ℂ ∧ -i ∈ ℂ) → ((𝐴 − -i) ≠ 0 ↔ 𝐴 ≠ -i))
177, 14, 16sylancl 598 . . . . . . . . 9 (𝐴 ∈ dom arctan → ((𝐴 − -i) ≠ 0 ↔ 𝐴 ≠ -i))
1813, 17mpbird 260 . . . . . . . 8 (𝐴 ∈ dom arctan → (𝐴 − -i) ≠ 0)
1912, 18eqnetrrd 3024 . . . . . . 7 (𝐴 ∈ dom arctan → (𝐴 + i) ≠ 0)
205, 10, 19divcld 12093 . . . . . 6 (𝐴 ∈ dom arctan → ((2 · i) / (𝐴 + i)) ∈ ℂ)
21 ax-1cn 11258 . . . . . 6 1 ∈ ℂ
22 npcan 11566 . . . . . 6 ((((2 · i) / (𝐴 + i)) ∈ ℂ ∧ 1 ∈ ℂ) → ((((2 · i) / (𝐴 + i)) − 1) + 1) = ((2 · i) / (𝐴 + i)))
2320, 21, 22sylancl 598 . . . . 5 (𝐴 ∈ dom arctan → ((((2 · i) / (𝐴 + i)) − 1) + 1) = ((2 · i) / (𝐴 + i)))
243, 23eqtrd 2796 . . . 4 (𝐴 ∈ dom arctan → ((exp‘(2 · (i · (arctan‘𝐴)))) + 1) = ((2 · i) / (𝐴 + i)))
25 2muline0 12571 . . . . . 6 (2 · i) ≠ 0
2625a1i 11 . . . . 5 (𝐴 ∈ dom arctan → (2 · i) ≠ 0)
275, 10, 26, 19divne0d 12109 . . . 4 (𝐴 ∈ dom arctan → ((2 · i) / (𝐴 + i)) ≠ 0)
2824, 27eqnetrd 3023 . . 3 (𝐴 ∈ dom arctan → ((exp‘(2 · (i · (arctan‘𝐴)))) + 1) ≠ 0)
29 tanval3 16302 . . 3 (((arctan‘𝐴) ∈ ℂ ∧ ((exp‘(2 · (i · (arctan‘𝐴)))) + 1) ≠ 0) → (tan‘(arctan‘𝐴)) = (((exp‘(2 · (i · (arctan‘𝐴)))) − 1) / (i · ((exp‘(2 · (i · (arctan‘𝐴)))) + 1))))
301, 28, 29syl2anc 596 . 2 (𝐴 ∈ dom arctan → (tan‘(arctan‘𝐴)) = (((exp‘(2 · (i · (arctan‘𝐴)))) − 1) / (i · ((exp‘(2 · (i · (arctan‘𝐴)))) + 1))))
312oveq1d 7435 . . . . . 6 (𝐴 ∈ dom arctan → ((exp‘(2 · (i · (arctan‘𝐴)))) − 1) = ((((2 · i) / (𝐴 + i)) − 1) − 1))
3221a1i 11 . . . . . . . 8 (𝐴 ∈ dom arctan → 1 ∈ ℂ)
3320, 32, 32subsub4d 11700 . . . . . . 7 (𝐴 ∈ dom arctan → ((((2 · i) / (𝐴 + i)) − 1) − 1) = (((2 · i) / (𝐴 + i)) − (1 + 1)))
34 df-2 12405 . . . . . . . 8 2 = (1 + 1)
3534oveq2i 7431 . . . . . . 7 (((2 · i) / (𝐴 + i)) − 2) = (((2 · i) / (𝐴 + i)) − (1 + 1))
3633, 35eqtr4di 2814 . . . . . 6 (𝐴 ∈ dom arctan → ((((2 · i) / (𝐴 + i)) − 1) − 1) = (((2 · i) / (𝐴 + i)) − 2))
3731, 36eqtrd 2796 . . . . 5 (𝐴 ∈ dom arctan → ((exp‘(2 · (i · (arctan‘𝐴)))) − 1) = (((2 · i) / (𝐴 + i)) − 2))
38 2cn 12418 . . . . . . . 8 2 ∈ ℂ
39 mulcl 11284 . . . . . . . 8 ((2 ∈ ℂ ∧ (𝐴 + i) ∈ ℂ) → (2 · (𝐴 + i)) ∈ ℂ)
4038, 10, 39sylancr 599 . . . . . . 7 (𝐴 ∈ dom arctan → (2 · (𝐴 + i)) ∈ ℂ)
415, 40, 10, 19divsubdird 12132 . . . . . 6 (𝐴 ∈ dom arctan → (((2 · i) − (2 · (𝐴 + i))) / (𝐴 + i)) = (((2 · i) / (𝐴 + i)) − ((2 · (𝐴 + i)) / (𝐴 + i))))
42 mulneg12 11754 . . . . . . . . 9 ((2 ∈ ℂ ∧ 𝐴 ∈ ℂ) → ( -2 · 𝐴) = (2 · -𝐴))
4338, 7, 42sylancr 599 . . . . . . . 8 (𝐴 ∈ dom arctan → ( -2 · 𝐴) = (2 · -𝐴))
44 negsub 11606 . . . . . . . . . . . 12 ((i ∈ ℂ ∧ 𝐴 ∈ ℂ) → (i + -𝐴) = (i − 𝐴))
458, 7, 44sylancr 599 . . . . . . . . . . 11 (𝐴 ∈ dom arctan → (i + -𝐴) = (i − 𝐴))
4645oveq1d 7435 . . . . . . . . . 10 (𝐴 ∈ dom arctan → ((i + -𝐴) − i) = ((i − 𝐴) − i))
477negcld 11656 . . . . . . . . . . 11 (𝐴 ∈ dom arctan → -𝐴 ∈ ℂ)
48 pncan2 11564 . . . . . . . . . . 11 ((i ∈ ℂ ∧ -𝐴 ∈ ℂ) → ((i + -𝐴) − i) = -𝐴)
498, 47, 48sylancr 599 . . . . . . . . . 10 (𝐴 ∈ dom arctan → ((i + -𝐴) − i) = -𝐴)
508a1i 11 . . . . . . . . . . 11 (𝐴 ∈ dom arctan → i ∈ ℂ)
5150, 7, 50subsub4d 11700 . . . . . . . . . 10 (𝐴 ∈ dom arctan → ((i − 𝐴) − i) = (i − (𝐴 + i)))
5246, 49, 513eqtr3rd 2805 . . . . . . . . 9 (𝐴 ∈ dom arctan → (i − (𝐴 + i)) = -𝐴)
5352oveq2d 7436 . . . . . . . 8 (𝐴 ∈ dom arctan → (2 · (i − (𝐴 + i))) = (2 · -𝐴))
5438a1i 11 . . . . . . . . 9 (𝐴 ∈ dom arctan → 2 ∈ ℂ)
5554, 50, 10subdid 11772 . . . . . . . 8 (𝐴 ∈ dom arctan → (2 · (i − (𝐴 + i))) = ((2 · i) − (2 · (𝐴 + i))))
5643, 53, 553eqtr2rd 2803 . . . . . . 7 (𝐴 ∈ dom arctan → ((2 · i) − (2 · (𝐴 + i))) = ( -2 · 𝐴))
5756oveq1d 7435 . . . . . 6 (𝐴 ∈ dom arctan → (((2 · i) − (2 · (𝐴 + i))) / (𝐴 + i)) = (( -2 · 𝐴) / (𝐴 + i)))
5854, 10, 19divcan4d 12099 . . . . . . 7 (𝐴 ∈ dom arctan → ((2 · (𝐴 + i)) / (𝐴 + i)) = 2)
5958oveq2d 7436 . . . . . 6 (𝐴 ∈ dom arctan → (((2 · i) / (𝐴 + i)) − ((2 · (𝐴 + i)) / (𝐴 + i))) = (((2 · i) / (𝐴 + i)) − 2))
6041, 57, 593eqtr3d 2804 . . . . 5 (𝐴 ∈ dom arctan → (( -2 · 𝐴) / (𝐴 + i)) = (((2 · i) / (𝐴 + i)) − 2))
6137, 60eqtr4d 2799 . . . 4 (𝐴 ∈ dom arctan → ((exp‘(2 · (i · (arctan‘𝐴)))) − 1) = (( -2 · 𝐴) / (𝐴 + i)))
6224oveq2d 7436 . . . . 5 (𝐴 ∈ dom arctan → (i · ((exp‘(2 · (i · (arctan‘𝐴)))) + 1)) = (i · ((2 · i) / (𝐴 + i))))
638, 38, 8mul12i 11505 . . . . . . . 8 (i · (2 · i)) = (2 · (i · i))
64 ixi 11945 . . . . . . . . 9 (i · i) = -1
6564oveq2i 7431 . . . . . . . 8 (2 · (i · i)) = (2 · -1)
6621negcli 11626 . . . . . . . . 9 -1 ∈ ℂ
6738mulm1i 11761 . . . . . . . . 9 ( -1 · 2) = -2
6866, 38, 67mulcomli 11318 . . . . . . . 8 (2 · -1) = -2
6963, 65, 683eqtri 2788 . . . . . . 7 (i · (2 · i)) = -2
7069oveq1i 7430 . . . . . 6 ((i · (2 · i)) / (𝐴 + i)) = ( -2 / (𝐴 + i))
7150, 5, 10, 19divassd 12128 . . . . . 6 (𝐴 ∈ dom arctan → ((i · (2 · i)) / (𝐴 + i)) = (i · ((2 · i) / (𝐴 + i))))
7270, 71eqtr3id 2810 . . . . 5 (𝐴 ∈ dom arctan → ( -2 / (𝐴 + i)) = (i · ((2 · i) / (𝐴 + i))))
7362, 72eqtr4d 2799 . . . 4 (𝐴 ∈ dom arctan → (i · ((exp‘(2 · (i · (arctan‘𝐴)))) + 1)) = ( -2 / (𝐴 + i)))
7461, 73oveq12d 7438 . . 3 (𝐴 ∈ dom arctan → (((exp‘(2 · (i · (arctan‘𝐴)))) − 1) / (i · ((exp‘(2 · (i · (arctan‘𝐴)))) + 1))) = ((( -2 · 𝐴) / (𝐴 + i)) / ( -2 / (𝐴 + i))))
7538negcli 11626 . . . . . 6 -2 ∈ ℂ
76 mulcl 11284 . . . . . 6 (( -2 ∈ ℂ ∧ 𝐴 ∈ ℂ) → ( -2 · 𝐴) ∈ ℂ)
7775, 7, 76sylancr 599 . . . . 5 (𝐴 ∈ dom arctan → ( -2 · 𝐴) ∈ ℂ)
7875a1i 11 . . . . 5 (𝐴 ∈ dom arctan → -2 ∈ ℂ)
79 2ne0 12449 . . . . . . 7 2 ≠ 0
8038, 79negne0i 11633 . . . . . 6 -2 ≠ 0
8180a1i 11 . . . . 5 (𝐴 ∈ dom arctan → -2 ≠ 0)
8277, 78, 10, 81, 19divcan7d 12121 . . . 4 (𝐴 ∈ dom arctan → ((( -2 · 𝐴) / (𝐴 + i)) / ( -2 / (𝐴 + i))) = (( -2 · 𝐴) / -2))
837, 78, 81divcan3d 12098 . . . 4 (𝐴 ∈ dom arctan → (( -2 · 𝐴) / -2) = 𝐴)
8482, 83eqtrd 2796 . . 3 (𝐴 ∈ dom arctan → ((( -2 · 𝐴) / (𝐴 + i)) / ( -2 / (𝐴 + i))) = 𝐴)
8574, 84eqtrd 2796 . 2 (𝐴 ∈ dom arctan → (((exp‘(2 · (i · (arctan‘𝐴)))) − 1) / (i · ((exp‘(2 · (i · (arctan‘𝐴)))) + 1))) = 𝐴)
8630, 85eqtrd 2796 1 (𝐴 ∈ dom arctan → (tan‘(arctan‘𝐴)) = 𝐴)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401   = wceq 1570   ∈ wcel 2145   ≠ wne 2956  dom cdm 5651  ‘cfv 6538  (class class class)co 7420  ℂcc 11198  0cc0 11200  1c1 11201  ici 11202   + caddc 11203   · cmul 11205   − cmin 11541   -cneg 11542   / cdiv 11973  2c2 12397  expce 16227  tanctan 16231  arctancatan 27192
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2733  ax-rep 5232  ax-sep 5249  ax-nul 5260  ax-pow 5327  ax-pr 5391  ax-un 7751  ax-inf2 9642  ax-cnex 11256  ax-resscn 11257  ax-1cn 11258  ax-icn 11259  ax-addcl 11260  ax-addrcl 11261  ax-mulcl 11262  ax-mulrcl 11263  ax-mulcom 11264  ax-addass 11265  ax-mulass 11266  ax-distr 11267  ax-i2m1 11268  ax-1ne0 11269  ax-1rid 11270  ax-rnegex 11271  ax-rrecex 11272  ax-cnre 11273  ax-pre-lttri 11274  ax-pre-lttrn 11275  ax-pre-ltadd 11276  ax-pre-mulgt0 11277  ax-pre-sup 11278  ax-addf 11279
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-nel 3063  df-ral 3078  df-rex 3088  df-rmo 3366  df-reu 3367  df-rab 3414  df-v 3453  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-pss 3919  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-tp 4589  df-op 4591  df-uni 4868  df-int 4908  df-iun 4953  df-iin 4954  df-br 5104  df-opab 5168  df-mpt 5187  df-tr 5213  df-id 5546  df-eprel 5551  df-po 5559  df-so 5560  df-fr 5604  df-se 5605  df-we 5606  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-res 5663  df-ima 5664  df-pred 6304  df-ord 6365  df-on 6366  df-lim 6367  df-suc 6368  df-iota 6494  df-fun 6540  df-fn 6541  df-f 6542  df-f1 6543  df-fo 6544  df-f1o 6545  df-fv 6546  df-isom 6547  df-riota 7377  df-ov 7423  df-oprab 7424  df-mpo 7425  df-of 7693  df-om 7878  df-1st 8001  df-2nd 8002  df-supp 8178  df-frecs 8299  df-wrecs 8330  df-recs 8379  df-rdg 8418  df-1o 8476  df-2o 8477  df-er 8717  df-map 8849  df-pm 8850  df-ixp 8926  df-en 8974  df-dom 8975  df-sdom 8976  df-fin 8977  df-fsupp 9354  df-fi 9403  df-sup 9434  df-inf 9435  df-oi 9504  df-card 10020  df-pnf 11345  df-mnf 11346  df-xr 11347  df-ltxr 11348  df-le 11349  df-sub 11543  df-neg 11544  df-div 11974  df-nn 12336  df-2 12405  df-3 12406  df-4 12407  df-5 12408  df-6 12409  df-7 12410  df-8 12411  df-9 12412  df-n0 12607  df-z 12694  df-dec 12815  df-uz 12966  df-q 13076  df-rp 13121  df-xneg 13241  df-xadd 13242  df-xmul 13243  df-ioo 13480  df-ioc 13481  df-ico 13482  df-icc 13483  df-fz 13640  df-fzo 13789  df-fl 13932  df-mod 14010  df-seq 14145  df-exp 14205  df-fac 14418  df-bc 14447  df-hash 14475  df-shft 15220  df-cj 15266  df-re 15267  df-im 15268  df-sqrt 15402  df-abs 15403  df-limsup 15638  df-clim 15655  df-rlim 15656  df-sum 15854  df-ef 16233  df-sin 16235  df-cos 16236  df-tan 16237  df-pi 16238  df-struct 17325  df-sets 17342  df-slot 17360  df-ndx 17372  df-base 17388  df-ress 17409  df-plusg 17441  df-mulr 17442  df-starv 17443  df-sca 17444  df-vsca 17445  df-ip 17446  df-tset 17447  df-ple 17448  df-ds 17450  df-unif 17451  df-hom 17452  df-cco 17453  df-rest 17593  df-topn 17594  df-0g 17612  df-gsum 17613  df-topgen 17614  df-pt 17615  df-prds 17618  df-xrs 17674  df-qtop 17679  df-imas 17680  df-xps 17682  df-mre 17756  df-mrc 17757  df-acs 17759  df-mgm 18816  df-sgrp 18908  df-mnd 18924  df-submnd 18979  df-mulg 19278  df-cntz 19531  df-cmn 19996  df-psmet 21670  df-xmet 21671  df-met 21672  df-bl 21673  df-mopn 21674  df-fbas 21675  df-fg 21676  df-cnfld 21679  df-top 23212  df-topon 23229  df-topsp 23251  df-bases 23264  df-cld 23337  df-ntr 23338  df-cls 23339  df-nei 23416  df-lp 23454  df-perf 23455  df-cn 23545  df-cnp 23546  df-haus 23633  df-tx 23881  df-hmeo 24074  df-fil 24165  df-fm 24257  df-flim 24258  df-flf 24259  df-xms 24639  df-ms 24640  df-tms 24641  df-cncf 25199  df-limc 26186  df-dv 26187  df-log 26884  df-atan 27195
This theorem is used by:  atantanb  27252  atanord  27255
  Copyright terms: Public domain W3C validator