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

Theorem tanatan 27262
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 27224 . . 3 (𝐴 ∈ dom arctan → (arctan‘𝐴) ∈ ℂ)
2 2efiatan 27261 . . . . . 6 (𝐴 ∈ dom arctan → (exp‘(2 · (i · (arctan‘𝐴)))) = (((2 · i) / (𝐴 + i)) − 1))
32oveq1d 7445 . . . . 5 (𝐴 ∈ dom arctan → ((exp‘(2 · (i · (arctan‘𝐴)))) + 1) = ((((2 · i) / (𝐴 + i)) − 1) + 1))
4 2mulicn 12583 . . . . . . . 8 (2 · i) ∈ ℂ
54a1i 11 . . . . . . 7 (𝐴 ∈ dom arctan → (2 · i) ∈ ℂ)
6 atandm 27219 . . . . . . . . 9 (𝐴 ∈ dom arctan ↔ (𝐴 ∈ ℂ ∧ 𝐴 ≠ -i ∧ 𝐴 ≠ i))
76simp1bi 1163 . . . . . . . 8 (𝐴 ∈ dom arctan → 𝐴 ∈ ℂ)
8 ax-icn 11272 . . . . . . . 8 i ∈ ℂ
9 addcl 11295 . . . . . . . 8 ((𝐴 ∈ ℂ ∧ i ∈ ℂ) → (𝐴 + i) ∈ ℂ)
107, 8, 9sylancl 598 . . . . . . 7 (𝐴 ∈ dom arctan → (𝐴 + i) ∈ ℂ)
11 subneg 11620 . . . . . . . . 9 ((𝐴 ∈ ℂ ∧ i ∈ ℂ) → (𝐴 − -i) = (𝐴 + i))
127, 8, 11sylancl 598 . . . . . . . 8 (𝐴 ∈ dom arctan → (𝐴 − -i) = (𝐴 + i))
136simp2bi 1164 . . . . . . . . 9 (𝐴 ∈ dom arctan → 𝐴 ≠ -i)
148negcli 11639 . . . . . . . . . 10 -i ∈ ℂ
15 subeq0 11597 . . . . . . . . . . 11 ((𝐴 ∈ ℂ ∧ -i ∈ ℂ) → ((𝐴 − -i) = 0 ↔ 𝐴 = -i))
1615necon3bid 3003 . . . . . . . . . 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 3027 . . . . . . 7 (𝐴 ∈ dom arctan → (𝐴 + i) ≠ 0)
205, 10, 19divcld 12106 . . . . . 6 (𝐴 ∈ dom arctan → ((2 · i) / (𝐴 + i)) ∈ ℂ)
21 ax-1cn 11271 . . . . . 6 1 ∈ ℂ
22 npcan 11579 . . . . . 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 2798 . . . 4 (𝐴 ∈ dom arctan → ((exp‘(2 · (i · (arctan‘𝐴)))) + 1) = ((2 · i) / (𝐴 + i)))
25 2muline0 12584 . . . . . 6 (2 · i) ≠ 0
2625a1i 11 . . . . 5 (𝐴 ∈ dom arctan → (2 · i) ≠ 0)
275, 10, 26, 19divne0d 12122 . . . 4 (𝐴 ∈ dom arctan → ((2 · i) / (𝐴 + i)) ≠ 0)
2824, 27eqnetrd 3026 . . 3 (𝐴 ∈ dom arctan → ((exp‘(2 · (i · (arctan‘𝐴)))) + 1) ≠ 0)
29 tanval3 16317 . . 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 7445 . . . . . 6 (𝐴 ∈ dom arctan → ((exp‘(2 · (i · (arctan‘𝐴)))) − 1) = ((((2 · i) / (𝐴 + i)) − 1) − 1))
3221a1i 11 . . . . . . . 8 (𝐴 ∈ dom arctan → 1 ∈ ℂ)
3320, 32, 32subsub4d 11713 . . . . . . 7 (𝐴 ∈ dom arctan → ((((2 · i) / (𝐴 + i)) − 1) − 1) = (((2 · i) / (𝐴 + i)) − (1 + 1)))
34 df-2 12418 . . . . . . . 8 2 = (1 + 1)
3534oveq2i 7441 . . . . . . 7 (((2 · i) / (𝐴 + i)) − 2) = (((2 · i) / (𝐴 + i)) − (1 + 1))
3633, 35eqtr4di 2816 . . . . . 6 (𝐴 ∈ dom arctan → ((((2 · i) / (𝐴 + i)) − 1) − 1) = (((2 · i) / (𝐴 + i)) − 2))
3731, 36eqtrd 2798 . . . . 5 (𝐴 ∈ dom arctan → ((exp‘(2 · (i · (arctan‘𝐴)))) − 1) = (((2 · i) / (𝐴 + i)) − 2))
38 2cn 12431 . . . . . . . 8 2 ∈ ℂ
39 mulcl 11297 . . . . . . . 8 ((2 ∈ ℂ ∧ (𝐴 + i) ∈ ℂ) → (2 · (𝐴 + i)) ∈ ℂ)
4038, 10, 39sylancr 599 . . . . . . 7 (𝐴 ∈ dom arctan → (2 · (𝐴 + i)) ∈ ℂ)
415, 40, 10, 19divsubdird 12145 . . . . . 6 (𝐴 ∈ dom arctan → (((2 · i) − (2 · (𝐴 + i))) / (𝐴 + i)) = (((2 · i) / (𝐴 + i)) − ((2 · (𝐴 + i)) / (𝐴 + i))))
42 mulneg12 11767 . . . . . . . . 9 ((2 ∈ ℂ ∧ 𝐴 ∈ ℂ) → ( -2 · 𝐴) = (2 · -𝐴))
4338, 7, 42sylancr 599 . . . . . . . 8 (𝐴 ∈ dom arctan → ( -2 · 𝐴) = (2 · -𝐴))
44 negsub 11619 . . . . . . . . . . . 12 ((i ∈ ℂ ∧ 𝐴 ∈ ℂ) → (i + -𝐴) = (i − 𝐴))
458, 7, 44sylancr 599 . . . . . . . . . . 11 (𝐴 ∈ dom arctan → (i + -𝐴) = (i − 𝐴))
4645oveq1d 7445 . . . . . . . . . 10 (𝐴 ∈ dom arctan → ((i + -𝐴) − i) = ((i − 𝐴) − i))
477negcld 11669 . . . . . . . . . . 11 (𝐴 ∈ dom arctan → -𝐴 ∈ ℂ)
48 pncan2 11577 . . . . . . . . . . 11 ((i ∈ ℂ ∧ -𝐴 ∈ ℂ) → ((i + -𝐴) − i) = -𝐴)
498, 47, 48sylancr 599 . . . . . . . . . 10 (𝐴 ∈ dom arctan → ((i + -𝐴) − i) = -𝐴)
508a1i 11 . . . . . . . . . . 11 (𝐴 ∈ dom arctan → i ∈ ℂ)
5150, 7, 50subsub4d 11713 . . . . . . . . . 10 (𝐴 ∈ dom arctan → ((i − 𝐴) − i) = (i − (𝐴 + i)))
5246, 49, 513eqtr3rd 2807 . . . . . . . . 9 (𝐴 ∈ dom arctan → (i − (𝐴 + i)) = -𝐴)
5352oveq2d 7446 . . . . . . . 8 (𝐴 ∈ dom arctan → (2 · (i − (𝐴 + i))) = (2 · -𝐴))
5438a1i 11 . . . . . . . . 9 (𝐴 ∈ dom arctan → 2 ∈ ℂ)
5554, 50, 10subdid 11785 . . . . . . . 8 (𝐴 ∈ dom arctan → (2 · (i − (𝐴 + i))) = ((2 · i) − (2 · (𝐴 + i))))
5643, 53, 553eqtr2rd 2805 . . . . . . 7 (𝐴 ∈ dom arctan → ((2 · i) − (2 · (𝐴 + i))) = ( -2 · 𝐴))
5756oveq1d 7445 . . . . . 6 (𝐴 ∈ dom arctan → (((2 · i) − (2 · (𝐴 + i))) / (𝐴 + i)) = (( -2 · 𝐴) / (𝐴 + i)))
5854, 10, 19divcan4d 12112 . . . . . . 7 (𝐴 ∈ dom arctan → ((2 · (𝐴 + i)) / (𝐴 + i)) = 2)
5958oveq2d 7446 . . . . . 6 (𝐴 ∈ dom arctan → (((2 · i) / (𝐴 + i)) − ((2 · (𝐴 + i)) / (𝐴 + i))) = (((2 · i) / (𝐴 + i)) − 2))
6041, 57, 593eqtr3d 2806 . . . . 5 (𝐴 ∈ dom arctan → (( -2 · 𝐴) / (𝐴 + i)) = (((2 · i) / (𝐴 + i)) − 2))
6137, 60eqtr4d 2801 . . . 4 (𝐴 ∈ dom arctan → ((exp‘(2 · (i · (arctan‘𝐴)))) − 1) = (( -2 · 𝐴) / (𝐴 + i)))
6224oveq2d 7446 . . . . 5 (𝐴 ∈ dom arctan → (i · ((exp‘(2 · (i · (arctan‘𝐴)))) + 1)) = (i · ((2 · i) / (𝐴 + i))))
638, 38, 8mul12i 11518 . . . . . . . 8 (i · (2 · i)) = (2 · (i · i))
64 ixi 11958 . . . . . . . . 9 (i · i) = -1
6564oveq2i 7441 . . . . . . . 8 (2 · (i · i)) = (2 · -1)
6621negcli 11639 . . . . . . . . 9 -1 ∈ ℂ
6738mulm1i 11774 . . . . . . . . 9 ( -1 · 2) = -2
6866, 38, 67mulcomli 11331 . . . . . . . 8 (2 · -1) = -2
6963, 65, 683eqtri 2790 . . . . . . 7 (i · (2 · i)) = -2
7069oveq1i 7440 . . . . . 6 ((i · (2 · i)) / (𝐴 + i)) = ( -2 / (𝐴 + i))
7150, 5, 10, 19divassd 12141 . . . . . 6 (𝐴 ∈ dom arctan → ((i · (2 · i)) / (𝐴 + i)) = (i · ((2 · i) / (𝐴 + i))))
7270, 71eqtr3id 2812 . . . . 5 (𝐴 ∈ dom arctan → ( -2 / (𝐴 + i)) = (i · ((2 · i) / (𝐴 + i))))
7362, 72eqtr4d 2801 . . . 4 (𝐴 ∈ dom arctan → (i · ((exp‘(2 · (i · (arctan‘𝐴)))) + 1)) = ( -2 / (𝐴 + i)))
7461, 73oveq12d 7448 . . 3 (𝐴 ∈ dom arctan → (((exp‘(2 · (i · (arctan‘𝐴)))) − 1) / (i · ((exp‘(2 · (i · (arctan‘𝐴)))) + 1))) = ((( -2 · 𝐴) / (𝐴 + i)) / ( -2 / (𝐴 + i))))
7538negcli 11639 . . . . . 6 -2 ∈ ℂ
76 mulcl 11297 . . . . . 6 (( -2 ∈ ℂ ∧ 𝐴 ∈ ℂ) → ( -2 · 𝐴) ∈ ℂ)
7775, 7, 76sylancr 599 . . . . 5 (𝐴 ∈ dom arctan → ( -2 · 𝐴) ∈ ℂ)
7875a1i 11 . . . . 5 (𝐴 ∈ dom arctan → -2 ∈ ℂ)
79 2ne0 12462 . . . . . . 7 2 ≠ 0
8038, 79negne0i 11646 . . . . . 6 -2 ≠ 0
8180a1i 11 . . . . 5 (𝐴 ∈ dom arctan → -2 ≠ 0)
8277, 78, 10, 81, 19divcan7d 12134 . . . 4 (𝐴 ∈ dom arctan → ((( -2 · 𝐴) / (𝐴 + i)) / ( -2 / (𝐴 + i))) = (( -2 · 𝐴) / -2))
837, 78, 81divcan3d 12111 . . . 4 (𝐴 ∈ dom arctan → (( -2 · 𝐴) / -2) = 𝐴)
8482, 83eqtrd 2798 . . 3 (𝐴 ∈ dom arctan → ((( -2 · 𝐴) / (𝐴 + i)) / ( -2 / (𝐴 + i))) = 𝐴)
8574, 84eqtrd 2798 . 2 (𝐴 ∈ dom arctan → (((exp‘(2 · (i · (arctan‘𝐴)))) − 1) / (i · ((exp‘(2 · (i · (arctan‘𝐴)))) + 1))) = 𝐴)
8630, 85eqtrd 2798 1 (𝐴 ∈ dom arctan → (tan‘(arctan‘𝐴)) = 𝐴)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401   = wceq 1569   ∈ wcel 2146   ≠ wne 2959  dom cdm 5655  ‘cfv 6547  (class class class)co 7430  ℂcc 11211  0cc0 11213  1c1 11214  ici 11215   + caddc 11216   · cmul 11218   − cmin 11554   -cneg 11555   / cdiv 11986  2c2 12410  expce 16242  tanctan 16246  arctancatan 27207
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1944  ax-6 2001  ax-7 2042  ax-8 2148  ax-9 2156  ax-10 2179  ax-11 2196  ax-12 2215  ax-ext 2735  ax-rep 5235  ax-sep 5252  ax-nul 5263  ax-pow 5331  ax-pr 5395  ax-un 7761  ax-inf2 9655  ax-cnex 11269  ax-resscn 11270  ax-1cn 11271  ax-icn 11272  ax-addcl 11273  ax-addrcl 11274  ax-mulcl 11275  ax-mulrcl 11276  ax-mulcom 11277  ax-addass 11278  ax-mulass 11279  ax-distr 11280  ax-i2m1 11281  ax-1ne0 11282  ax-1rid 11283  ax-rnegex 11284  ax-rrecex 11285  ax-cnre 11286  ax-pre-lttri 11287  ax-pre-lttrn 11288  ax-pre-ltadd 11289  ax-pre-mulgt0 11290  ax-pre-sup 11291  ax-addf 11292
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2101  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-nel 3066  df-ral 3081  df-rex 3091  df-rmo 3369  df-reu 3370  df-rab 3417  df-v 3456  df-sbc 3743  df-csb 3852  df-ss 3901  df-pss 4017  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-tp 4593  df-op 4839  df-uni 4871  df-int 4911  df-iun 4956  df-iin 4957  df-br 5107  df-opab 5171  df-mpt 5190  df-tr 5216  df-id 5550  df-eprel 5555  df-po 5563  df-so 5564  df-fr 5608  df-se 5609  df-we 5610  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-pred 6311  df-ord 6372  df-on 6373  df-lim 6374  df-suc 6375  df-iota 6501  df-fun 6549  df-fn 6550  df-f 6551  df-f1 6552  df-fo 6553  df-f1o 6554  df-fv 6555  df-isom 6556  df-riota 7387  df-ov 7433  df-oprab 7434  df-mpo 7435  df-of 7703  df-om 7888  df-1st 8011  df-2nd 8012  df-supp 8191  df-frecs 8313  df-wrecs 8344  df-recs 8393  df-rdg 8432  df-1o 8490  df-2o 8491  df-er 8731  df-map 8863  df-pm 8864  df-ixp 8940  df-en 8988  df-dom 8989  df-sdom 8990  df-fin 8991  df-fsupp 9368  df-fi 9416  df-sup 9447  df-inf 9448  df-oi 9517  df-card 10033  df-pnf 11358  df-mnf 11359  df-xr 11360  df-ltxr 11361  df-le 11362  df-sub 11556  df-neg 11557  df-div 11987  df-nn 12349  df-2 12418  df-3 12419  df-4 12420  df-5 12421  df-6 12422  df-7 12423  df-8 12424  df-9 12425  df-n0 12620  df-z 12707  df-dec 12828  df-uz 12979  df-q 13089  df-rp 13134  df-xneg 13254  df-xadd 13255  df-xmul 13256  df-ioo 13493  df-ioc 13494  df-ico 13495  df-icc 13496  df-fz 13653  df-fzo 13802  df-fl 13945  df-mod 14023  df-seq 14158  df-exp 14218  df-fac 14431  df-bc 14460  df-hash 14488  df-shft 15235  df-cj 15281  df-re 15282  df-im 15283  df-sqrt 15417  df-abs 15418  df-limsup 15653  df-clim 15670  df-rlim 15671  df-sum 15869  df-ef 16248  df-sin 16250  df-cos 16251  df-tan 16252  df-pi 16253  df-struct 17340  df-sets 17357  df-slot 17375  df-ndx 17387  df-base 17403  df-ress 17424  df-plusg 17456  df-mulr 17457  df-starv 17458  df-sca 17459  df-vsca 17460  df-ip 17461  df-tset 17462  df-ple 17463  df-ds 17465  df-unif 17466  df-hom 17467  df-cco 17468  df-rest 17608  df-topn 17609  df-0g 17627  df-gsum 17628  df-topgen 17629  df-pt 17630  df-prds 17633  df-xrs 17689  df-qtop 17694  df-imas 17695  df-xps 17697  df-mre 17771  df-mrc 17772  df-acs 17774  df-mgm 18831  df-sgrp 18923  df-mnd 18939  df-submnd 18994  df-mulg 19293  df-cntz 19546  df-cmn 20011  df-psmet 21685  df-xmet 21686  df-met 21687  df-bl 21688  df-mopn 21689  df-fbas 21690  df-fg 21691  df-cnfld 21694  df-top 23227  df-topon 23244  df-topsp 23266  df-bases 23279  df-cld 23352  df-ntr 23353  df-cls 23354  df-nei 23431  df-lp 23469  df-perf 23470  df-cn 23560  df-cnp 23561  df-haus 23648  df-tx 23896  df-hmeo 24089  df-fil 24180  df-fm 24272  df-flim 24273  df-flf 24274  df-xms 24654  df-ms 24655  df-tms 24656  df-cncf 25214  df-limc 26201  df-dv 26202  df-log 26899  df-atan 27210
This theorem is used by:  atantanb  27267  atanord  27270
  Copyright terms: Public domain W3C validator