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

Theorem sinq12gt0 26253
Description: The sine of a number strictly between 0 and Ο€ is positive. (Contributed by Paul Chapman, 15-Mar-2008.)
Assertion
Ref Expression
sinq12gt0 (𝐴 ∈ (0(,)Ο€) β†’ 0 < (sinβ€˜π΄))

Proof of Theorem sinq12gt0
StepHypRef Expression
1 0xr 11265 . . 3 0 ∈ ℝ*
2 pire 26204 . . . 4 Ο€ ∈ ℝ
32rexri 11276 . . 3 Ο€ ∈ ℝ*
4 elioo2 13369 . . 3 ((0 ∈ ℝ* ∧ Ο€ ∈ ℝ*) β†’ (𝐴 ∈ (0(,)Ο€) ↔ (𝐴 ∈ ℝ ∧ 0 < 𝐴 ∧ 𝐴 < Ο€)))
51, 3, 4mp2an 688 . 2 (𝐴 ∈ (0(,)Ο€) ↔ (𝐴 ∈ ℝ ∧ 0 < 𝐴 ∧ 𝐴 < Ο€))
6 rehalfcl 12442 . . . . . 6 (𝐴 ∈ ℝ β†’ (𝐴 / 2) ∈ ℝ)
763ad2ant1 1131 . . . . 5 ((𝐴 ∈ ℝ ∧ 0 < 𝐴 ∧ 𝐴 < Ο€) β†’ (𝐴 / 2) ∈ ℝ)
8 halfpos2 12445 . . . . . . 7 (𝐴 ∈ ℝ β†’ (0 < 𝐴 ↔ 0 < (𝐴 / 2)))
98biimpa 475 . . . . . 6 ((𝐴 ∈ ℝ ∧ 0 < 𝐴) β†’ 0 < (𝐴 / 2))
1093adant3 1130 . . . . 5 ((𝐴 ∈ ℝ ∧ 0 < 𝐴 ∧ 𝐴 < Ο€) β†’ 0 < (𝐴 / 2))
11 2re 12290 . . . . . . . . 9 2 ∈ ℝ
12 2pos 12319 . . . . . . . . 9 0 < 2
1311, 12pm3.2i 469 . . . . . . . 8 (2 ∈ ℝ ∧ 0 < 2)
14 ltdiv1 12082 . . . . . . . 8 ((𝐴 ∈ ℝ ∧ Ο€ ∈ ℝ ∧ (2 ∈ ℝ ∧ 0 < 2)) β†’ (𝐴 < Ο€ ↔ (𝐴 / 2) < (Ο€ / 2)))
152, 13, 14mp3an23 1451 . . . . . . 7 (𝐴 ∈ ℝ β†’ (𝐴 < Ο€ ↔ (𝐴 / 2) < (Ο€ / 2)))
1615adantr 479 . . . . . 6 ((𝐴 ∈ ℝ ∧ 0 < 𝐴) β†’ (𝐴 < Ο€ ↔ (𝐴 / 2) < (Ο€ / 2)))
1716biimp3a 1467 . . . . 5 ((𝐴 ∈ ℝ ∧ 0 < 𝐴 ∧ 𝐴 < Ο€) β†’ (𝐴 / 2) < (Ο€ / 2))
18 sincosq1lem 26243 . . . . 5 (((𝐴 / 2) ∈ ℝ ∧ 0 < (𝐴 / 2) ∧ (𝐴 / 2) < (Ο€ / 2)) β†’ 0 < (sinβ€˜(𝐴 / 2)))
197, 10, 17, 18syl3anc 1369 . . . 4 ((𝐴 ∈ ℝ ∧ 0 < 𝐴 ∧ 𝐴 < Ο€) β†’ 0 < (sinβ€˜(𝐴 / 2)))
20 resubcl 11528 . . . . . . . . 9 ((Ο€ ∈ ℝ ∧ 𝐴 ∈ ℝ) β†’ (Ο€ βˆ’ 𝐴) ∈ ℝ)
212, 20mpan 686 . . . . . . . 8 (𝐴 ∈ ℝ β†’ (Ο€ βˆ’ 𝐴) ∈ ℝ)
22 rehalfcl 12442 . . . . . . . 8 ((Ο€ βˆ’ 𝐴) ∈ ℝ β†’ ((Ο€ βˆ’ 𝐴) / 2) ∈ ℝ)
2321, 22syl 17 . . . . . . 7 (𝐴 ∈ ℝ β†’ ((Ο€ βˆ’ 𝐴) / 2) ∈ ℝ)
24233ad2ant1 1131 . . . . . 6 ((𝐴 ∈ ℝ ∧ 0 < 𝐴 ∧ 𝐴 < Ο€) β†’ ((Ο€ βˆ’ 𝐴) / 2) ∈ ℝ)
25 posdif 11711 . . . . . . . . . 10 ((𝐴 ∈ ℝ ∧ Ο€ ∈ ℝ) β†’ (𝐴 < Ο€ ↔ 0 < (Ο€ βˆ’ 𝐴)))
262, 25mpan2 687 . . . . . . . . 9 (𝐴 ∈ ℝ β†’ (𝐴 < Ο€ ↔ 0 < (Ο€ βˆ’ 𝐴)))
27 halfpos2 12445 . . . . . . . . . 10 ((Ο€ βˆ’ 𝐴) ∈ ℝ β†’ (0 < (Ο€ βˆ’ 𝐴) ↔ 0 < ((Ο€ βˆ’ 𝐴) / 2)))
2821, 27syl 17 . . . . . . . . 9 (𝐴 ∈ ℝ β†’ (0 < (Ο€ βˆ’ 𝐴) ↔ 0 < ((Ο€ βˆ’ 𝐴) / 2)))
2926, 28bitrd 278 . . . . . . . 8 (𝐴 ∈ ℝ β†’ (𝐴 < Ο€ ↔ 0 < ((Ο€ βˆ’ 𝐴) / 2)))
3029adantr 479 . . . . . . 7 ((𝐴 ∈ ℝ ∧ 0 < 𝐴) β†’ (𝐴 < Ο€ ↔ 0 < ((Ο€ βˆ’ 𝐴) / 2)))
3130biimp3a 1467 . . . . . 6 ((𝐴 ∈ ℝ ∧ 0 < 𝐴 ∧ 𝐴 < Ο€) β†’ 0 < ((Ο€ βˆ’ 𝐴) / 2))
32 ltsubpos 11710 . . . . . . . . . 10 ((𝐴 ∈ ℝ ∧ Ο€ ∈ ℝ) β†’ (0 < 𝐴 ↔ (Ο€ βˆ’ 𝐴) < Ο€))
332, 32mpan2 687 . . . . . . . . 9 (𝐴 ∈ ℝ β†’ (0 < 𝐴 ↔ (Ο€ βˆ’ 𝐴) < Ο€))
34 ltdiv1 12082 . . . . . . . . . . 11 (((Ο€ βˆ’ 𝐴) ∈ ℝ ∧ Ο€ ∈ ℝ ∧ (2 ∈ ℝ ∧ 0 < 2)) β†’ ((Ο€ βˆ’ 𝐴) < Ο€ ↔ ((Ο€ βˆ’ 𝐴) / 2) < (Ο€ / 2)))
352, 13, 34mp3an23 1451 . . . . . . . . . 10 ((Ο€ βˆ’ 𝐴) ∈ ℝ β†’ ((Ο€ βˆ’ 𝐴) < Ο€ ↔ ((Ο€ βˆ’ 𝐴) / 2) < (Ο€ / 2)))
3621, 35syl 17 . . . . . . . . 9 (𝐴 ∈ ℝ β†’ ((Ο€ βˆ’ 𝐴) < Ο€ ↔ ((Ο€ βˆ’ 𝐴) / 2) < (Ο€ / 2)))
3733, 36bitrd 278 . . . . . . . 8 (𝐴 ∈ ℝ β†’ (0 < 𝐴 ↔ ((Ο€ βˆ’ 𝐴) / 2) < (Ο€ / 2)))
3837biimpa 475 . . . . . . 7 ((𝐴 ∈ ℝ ∧ 0 < 𝐴) β†’ ((Ο€ βˆ’ 𝐴) / 2) < (Ο€ / 2))
39383adant3 1130 . . . . . 6 ((𝐴 ∈ ℝ ∧ 0 < 𝐴 ∧ 𝐴 < Ο€) β†’ ((Ο€ βˆ’ 𝐴) / 2) < (Ο€ / 2))
40 sincosq1lem 26243 . . . . . 6 ((((Ο€ βˆ’ 𝐴) / 2) ∈ ℝ ∧ 0 < ((Ο€ βˆ’ 𝐴) / 2) ∧ ((Ο€ βˆ’ 𝐴) / 2) < (Ο€ / 2)) β†’ 0 < (sinβ€˜((Ο€ βˆ’ 𝐴) / 2)))
4124, 31, 39, 40syl3anc 1369 . . . . 5 ((𝐴 ∈ ℝ ∧ 0 < 𝐴 ∧ 𝐴 < Ο€) β†’ 0 < (sinβ€˜((Ο€ βˆ’ 𝐴) / 2)))
42 recn 11202 . . . . . . . . 9 (𝐴 ∈ ℝ β†’ 𝐴 ∈ β„‚)
43 picn 26205 . . . . . . . . . 10 Ο€ ∈ β„‚
44 2cnne0 12426 . . . . . . . . . 10 (2 ∈ β„‚ ∧ 2 β‰  0)
45 divsubdir 11912 . . . . . . . . . 10 ((Ο€ ∈ β„‚ ∧ 𝐴 ∈ β„‚ ∧ (2 ∈ β„‚ ∧ 2 β‰  0)) β†’ ((Ο€ βˆ’ 𝐴) / 2) = ((Ο€ / 2) βˆ’ (𝐴 / 2)))
4643, 44, 45mp3an13 1450 . . . . . . . . 9 (𝐴 ∈ β„‚ β†’ ((Ο€ βˆ’ 𝐴) / 2) = ((Ο€ / 2) βˆ’ (𝐴 / 2)))
4742, 46syl 17 . . . . . . . 8 (𝐴 ∈ ℝ β†’ ((Ο€ βˆ’ 𝐴) / 2) = ((Ο€ / 2) βˆ’ (𝐴 / 2)))
4847fveq2d 6894 . . . . . . 7 (𝐴 ∈ ℝ β†’ (sinβ€˜((Ο€ βˆ’ 𝐴) / 2)) = (sinβ€˜((Ο€ / 2) βˆ’ (𝐴 / 2))))
496recnd 11246 . . . . . . . 8 (𝐴 ∈ ℝ β†’ (𝐴 / 2) ∈ β„‚)
50 sinhalfpim 26239 . . . . . . . 8 ((𝐴 / 2) ∈ β„‚ β†’ (sinβ€˜((Ο€ / 2) βˆ’ (𝐴 / 2))) = (cosβ€˜(𝐴 / 2)))
5149, 50syl 17 . . . . . . 7 (𝐴 ∈ ℝ β†’ (sinβ€˜((Ο€ / 2) βˆ’ (𝐴 / 2))) = (cosβ€˜(𝐴 / 2)))
5248, 51eqtrd 2770 . . . . . 6 (𝐴 ∈ ℝ β†’ (sinβ€˜((Ο€ βˆ’ 𝐴) / 2)) = (cosβ€˜(𝐴 / 2)))
53523ad2ant1 1131 . . . . 5 ((𝐴 ∈ ℝ ∧ 0 < 𝐴 ∧ 𝐴 < Ο€) β†’ (sinβ€˜((Ο€ βˆ’ 𝐴) / 2)) = (cosβ€˜(𝐴 / 2)))
5441, 53breqtrd 5173 . . . 4 ((𝐴 ∈ ℝ ∧ 0 < 𝐴 ∧ 𝐴 < Ο€) β†’ 0 < (cosβ€˜(𝐴 / 2)))
55 resincl 16087 . . . . . . . 8 ((𝐴 / 2) ∈ ℝ β†’ (sinβ€˜(𝐴 / 2)) ∈ ℝ)
56 recoscl 16088 . . . . . . . 8 ((𝐴 / 2) ∈ ℝ β†’ (cosβ€˜(𝐴 / 2)) ∈ ℝ)
5755, 56jca 510 . . . . . . 7 ((𝐴 / 2) ∈ ℝ β†’ ((sinβ€˜(𝐴 / 2)) ∈ ℝ ∧ (cosβ€˜(𝐴 / 2)) ∈ ℝ))
58 axmulgt0 11292 . . . . . . 7 (((sinβ€˜(𝐴 / 2)) ∈ ℝ ∧ (cosβ€˜(𝐴 / 2)) ∈ ℝ) β†’ ((0 < (sinβ€˜(𝐴 / 2)) ∧ 0 < (cosβ€˜(𝐴 / 2))) β†’ 0 < ((sinβ€˜(𝐴 / 2)) Β· (cosβ€˜(𝐴 / 2)))))
596, 57, 583syl 18 . . . . . 6 (𝐴 ∈ ℝ β†’ ((0 < (sinβ€˜(𝐴 / 2)) ∧ 0 < (cosβ€˜(𝐴 / 2))) β†’ 0 < ((sinβ€˜(𝐴 / 2)) Β· (cosβ€˜(𝐴 / 2)))))
60 remulcl 11197 . . . . . . . . 9 (((sinβ€˜(𝐴 / 2)) ∈ ℝ ∧ (cosβ€˜(𝐴 / 2)) ∈ ℝ) β†’ ((sinβ€˜(𝐴 / 2)) Β· (cosβ€˜(𝐴 / 2))) ∈ ℝ)
616, 57, 603syl 18 . . . . . . . 8 (𝐴 ∈ ℝ β†’ ((sinβ€˜(𝐴 / 2)) Β· (cosβ€˜(𝐴 / 2))) ∈ ℝ)
62 axmulgt0 11292 . . . . . . . 8 ((2 ∈ ℝ ∧ ((sinβ€˜(𝐴 / 2)) Β· (cosβ€˜(𝐴 / 2))) ∈ ℝ) β†’ ((0 < 2 ∧ 0 < ((sinβ€˜(𝐴 / 2)) Β· (cosβ€˜(𝐴 / 2)))) β†’ 0 < (2 Β· ((sinβ€˜(𝐴 / 2)) Β· (cosβ€˜(𝐴 / 2))))))
6311, 61, 62sylancr 585 . . . . . . 7 (𝐴 ∈ ℝ β†’ ((0 < 2 ∧ 0 < ((sinβ€˜(𝐴 / 2)) Β· (cosβ€˜(𝐴 / 2)))) β†’ 0 < (2 Β· ((sinβ€˜(𝐴 / 2)) Β· (cosβ€˜(𝐴 / 2))))))
6412, 63mpani 692 . . . . . 6 (𝐴 ∈ ℝ β†’ (0 < ((sinβ€˜(𝐴 / 2)) Β· (cosβ€˜(𝐴 / 2))) β†’ 0 < (2 Β· ((sinβ€˜(𝐴 / 2)) Β· (cosβ€˜(𝐴 / 2))))))
6559, 64syld 47 . . . . 5 (𝐴 ∈ ℝ β†’ ((0 < (sinβ€˜(𝐴 / 2)) ∧ 0 < (cosβ€˜(𝐴 / 2))) β†’ 0 < (2 Β· ((sinβ€˜(𝐴 / 2)) Β· (cosβ€˜(𝐴 / 2))))))
66653ad2ant1 1131 . . . 4 ((𝐴 ∈ ℝ ∧ 0 < 𝐴 ∧ 𝐴 < Ο€) β†’ ((0 < (sinβ€˜(𝐴 / 2)) ∧ 0 < (cosβ€˜(𝐴 / 2))) β†’ 0 < (2 Β· ((sinβ€˜(𝐴 / 2)) Β· (cosβ€˜(𝐴 / 2))))))
6719, 54, 66mp2and 695 . . 3 ((𝐴 ∈ ℝ ∧ 0 < 𝐴 ∧ 𝐴 < Ο€) β†’ 0 < (2 Β· ((sinβ€˜(𝐴 / 2)) Β· (cosβ€˜(𝐴 / 2)))))
68 2cn 12291 . . . . . . . 8 2 ∈ β„‚
69 2ne0 12320 . . . . . . . 8 2 β‰  0
70 divcan2 11884 . . . . . . . 8 ((𝐴 ∈ β„‚ ∧ 2 ∈ β„‚ ∧ 2 β‰  0) β†’ (2 Β· (𝐴 / 2)) = 𝐴)
7168, 69, 70mp3an23 1451 . . . . . . 7 (𝐴 ∈ β„‚ β†’ (2 Β· (𝐴 / 2)) = 𝐴)
7242, 71syl 17 . . . . . 6 (𝐴 ∈ ℝ β†’ (2 Β· (𝐴 / 2)) = 𝐴)
7372fveq2d 6894 . . . . 5 (𝐴 ∈ ℝ β†’ (sinβ€˜(2 Β· (𝐴 / 2))) = (sinβ€˜π΄))
74 sin2t 16124 . . . . . 6 ((𝐴 / 2) ∈ β„‚ β†’ (sinβ€˜(2 Β· (𝐴 / 2))) = (2 Β· ((sinβ€˜(𝐴 / 2)) Β· (cosβ€˜(𝐴 / 2)))))
7549, 74syl 17 . . . . 5 (𝐴 ∈ ℝ β†’ (sinβ€˜(2 Β· (𝐴 / 2))) = (2 Β· ((sinβ€˜(𝐴 / 2)) Β· (cosβ€˜(𝐴 / 2)))))
7673, 75eqtr3d 2772 . . . 4 (𝐴 ∈ ℝ β†’ (sinβ€˜π΄) = (2 Β· ((sinβ€˜(𝐴 / 2)) Β· (cosβ€˜(𝐴 / 2)))))
77763ad2ant1 1131 . . 3 ((𝐴 ∈ ℝ ∧ 0 < 𝐴 ∧ 𝐴 < Ο€) β†’ (sinβ€˜π΄) = (2 Β· ((sinβ€˜(𝐴 / 2)) Β· (cosβ€˜(𝐴 / 2)))))
7867, 77breqtrrd 5175 . 2 ((𝐴 ∈ ℝ ∧ 0 < 𝐴 ∧ 𝐴 < Ο€) β†’ 0 < (sinβ€˜π΄))
795, 78sylbi 216 1 (𝐴 ∈ (0(,)Ο€) β†’ 0 < (sinβ€˜π΄))
Colors of variables: wff setvar class
Syntax hints:   β†’ wi 4   ↔ wb 205   ∧ wa 394   ∧ w3a 1085   = wceq 1539   ∈ wcel 2104   β‰  wne 2938   class class class wbr 5147  β€˜cfv 6542  (class class class)co 7411  β„‚cc 11110  β„cr 11111  0cc0 11112   Β· cmul 11117  β„*cxr 11251   < clt 11252   βˆ’ cmin 11448   / cdiv 11875  2c2 12271  (,)cioo 13328  sincsin 16011  cosccos 16012  Ο€cpi 16014
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1911  ax-6 1969  ax-7 2009  ax-8 2106  ax-9 2114  ax-10 2135  ax-11 2152  ax-12 2169  ax-ext 2701  ax-rep 5284  ax-sep 5298  ax-nul 5305  ax-pow 5362  ax-pr 5426  ax-un 7727  ax-inf2 9638  ax-cnex 11168  ax-resscn 11169  ax-1cn 11170  ax-icn 11171  ax-addcl 11172  ax-addrcl 11173  ax-mulcl 11174  ax-mulrcl 11175  ax-mulcom 11176  ax-addass 11177  ax-mulass 11178  ax-distr 11179  ax-i2m1 11180  ax-1ne0 11181  ax-1rid 11182  ax-rnegex 11183  ax-rrecex 11184  ax-cnre 11185  ax-pre-lttri 11186  ax-pre-lttrn 11187  ax-pre-ltadd 11188  ax-pre-mulgt0 11189  ax-pre-sup 11190  ax-addf 11191
This theorem depends on definitions:  df-bi 206  df-an 395  df-or 844  df-3or 1086  df-3an 1087  df-tru 1542  df-fal 1552  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2532  df-eu 2561  df-clab 2708  df-cleq 2722  df-clel 2808  df-nfc 2883  df-ne 2939  df-nel 3045  df-ral 3060  df-rex 3069  df-rmo 3374  df-reu 3375  df-rab 3431  df-v 3474  df-sbc 3777  df-csb 3893  df-dif 3950  df-un 3952  df-in 3954  df-ss 3964  df-pss 3966  df-nul 4322  df-if 4528  df-pw 4603  df-sn 4628  df-pr 4630  df-tp 4632  df-op 4634  df-uni 4908  df-int 4950  df-iun 4998  df-iin 4999  df-br 5148  df-opab 5210  df-mpt 5231  df-tr 5265  df-id 5573  df-eprel 5579  df-po 5587  df-so 5588  df-fr 5630  df-se 5631  df-we 5632  df-xp 5681  df-rel 5682  df-cnv 5683  df-co 5684  df-dm 5685  df-rn 5686  df-res 5687  df-ima 5688  df-pred 6299  df-ord 6366  df-on 6367  df-lim 6368  df-suc 6369  df-iota 6494  df-fun 6544  df-fn 6545  df-f 6546  df-f1 6547  df-fo 6548  df-f1o 6549  df-fv 6550  df-isom 6551  df-riota 7367  df-ov 7414  df-oprab 7415  df-mpo 7416  df-of 7672  df-om 7858  df-1st 7977  df-2nd 7978  df-supp 8149  df-frecs 8268  df-wrecs 8299  df-recs 8373  df-rdg 8412  df-1o 8468  df-2o 8469  df-er 8705  df-map 8824  df-pm 8825  df-ixp 8894  df-en 8942  df-dom 8943  df-sdom 8944  df-fin 8945  df-fsupp 9364  df-fi 9408  df-sup 9439  df-inf 9440  df-oi 9507  df-card 9936  df-pnf 11254  df-mnf 11255  df-xr 11256  df-ltxr 11257  df-le 11258  df-sub 11450  df-neg 11451  df-div 11876  df-nn 12217  df-2 12279  df-3 12280  df-4 12281  df-5 12282  df-6 12283  df-7 12284  df-8 12285  df-9 12286  df-n0 12477  df-z 12563  df-dec 12682  df-uz 12827  df-q 12937  df-rp 12979  df-xneg 13096  df-xadd 13097  df-xmul 13098  df-ioo 13332  df-ioc 13333  df-ico 13334  df-icc 13335  df-fz 13489  df-fzo 13632  df-fl 13761  df-seq 13971  df-exp 14032  df-fac 14238  df-bc 14267  df-hash 14295  df-shft 15018  df-cj 15050  df-re 15051  df-im 15052  df-sqrt 15186  df-abs 15187  df-limsup 15419  df-clim 15436  df-rlim 15437  df-sum 15637  df-ef 16015  df-sin 16017  df-cos 16018  df-pi 16020  df-struct 17084  df-sets 17101  df-slot 17119  df-ndx 17131  df-base 17149  df-ress 17178  df-plusg 17214  df-mulr 17215  df-starv 17216  df-sca 17217  df-vsca 17218  df-ip 17219  df-tset 17220  df-ple 17221  df-ds 17223  df-unif 17224  df-hom 17225  df-cco 17226  df-rest 17372  df-topn 17373  df-0g 17391  df-gsum 17392  df-topgen 17393  df-pt 17394  df-prds 17397  df-xrs 17452  df-qtop 17457  df-imas 17458  df-xps 17460  df-mre 17534  df-mrc 17535  df-acs 17537  df-mgm 18565  df-sgrp 18644  df-mnd 18660  df-submnd 18706  df-mulg 18987  df-cntz 19222  df-cmn 19691  df-psmet 21136  df-xmet 21137  df-met 21138  df-bl 21139  df-mopn 21140  df-fbas 21141  df-fg 21142  df-cnfld 21145  df-top 22616  df-topon 22633  df-topsp 22655  df-bases 22669  df-cld 22743  df-ntr 22744  df-cls 22745  df-nei 22822  df-lp 22860  df-perf 22861  df-cn 22951  df-cnp 22952  df-haus 23039  df-tx 23286  df-hmeo 23479  df-fil 23570  df-fm 23662  df-flim 23663  df-flf 23664  df-xms 24046  df-ms 24047  df-tms 24048  df-cncf 24618  df-limc 25615  df-dv 25616
This theorem is referenced by:  sinq12ge0  26254  sinq34lt0t  26255  cosq14gt0  26256  sineq0  26269  cosordlem  26275  tan2h  36783  sineq0ALT  44000  wallispilem1  45079
  Copyright terms: Public domain W3C validator