pentagon decagon hexagon identity > pythagorean icosahedron

<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='600' height='500'>
<g transform='translate(-66.000000, -5.000000)'>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<ellipse fill='rgb(0%,0%,0%)' stroke='none' cx='475' cy='181' rx='5.24125' ry='5.24125' />
<ellipse fill='rgb(0%,0%,0%)' stroke='none' cx='427' cy='258' rx='5.24125' ry='5.24125' />
<ellipse fill='rgb(0%,0%,0%)' stroke='none' cx='523' cy='210' rx='5.24125' ry='5.24125' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,0%,0%)' points='252.293,258.491 318.875,84.178 252.293,84.178 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,0%,0%)' points='318.875,84.178 144.562,84.178 144.562,17.5962 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,0%,0%)' points='144.562,191.91 144.562,17.5962 77.98,191.91 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,0%,0%)' points='252.293,258.491 252.293,191.91 77.98,191.91 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(88.0003%,100%,88.0003%)' points='144.562,191.91 144.562,84.178 252.293,84.178 252.293,191.91 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='252.293,258.491 252.293,84.178 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='144.562,84.178 318.875,84.178 144.562,17.5962 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='144.562,191.91 144.562,17.5962 77.98,191.91 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='252.293,191.91 77.98,191.91 252.293,258.491 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='308.001,262.801 263.168,262.801 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,100%)' points='426.607,150.76 318.875,84.178 534.338,84.178 426.607,150.76 426.607,366.223 534.338,432.805 318.875,432.805 426.607,366.223 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,100%)' points='534.338,84.178 600.92,258.491 426.607,150.76 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,100%)' points='318.875,432.805 252.293,258.491 426.607,366.223 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,100%)' points='318.875,84.178 252.293,258.491 426.607,150.76 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,100%)' points='534.338,432.805 600.92,258.491 426.607,366.223 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,100%,0%)' stroke-dasharray='4,4' points='318.875,84.178 318.875,432.805 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,100%,0%)' stroke-dasharray='4,4' points='534.338,84.178 534.338,432.805 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,100%,0%)' stroke-dasharray='4,4' points='252.293,258.491 600.92,258.491 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' stroke-dasharray='4,4' points='474.786,180.536 534.338,84.178 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' stroke-dasharray='4,4' points='426.607,366.223 522.965,210.312 ' />
<ellipse fill='rgb(0%,0%,100%)' stroke='none' cx='319' cy='84' rx='4.30926' ry='4.30926' />
<ellipse fill='rgb(0%,0%,100%)' stroke='none' cx='534' cy='84' rx='4.30926' ry='4.30926' />
<ellipse fill='rgb(0%,0%,100%)' stroke='none' cx='427' cy='151' rx='4.30926' ry='4.30926' />
<ellipse fill='rgb(0%,0%,100%)' stroke='none' cx='252' cy='258' rx='4.30926' ry='4.30926' />
<ellipse fill='rgb(0%,0%,100%)' stroke='none' cx='534' cy='433' rx='4.30926' ry='4.30926' />
<ellipse fill='rgb(0%,0%,100%)' stroke='none' cx='319' cy='433' rx='4.30926' ry='4.30926' />
<ellipse fill='rgb(0%,0%,100%)' stroke='none' cx='427' cy='366' rx='4.30926' ry='4.30926' />
<ellipse fill='rgb(0%,0%,100%)' stroke='none' cx='601' cy='258' rx='4.30926' ry='4.30926' />
<ellipse stroke='rgb(0%,0%,100%)' stroke-width='2.000000' fill='none' cx='427' cy='151' rx='8.61853' ry='8.61853' />
<ellipse stroke='rgb(0%,0%,100%)' stroke-width='2.000000' fill='none' cx='427' cy='366' rx='8.61853' ry='8.61853' />
<ellipse stroke='rgb(0%,0%,100%)' stroke-width='2.000000' fill='none' cx='252' cy='258' rx='8.61853' ry='8.61853' />
<ellipse stroke='rgb(0%,0%,100%)' stroke-width='2.000000' fill='none' cx='601' cy='258' rx='8.61853' ry='8.61853' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='329.749,75.5595 523.464,75.5595 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='330.855,78.7121 330.68,78.3536 330.295,77.4933 330.091,76.976 329.914,76.4543 329.792,75.9687 329.749,75.5595 329.792,75.1891 329.914,74.7099 330.091,74.1708 330.295,73.6204 330.68,72.6806 330.855,72.2808 318.875,75.5595 330.855,78.7121 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='522.358,72.4068 522.534,72.7654 522.918,73.6257 523.123,74.143 523.299,74.6646 523.422,75.1503 523.464,75.5595 523.422,75.9299 523.299,76.4091 523.123,76.9482 522.918,77.4986 522.534,78.4384 522.358,78.8382 534.338,75.5595 522.358,72.4068 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 422.106838, 48.940951)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>1</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='644.401,421.931 644.401,95.0523 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='647.554,420.825 647.196,421 646.335,421.385 645.818,421.589 645.296,421.766 644.811,421.888 644.401,421.931 644.031,421.888 643.552,421.766 643.013,421.589 642.462,421.385 641.523,421 641.123,420.825 644.401,432.805 647.554,420.825 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='641.249,96.158 641.607,95.9824 642.468,95.5981 642.985,95.3939 643.507,95.2172 643.992,95.0944 644.401,95.0523 644.772,95.0944 645.251,95.2172 645.79,95.3939 646.341,95.5981 647.28,95.9824 647.68,96.158 644.401,84.178 641.249,96.158 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 653.020000, 249.491429)'>
<text x='-6' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>Φ</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='263.168,476.286 590.046,476.286 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='264.273,479.439 264.098,479.08 263.713,478.22 263.509,477.703 263.333,477.181 263.21,476.695 263.168,476.286 263.21,475.916 263.333,475.436 263.509,474.897 263.713,474.347 264.098,473.407 264.273,473.007 252.293,476.286 264.273,479.439 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='588.94,473.133 589.116,473.492 589.5,474.352 589.704,474.87 589.881,475.391 590.004,475.877 590.046,476.286 590.004,476.656 589.881,477.136 589.704,477.675 589.5,478.225 589.116,479.165 588.94,479.565 600.92,476.286 588.94,473.133 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 421.106838, 484.904591)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>Φ</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='407.215,355.349 407.215,161.634 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='410.368,354.243 410.009,354.419 409.149,354.803 408.632,355.007 408.11,355.184 407.624,355.307 407.215,355.349 406.845,355.307 406.366,355.184 405.826,355.007 405.276,354.803 404.336,354.419 403.936,354.243 407.215,366.223 410.368,354.243 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='404.062,162.74 404.421,162.564 405.281,162.18 405.799,161.976 406.32,161.799 406.806,161.676 407.215,161.634 407.586,161.676 408.065,161.799 408.604,161.976 409.154,162.18 410.094,162.564 410.494,162.74 407.215,150.76 404.062,162.74 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 389.596618, 249.491429)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>1</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 305.875221, 57.178010)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>A</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 534.338456, 57.178010)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>B</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 509.338456, 441.804848)'>
<text x='26' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>Z</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 318.875221, 441.804848)'>
<text x='-14' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>Y</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 468.785882, 153.536098)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>C</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 421.606838, 123.759812)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>P</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 226.293419, 258.491429)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>Q</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 612.920257, 258.491429)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>R</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 421.606838, 379.723047)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>S</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 433.106838, 265.241429)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>O</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 522.964926, 219.312385)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>T</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<path stroke='rgb(100%,0%,0%)' stroke-width='0.5px' fill='none' d='M579.006,244.407 A25.8556,25.8556 0 0 0 575.144,258' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 553.967787, 237.715651)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(100%,0%,0%)'>α</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<path stroke='rgb(100%,0%,0%)' stroke-width='0.5px' fill='none' d='M340.994,97.5931 A25.8556,25.8556 0 0 0 344.856,84' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 354.827691, 86.953788)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(100%,0%,0%)'>α</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<path stroke='rgb(100%,0%,0%)' stroke-width='0.5px' fill='none' d='M440.593,344.006 A25.8556,25.8556 0 0 0 427,340.144' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 432.882616, 315.770577)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(100%,0%,0%)'>α</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<path stroke='rgb(100%,0%,0%)' stroke-width='0.5px' fill='none' d='M427,176.856 A25.8556,25.8556 0 0 0 448.994,164.593' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 427.091428, 179.397867)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(100%,0%,0%)'>90–α</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='306.895,259.648 307.071,260.007 307.455,260.867 307.659,261.384 307.836,261.906 307.959,262.391 308.001,262.801 307.959,263.171 307.836,263.65 307.659,264.189 307.455,264.74 307.071,265.68 306.895,266.079 318.875,262.801 306.895,259.648 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='264.273,265.953 264.098,265.595 263.713,264.735 263.509,264.217 263.333,263.696 263.21,263.21 263.168,262.801 263.21,262.43 263.333,261.951 263.509,261.412 263.713,260.862 264.098,259.922 264.273,259.522 252.293,262.801 264.273,265.953 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 262.084320, 267.109959)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>1/(2Φ)</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='323.184,247.617 323.184,95.0523 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='326.337,246.511 325.979,246.687 325.118,247.071 324.601,247.276 324.079,247.452 323.594,247.575 323.184,247.617 322.814,247.575 322.335,247.452 321.796,247.276 321.245,247.071 320.306,246.687 319.906,246.511 323.184,258.491 326.337,246.511 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='320.032,96.158 320.39,95.9824 321.251,95.5981 321.768,95.3939 322.29,95.2172 322.775,95.0944 323.184,95.0523 323.555,95.0944 324.034,95.2172 324.573,95.3939 325.124,95.5981 326.063,95.9824 326.463,96.158 323.184,84.178 320.032,96.158 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 327.493750, 162.334720)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>Φ/2</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='155.436,187.6 241.419,187.6 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='156.542,190.753 156.366,190.394 155.982,189.534 155.778,189.017 155.601,188.495 155.478,188.01 155.436,187.6 155.478,187.23 155.601,186.751 155.778,186.212 155.982,185.661 156.366,184.721 156.542,184.322 144.562,187.6 156.542,190.753 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='240.313,184.448 240.489,184.806 240.873,185.667 241.078,186.184 241.254,186.706 241.377,187.191 241.419,187.6 241.377,187.971 241.254,188.45 241.078,188.989 240.873,189.539 240.489,190.479 240.313,190.879 252.293,187.6 240.313,184.448 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 186.427610, 165.291099)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>1/2</text>
</g>
</g>
</svg>


pentagon decagon hexagon identity > pythagorean identity

<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='500' height='500'>
<g transform='translate(-66.000000, -5.000000)'>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,85.0004%,85.0004%)' points='239.98,331.246 239.98,230.379 340.846,230.379 340.846,331.246 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,100%,0%)' points='340.846,67.1737 403.185,168.04 403.185,67.1737 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,100%,0%)' points='403.185,168.04 403.185,230.379 504.052,230.379 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,100%,0%)' points='239.98,494.451 177.641,393.584 177.641,494.451 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,100%,0%)' points='177.641,393.584 177.641,331.246 76.7745,331.246 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,100%,0%)' points='76.7745,230.379 177.641,168.04 76.7745,168.04 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,100%,0%)' points='177.641,168.04 239.98,168.04 239.98,67.1737 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,100%,0%)' points='504.052,331.246 403.185,393.584 504.052,393.584 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,100%,0%)' points='403.185,393.584 340.846,393.584 340.846,494.451 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,50.0008%,0%)' points='340.846,67.1737 403.185,168.04 239.98,67.1737 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,50.0008%,0%)' points='239.98,494.451 177.641,393.584 340.846,494.451 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,50.0008%,0%)' points='76.7745,230.379 177.641,168.04 76.7745,331.246 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,50.0008%,0%)' points='504.052,331.246 403.185,393.584 504.052,230.379 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(88.0003%,100%,88.0003%)' points='403.185,168.04 239.98,67.1737 239.98,230.379 403.185,230.379 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(88.0003%,100%,88.0003%)' points='177.641,393.584 340.846,494.451 340.846,331.246 177.641,331.246 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(88.0003%,100%,88.0003%)' points='177.641,168.04 76.7745,331.246 239.98,331.246 239.98,168.04 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(88.0003%,100%,88.0003%)' points='403.185,393.584 504.052,230.379 340.846,230.379 340.846,393.584 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(50.0008%,50.0008%,50.0008%)' points='76.7745,494.451 504.052,494.451 504.052,67.1737 76.7745,67.1737 76.7745,494.451 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='76.7745,331.246 340.846,494.451 504.052,230.379 239.98,67.1737 76.7745,331.246 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(50.0008%,50.0008%,50.0008%)' points='76.7745,331.246 239.98,331.246 239.98,67.1737 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(50.0008%,50.0008%,50.0008%)' points='504.052,230.379 340.846,230.379 340.846,494.451 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(50.0008%,50.0008%,50.0008%)' points='239.98,331.246 340.846,331.246 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(50.0008%,50.0008%,50.0008%)' points='239.98,230.379 340.846,230.379 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(50.0008%,50.0008%,50.0008%)' points='403.185,230.379 403.185,67.1737 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(50.0008%,50.0008%,50.0008%)' points='177.641,331.246 177.641,494.451 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(50.0008%,50.0008%,50.0008%)' points='340.846,393.584 504.052,393.584 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(50.0008%,50.0008%,50.0008%)' points='239.98,168.04 76.7745,168.04 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(50.0008%,50.0008%,50.0008%)' points='340.846,67.1737 403.185,168.04 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(50.0008%,50.0008%,50.0008%)' points='239.98,494.451 177.641,393.584 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(50.0008%,50.0008%,50.0008%)' points='76.7745,230.379 177.641,168.04 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(50.0008%,50.0008%,50.0008%)' points='504.052,331.246 403.185,393.584 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='253.523,320.683 327.303,320.683 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='254.9,324.609 254.682,324.163 254.203,323.091 253.949,322.447 253.729,321.797 253.576,321.192 253.523,320.683 253.576,320.221 253.729,319.625 253.949,318.953 254.203,318.268 254.682,317.097 254.9,316.599 239.98,320.683 254.9,324.609 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='325.926,316.756 326.145,317.203 326.623,318.274 326.878,318.919 327.098,319.568 327.251,320.173 327.303,320.683 327.251,321.144 327.098,321.741 326.878,322.412 326.623,323.098 326.145,324.268 325.926,324.766 340.846,320.683 325.926,316.756 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 279.913169, 294.760534)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>2</text>
<text x='12' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)' font-style='italic'>b</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='90.3177,157.477 164.098,157.477 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='91.6949,161.404 91.4761,160.957 90.9975,159.886 90.7432,159.241 90.5232,158.592 90.3702,157.987 90.3177,157.477 90.3702,157.016 90.5232,156.419 90.7432,155.748 90.9975,155.062 91.4761,153.892 91.6949,153.394 76.7745,157.477 91.6949,161.404 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='162.721,153.551 162.939,153.997 163.418,155.069 163.672,155.713 163.892,156.363 164.045,156.968 164.098,157.477 164.045,157.939 163.892,158.535 163.672,159.207 163.418,159.892 162.939,161.063 162.721,161.561 177.641,157.477 162.721,153.551 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 116.707756, 131.555121)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>2</text>
<text x='12' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)' font-style='italic'>b</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='253.523,56.6108 327.303,56.6108 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='254.9,60.5372 254.682,60.0907 254.203,59.0192 253.949,58.375 253.729,57.7253 253.576,57.1204 253.523,56.6108 253.576,56.1495 253.729,55.5527 253.949,54.8812 254.203,54.1958 254.682,53.0253 254.9,52.5274 239.98,56.6108 254.9,60.5372 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='325.926,52.6843 326.145,53.1309 326.623,54.2023 326.878,54.8466 327.098,55.4963 327.251,56.1011 327.303,56.6108 327.251,57.0721 327.098,57.6689 326.878,58.3404 326.623,59.0258 326.145,60.1963 325.926,60.6942 340.846,56.6108 325.926,52.6843 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 279.913169, 30.688629)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>2</text>
<text x='12' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)' font-style='italic'>b</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='354.39,56.6108 490.509,56.6108 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='355.767,60.5372 355.548,60.0907 355.069,59.0192 354.815,58.375 354.595,57.7253 354.442,57.1204 354.39,56.6108 354.442,56.1495 354.595,55.5527 354.815,54.8812 355.069,54.1958 355.548,53.0253 355.767,52.5274 340.846,56.6108 355.767,60.5372 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='489.131,52.6843 489.35,53.1309 489.829,54.2023 490.083,54.8466 490.303,55.4963 490.456,56.1011 490.509,56.6108 490.456,57.0721 490.303,57.6689 490.083,58.3404 489.829,59.0258 489.35,60.1963 489.131,60.6942 504.052,56.6108 489.131,52.6843 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 419.949122, 30.688629)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)' font-style='italic'>t</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='90.3177,24.9222 226.437,24.9222 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='91.6949,28.8486 91.4761,28.402 90.9975,27.3306 90.7432,26.6863 90.5232,26.0366 90.3702,25.4318 90.3177,24.9222 90.3702,24.4609 90.5232,23.8641 90.7432,23.1926 90.9975,22.5072 91.4761,21.3366 91.6949,20.8388 76.7745,24.9222 91.6949,28.8486 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='225.06,20.9957 225.278,21.4423 225.757,22.5137 226.011,23.158 226.231,23.8077 226.384,24.4125 226.437,24.9222 226.384,25.3834 226.231,25.9802 226.011,26.6517 225.757,27.3372 225.278,28.5077 225.06,29.0056 239.98,24.9222 225.06,20.9957 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 155.877216, 5.000000)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)' font-style='italic'>t</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='253.523,219.816 389.642,219.816 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='254.9,223.743 254.682,223.296 254.203,222.225 253.949,221.58 253.729,220.931 253.576,220.326 253.523,219.816 253.576,219.355 253.729,218.758 253.949,218.087 254.203,217.401 254.682,216.231 254.9,215.733 239.98,219.816 254.9,223.743 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='388.265,215.89 388.484,216.336 388.962,217.408 389.217,218.052 389.437,218.702 389.59,219.307 389.642,219.816 389.59,220.277 389.437,220.874 389.217,221.546 388.962,222.231 388.484,223.402 388.265,223.9 403.185,219.816 388.265,215.89 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 319.082629, 193.894042)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)' font-style='italic'>t</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='327.303,341.808 191.184,341.808 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='325.926,337.882 326.145,338.329 326.623,339.4 326.878,340.044 327.098,340.694 327.251,341.299 327.303,341.808 327.251,342.27 327.098,342.867 326.878,343.538 326.623,344.223 326.145,345.394 325.926,345.892 340.846,341.808 325.926,337.882 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='192.561,345.735 192.343,345.288 191.864,344.217 191.61,343.573 191.39,342.923 191.237,342.318 191.184,341.808 191.237,341.347 191.39,340.75 191.61,340.079 191.864,339.393 192.343,338.223 192.561,337.725 177.641,341.808 192.561,345.735 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 256.743709, 349.730601)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)' font-style='italic'>t</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='253.523,24.9222 490.509,24.9222 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='254.9,28.8486 254.682,28.402 254.203,27.3306 253.949,26.6863 253.729,26.0366 253.576,25.4318 253.523,24.9222 253.576,24.4609 253.729,23.8641 253.949,23.1926 254.203,22.5072 254.682,21.3366 254.9,20.8388 239.98,24.9222 254.9,28.8486 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='489.131,20.9957 489.35,21.4423 489.829,22.5137 490.083,23.158 490.303,23.8077 490.456,24.4125 490.509,24.9222 490.456,25.3834 490.303,25.9802 490.083,26.6517 489.829,27.3372 489.35,28.5077 489.131,29.0056 504.052,24.9222 489.131,20.9957 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 368.515875, 5.000000)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)' font-style='italic'>r</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='546.303,80.7169 546.303,216.836 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='542.377,82.094 542.823,81.8753 543.895,81.3966 544.539,81.1424 545.189,80.9223 545.794,80.7694 546.303,80.7169 546.765,80.7694 547.361,80.9223 548.033,81.1424 548.718,81.3966 549.889,81.8753 550.387,82.094 546.303,67.1737 542.377,82.094 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='550.23,215.459 549.783,215.677 548.712,216.156 548.068,216.41 547.418,216.63 546.813,216.783 546.303,216.836 545.842,216.783 545.245,216.63 544.574,216.41 543.888,216.156 542.718,215.677 542.22,215.459 546.303,230.379 550.23,215.459 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 552.558824, 139.776369)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)' font-style='italic'>t</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='351.409,243.922 351.409,380.041 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='347.483,245.299 347.929,245.081 349.001,244.602 349.645,244.348 350.295,244.128 350.9,243.975 351.409,243.922 351.871,243.975 352.467,244.128 353.139,244.348 353.824,244.602 354.995,245.081 355.493,245.299 351.409,230.379 347.483,245.299 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='355.336,378.664 354.889,378.883 353.818,379.362 353.173,379.616 352.524,379.836 351.919,379.989 351.409,380.041 350.948,379.989 350.351,379.836 349.68,379.616 348.994,379.362 347.824,378.883 347.326,378.664 351.409,393.584 355.336,378.664 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 359.331449, 302.981782)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)' font-style='italic'>t</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='229.417,317.702 229.417,181.583 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='233.343,316.325 232.897,316.544 231.825,317.023 231.181,317.277 230.532,317.497 229.927,317.65 229.417,317.702 228.956,317.65 228.359,317.497 227.687,317.277 227.002,317.023 225.832,316.544 225.334,316.325 229.417,331.246 233.343,316.325 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='225.491,182.96 225.937,182.742 227.009,182.263 227.653,182.009 228.303,181.789 228.907,181.636 229.417,181.583 229.878,181.636 230.475,181.789 231.147,182.009 231.832,182.263 233.003,182.742 233.5,182.96 229.417,168.04 225.491,182.96 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 216.494889, 240.642861)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)' font-style='italic'>t</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='546.303,243.922 546.303,480.908 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='542.377,245.299 542.823,245.081 543.895,244.602 544.539,244.348 545.189,244.128 545.794,243.975 546.303,243.922 546.765,243.975 547.361,244.128 548.033,244.348 548.718,244.602 549.889,245.081 550.387,245.299 546.303,230.379 542.377,245.299 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='550.23,479.531 549.783,479.749 548.712,480.228 548.068,480.482 547.418,480.702 546.813,480.855 546.303,480.908 545.842,480.855 545.245,480.702 544.574,480.482 543.888,480.228 542.718,479.749 542.22,479.531 546.303,494.451 550.23,479.531 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 551.892157, 353.415028)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)' font-style='italic'>r</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='413.748,80.7169 413.748,154.497 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='409.822,82.094 410.268,81.8753 411.34,81.3966 411.984,81.1424 412.634,80.9223 413.239,80.7694 413.748,80.7169 414.209,80.7694 414.806,80.9223 415.478,81.1424 416.163,81.3966 417.334,81.8753 417.832,82.094 413.748,67.1737 409.822,82.094 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='417.675,153.12 417.228,153.339 416.157,153.817 415.512,154.071 414.863,154.292 414.258,154.444 413.748,154.497 413.287,154.444 412.69,154.292 412.019,154.071 411.333,153.817 410.163,153.339 409.665,153.12 413.748,168.04 417.675,153.12 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 421.670369, 108.606908)'>
<text x='-4' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>2</text>
<text x='8' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)' font-style='italic'>b = (t/r)·t</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='514.615,243.922 514.615,317.702 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='510.688,245.299 511.135,245.081 512.206,244.602 512.851,244.348 513.5,244.128 514.105,243.975 514.615,243.922 515.076,243.975 515.673,244.128 516.344,244.348 517.03,244.602 518.2,245.081 518.698,245.299 514.615,230.379 510.688,245.299 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='518.541,316.325 518.095,316.544 517.023,317.023 516.379,317.277 515.729,317.497 515.124,317.65 514.615,317.702 514.153,317.65 513.557,317.497 512.885,317.277 512.2,317.023 511.029,316.544 510.531,316.325 514.615,331.246 518.541,316.325 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 522.536862, 271.812321)'>
<text x='-4' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>2</text>
<text x='8' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)' font-style='italic'>b</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='403.185,480.908 403.185,407.128 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='407.112,479.531 406.665,479.749 405.594,480.228 404.95,480.482 404.3,480.702 403.695,480.855 403.185,480.908 402.724,480.855 402.127,480.702 401.456,480.482 400.77,480.228 399.6,479.749 399.102,479.531 403.185,494.451 407.112,479.531 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='399.259,408.505 399.705,408.286 400.777,407.807 401.421,407.553 402.071,407.333 402.676,407.18 403.185,407.128 403.647,407.18 404.243,407.333 404.915,407.553 405.6,407.807 406.771,408.286 407.269,408.505 403.185,393.584 399.259,408.505 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 411.107493, 435.017734)'>
<text x='-4' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>2</text>
<text x='8' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)' font-style='italic'>b = r – t</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' points='514.615,344.789 514.615,480.908 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='510.688,346.166 511.135,345.947 512.206,345.469 512.851,345.214 513.5,344.994 514.105,344.841 514.615,344.789 515.076,344.841 515.673,344.994 516.344,345.214 517.03,345.469 518.2,345.947 518.698,346.166 514.615,331.246 510.688,346.166 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,0%)' points='518.541,479.531 518.095,479.749 517.023,480.228 516.379,480.482 515.729,480.702 515.124,480.855 514.615,480.908 514.153,480.855 513.557,480.702 512.885,480.482 512.2,480.228 511.029,479.749 510.531,479.531 514.615,494.451 518.541,479.531 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 522.536862, 403.848274)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)' font-style='italic'>t</text>
</g>
</g>
</svg>


pentagon decagon hexagon identity > regular pentagon

<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='400' height='400'>
<g transform='translate(-66.000000, -5.000000)'>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,100%,85.0004%)' points='90.4321,377 202.726,377 146.579,160.997 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,100%,85.0004%)' points='384.421,377 202.726,377 293.573,27.5 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,100%)' points='293.573,27.5 146.579,160.997 202.726,377 384.421,377 440.568,160.997 293.573,27.5 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,100%)' stroke-dasharray='4,4' points='293.573,27.5 293.573,377 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,100%)' stroke-dasharray='4,4' points='202.726,377 293.573,27.5 384.421,377 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,100%)' stroke-dasharray='4,4' points='146.579,377 146.579,160.997 90.4321,377 202.726,377 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='293.573,97.4 146.579,204.198 202.726,377 384.421,377 440.568,204.198 293.573,97.4 ' />
<polyline fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,0%)' stroke-dasharray='4,4' points='202.726,377 293.573,97.4 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 197.725889, 386.000000)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>F</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 84.932145, 386.000000)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>E</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 140.079017, 386.000000)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>G</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 290.073436, 386.000000)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>J</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 290.073436, 386.000000)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>J</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 378.920983, 386.000000)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>L</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 287.073436, 5.000000)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>K</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 282.573436, 74.900000)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>K</text>
<text x='12' y='10' font-family='Times' font-size='16px' fill='rgb(0%,0%,0%)'>′</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 140.079017, 138.497121)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>H</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 113.579017, 195.197697)'>
<text x='0' y='14' font-family='Times' font-size='18px' fill='rgb(0%,0%,0%)'>H</text>
<text x='12' y='10' font-family='Times' font-size='16px' fill='rgb(0%,0%,0%)'>′</text>
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<ellipse fill='rgb(0%,0%,0%)' stroke='none' cx='294' cy='27' rx='3.19134' ry='3.19134' />
<ellipse fill='rgb(0%,0%,0%)' stroke='none' cx='203' cy='377' rx='3.19134' ry='3.19134' />
<ellipse fill='rgb(0%,0%,0%)' stroke='none' cx='147' cy='377' rx='3.19134' ry='3.19134' />
<ellipse fill='rgb(0%,0%,0%)' stroke='none' cx='294' cy='377' rx='3.19134' ry='3.19134' />
<ellipse fill='rgb(0%,0%,0%)' stroke='none' cx='147' cy='161' rx='3.19134' ry='3.19134' />
<ellipse fill='rgb(0%,0%,0%)' stroke='none' cx='90' cy='377' rx='3.19134' ry='3.19134' />
<ellipse fill='rgb(0%,0%,0%)' stroke='none' cx='384' cy='377' rx='3.19134' ry='3.19134' />
<ellipse fill='rgb(0%,0%,0%)' stroke='none' cx='147' cy='204' rx='3.19134' ry='3.19134' />
<ellipse fill='rgb(0%,0%,0%)' stroke='none' cx='294' cy='97' rx='3.19134' ry='3.19134' />
</g>
</g>
</svg>


pentagon decagon hexagon identity > skinny duads

<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='300' height='300'>
<g transform='translate(-66.000000, -5.000000)'>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='134.157,89.0774 326.719,125.141 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='198.667,273.645 134.157,89.0774 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='326.719,125.141 198.667,273.645 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='79.8337,120.208 134.157,89.0774 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='134.157,89.0774 321.572,59.3364 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='321.572,59.3364 326.719,125.141 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='198.667,273.645 79.8337,120.208 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='326.719,125.141 252.919,298.573 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='252.919,298.573 198.667,273.645 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,0%,0%)' points='134.157,89.0774 106.995,104.643 215.5,154.5 242.661,138.935 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(100%,0%,0%)' points='134.157,89.0774 106.995,104.643 215.5,154.5 242.661,138.935 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,100%,0%)' points='326.719,125.141 324.146,92.2387 215.5,154.5 218.073,187.402 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(0%,100%,0%)' points='326.719,125.141 324.146,92.2387 215.5,154.5 218.073,187.402 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,100%)' points='198.667,273.645 225.793,286.109 215.5,154.5 188.374,142.036 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,100%)' points='198.667,273.645 225.793,286.109 215.5,154.5 188.374,142.036 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,0%,0%)' points='79.8337,120.208 106.995,104.643 215.5,154.5 188.339,170.065 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(100%,0%,0%)' points='79.8337,120.208 106.995,104.643 215.5,154.5 188.339,170.065 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,100%,0%)' points='321.572,59.3364 324.146,92.2387 215.5,154.5 212.927,121.598 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(0%,100%,0%)' points='321.572,59.3364 324.146,92.2387 215.5,154.5 212.927,121.598 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='178.081,10.4267 134.157,89.0774 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,100%)' points='252.919,298.573 225.793,286.109 215.5,154.5 242.626,166.964 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,100%)' points='252.919,298.573 225.793,286.109 215.5,154.5 242.626,166.964 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='351.166,188.792 326.719,125.141 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='109.428,249.664 198.667,273.645 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='178.081,10.4267 79.8337,120.208 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='321.572,59.3364 178.081,10.4267 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='79.8337,120.208 109.428,249.664 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='351.166,188.792 321.572,59.3364 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='109.428,249.664 252.919,298.573 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='252.919,298.573 351.166,188.792 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='321.572,59.3364 232.333,35.3553 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='79.8337,120.208 104.281,183.859 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,100%)' points='178.081,10.4267 205.207,22.891 215.5,154.5 188.374,142.036 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,100%)' points='178.081,10.4267 205.207,22.891 215.5,154.5 188.374,142.036 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='252.919,298.573 296.843,219.923 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,100%,0%)' points='109.428,249.664 106.854,216.761 215.5,154.5 218.073,187.402 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(0%,100%,0%)' points='109.428,249.664 106.854,216.761 215.5,154.5 218.073,187.402 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,0%,0%)' points='351.166,188.792 324.005,204.357 215.5,154.5 242.661,138.935 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(100%,0%,0%)' points='351.166,188.792 324.005,204.357 215.5,154.5 242.661,138.935 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,100%)' points='232.333,35.3553 205.207,22.891 215.5,154.5 242.626,166.964 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,100%)' points='232.333,35.3553 205.207,22.891 215.5,154.5 242.626,166.964 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,100%,0%)' points='104.281,183.859 106.854,216.761 215.5,154.5 212.927,121.598 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(0%,100%,0%)' points='104.281,183.859 106.854,216.761 215.5,154.5 212.927,121.598 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,0%,0%)' points='296.843,219.923 324.005,204.357 215.5,154.5 188.339,170.065 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(100%,0%,0%)' points='296.843,219.923 324.005,204.357 215.5,154.5 188.339,170.065 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='178.081,10.4267 232.333,35.3553 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='104.281,183.859 178.081,10.4267 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='232.333,35.3553 351.166,188.792 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='109.428,249.664 104.281,183.859 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='296.843,219.923 109.428,249.664 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='351.166,188.792 296.843,219.923 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='104.281,183.859 232.333,35.3553 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='232.333,35.3553 296.843,219.923 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='296.843,219.923 104.281,183.859 ' />
</g>
</g>
</svg>


pentagon decagon hexagon identity > square duads

<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='300' height='300'>
<g transform='translate(-66.000000, -5.000000)'>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='150.59,208.532 215.593,80.3982 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='215.593,80.3982 294.11,200.334 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='294.11,200.334 150.59,208.532 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='136.984,34.5646 215.593,80.3982 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='215.593,80.3982 280.504,26.3665 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='71.98,162.698 215.593,80.3982 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,0%,0%)' points='215.593,80.3982 143.787,121.548 215.5,154.5 287.307,113.35 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(100%,0%,0%)' points='215.593,80.3982 143.787,121.548 215.5,154.5 287.307,113.35 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='150.59,208.532 71.98,162.698 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='280.504,26.3665 294.11,200.334 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,100%)' points='150.59,208.532 222.303,241.484 215.5,154.5 143.787,121.548 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,100%)' points='150.59,208.532 222.303,241.484 215.5,154.5 143.787,121.548 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,100%,0%)' points='294.11,200.334 287.307,113.35 215.5,154.5 222.303,241.484 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(0%,100%,0%)' points='294.11,200.334 287.307,113.35 215.5,154.5 222.303,241.484 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='150.496,282.634 150.59,208.532 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='359.02,146.302 294.11,200.334 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='294.016,274.435 150.59,208.532 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='294.11,200.334 294.016,274.435 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='280.504,26.3665 136.984,34.5646 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='136.984,34.5646 71.98,162.698 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,100%)' points='136.984,34.5646 208.697,67.5165 215.5,154.5 143.787,121.548 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,100%)' points='136.984,34.5646 208.697,67.5165 215.5,154.5 143.787,121.548 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,100%,0%)' points='280.504,26.3665 287.307,113.35 215.5,154.5 208.697,67.5165 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(0%,100%,0%)' points='280.504,26.3665 287.307,113.35 215.5,154.5 208.697,67.5165 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,0%,0%)' points='71.98,162.698 143.787,121.548 215.5,154.5 143.693,195.65 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(100%,0%,0%)' points='71.98,162.698 143.787,121.548 215.5,154.5 143.693,195.65 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='359.02,146.302 280.504,26.3665 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='71.98,162.698 150.496,282.634 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,0%,0%)' points='359.02,146.302 287.213,187.452 215.5,154.5 287.307,113.35 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(100%,0%,0%)' points='359.02,146.302 287.213,187.452 215.5,154.5 287.307,113.35 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,100%,0%)' points='150.496,282.634 143.693,195.65 215.5,154.5 222.303,241.484 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(0%,100%,0%)' points='150.496,282.634 143.693,195.65 215.5,154.5 222.303,241.484 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,100%)' points='294.016,274.435 222.303,241.484 215.5,154.5 287.213,187.452 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,100%)' points='294.016,274.435 222.303,241.484 215.5,154.5 287.213,187.452 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='294.016,274.435 359.02,146.302 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='150.496,282.634 294.016,274.435 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='136.89,108.666 136.984,34.5646 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='136.984,34.5646 280.41,100.468 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='71.98,162.698 136.89,108.666 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='280.504,26.3665 280.41,100.468 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,100%,0%)' points='136.89,108.666 143.693,195.65 215.5,154.5 208.697,67.5165 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(0%,100%,0%)' points='136.89,108.666 143.693,195.65 215.5,154.5 208.697,67.5165 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(0%,0%,100%)' points='280.41,100.468 208.697,67.5165 215.5,154.5 287.213,187.452 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(0%,0%,100%)' points='280.41,100.468 208.697,67.5165 215.5,154.5 287.213,187.452 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='150.496,282.634 136.89,108.666 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='280.41,100.468 359.02,146.302 ' />
<polygon stroke='none' fill-rule='evenodd' fill='rgb(100%,0%,0%)' points='215.407,228.602 287.213,187.452 215.5,154.5 143.693,195.65 ' />
</g>
<g transform='matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)'>
<polygon fill='none' stroke-width='0.5px' stroke='rgb(100%,0%,0%)' points='215.407,228.602 287.213,187.452 215.5,154.5 143.693,195.65 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='359.02,146.302 215.407,228.602 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='215.407,228.602 150.496,282.634 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='294.016,274.435 215.407,228.602 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='136.89,108.666 280.41,100.468 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='215.407,228.602 136.89,108.666 ' />
<polyline fill='none' stroke-width='2px' stroke='rgb(0%,0%,0%)' points='280.41,100.468 215.407,228.602 ' />
</g>
</g>
</svg>


pentagon identity

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Monoidal categories
+--{: .hide}
[[!include monoidal categories - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Idea

The *pentagon identity* is the [[coherence]] [[identity]] satisfied by an [[associator]] in a [[monoidal category]] or more generally in a [[bicategory]], [[(2,1)-category]] etc, asserting that the following [[pentagon|pentagonal]] [[commuting diagram|diagram commutes]], where

$$
  a_{x,y,z}
  \;\colon\;
  (x \otimes y) \otimes z
  \longrightarrow
  x \otimes (y \otimes z)
$$

is the [[associator]] [[natural transformation]] (or more generally: [[associator]] [[2-morphism]]).

\begin{centre}

\begin{tikzcd}[column sep = -3.1em, row sep = 10em, every label/.append style = {font = \Large}, font=\Large]
    & & (w \otimes x) \otimes (y \otimes z) \arrow[drr, "a_{w, x, y \otimes z}"] & & \\
    ((w \otimes x) \otimes y) \otimes z \arrow[urr, "a_{w \otimes x, y, z}"] \arrow[dr,"a_{w,x,y} \otimes \mathrm{id}_{z}", swap] & & & & w \otimes (x \otimes (y \otimes z)) \\
    & (w \otimes (x \otimes y)) \otimes z \arrow[rr, "a_{w, x \otimes y, z}", swap] & & w \otimes ((x \otimes y) \otimes z) \arrow[ur, "\mathrm{id}_{w} \otimes a_{x,y,z}", swap] &
\end{tikzcd}

\end{centre}

## Related concepts

* [[coherence law]]

* [[pentagonator]]

## References

* {#JoyalStreet} [[André Joyal]],[[Ross Street]], p. 10 of _Braided tensor categories_,  Adv. Math. 1993 ([pdf](http://web.science.mq.edu.au/~street/JS1.pdf))

For more references see at _[[braided monoidal category]]_ and at _[[coherence law]]_.

[[!redirects pentagon identities]]

[[!redirects pentagon equation]]
[[!redirects pentagon equations]]

[[!redirects pentagon law]]
[[!redirects pentagon laws]]


(Posted on behalf of Jim Stasheff, needs a little polishing before announcing.)

+-- {: .num_subsection #sectiona }
=--
### The pentagonal algebra of open string field theory ### {: .num_subsection}

One version of an open string in physics is a geometric object - something like an oriented arc in a Riemannian manifold $(M, g)$. One of the subtleties of string theory is the use of parametrized strings (paths) to obtain results that are independent of the choice of parameterization. String interactions are handled by "joining two strings to form a third" or "splitting a string in two". These are often pictured in one of three ways:

Fig. 3.

#### E: endpoint interaction ####

Here we are dealing with a space of maps $Map(I, M)$ where $I = [0, 1]$. (Physicists prefer $[0, \pi ]$.) The endpoint joining $E$ requires a reparameterization; define $X + Y :[0, 1] \to M$ by $X(2t) \text{for} t \leq 1/2$ and $Y(2t-1) \text{for} 1/2 \leq t \leq 1.$ This operation failed to have units, inverses or associativity, though all were present "up to homotopy".

So as to restore associativity, we follow J. C. Moore [?] and consider the space PM of parametrized paths $X : [0, r] \to M.$ (Fixing r can be regarded as a (partial) choice of 'gauge'.) Now we define the endpoint joining operation $X \vee Y$ for for paths $X,Y$ such that $X(r) = Y(0)$ so that $X \vee Y : [0, r + s] \to M$ by $X(t) \text{for} 0\leq t \leq r$ and $Y(t-r) \text{for} r\leq t\leq r+s.$ This operation is associative where defined and has units $x : [0,0] \to M,$ but has inverses only up to homotopy.

Conversely, splitting of the picture of a string at an arbitrary point led naturally to the use of parametrized paths $X : [0, r] \to M$ and to what are known as 4-point functions in physics. This splitting rather than combining paths seems to have occurred first in physics in the work of Kaku and Kikkawa [?]. Although couched in the physics language of light-cone Feynman diagrams, channels, Lagrangians, etc., they remark:

> the four-string interaction corresponds to the continuous defomation of the t-channel topology into the u-channel topology...([?], p.1124),

in other words, an associating homotopy. In considering multiple string interactions, they remark that the number of relevant light-cone Feynman diagrams is equal to the number of non-crossing triangulations of a convex $N$-gon, hence the Catalan number, though unnamed. Further, they remark that for an N-point functions, there is a relevant $N-3$-dimensional 'surface' (what is now known as the associahedron). They sketch a reason why for their string field theory there is no need for $N$-point functions for $N\gt 4.$ Translation:the pentagonal condition is satisfied on the nose, no need for higher homotopies.

#### M: midpoint or half overlap interaction ####

Here when the latter half of one path is the same as the first half of the second path but with reversed orientation, the interaction produces a third path by 'cancelling' the overlapping halves. The picture is symmetric with respect to cyclic permutations and is so interpreted.

The endpoint case E is familiar in mathematics as far back as the study of the fundamental group; the midpoint case M was considered by Witten in 1986 [?] for string field theory, although in fact it had been considered independently in mathematics by Lashof [?] in 1956.

#### V: variable overlap interaction ####

But if overlapping halves can be cancelled, why not vary the portion that is cancelled? This idea seems to have occurred first in physics in the work of Kaku [?], although it follows from an interpretation of the HIKKO [^1] interaction [?] of open string field theory. This (independently) uses Moore's associative endpoint interaction, but then creates inverses by cancellation as in the midpoint case. (see also the work of Kaku [?]). From the physicist's symmetrical point of view, this picture also gives inverses in the endpoint gauge by reversing orientation and cancellation of a portion of one string by all of another.

FIGURE

This variable overlap joining V of paths is given by the operation $X \star Y$ defined as follows: Let $u = \text{max} \{ r \text{such that} Y(t) = X(r-t) \text{for} 0 \leq t \leq r\} $, then $X \star Y: [0, r+s-2u] \to M$ by $X(t ) \text{for} 0\leq t \leq r-u$ and $Y(t-r+2u) \text{for} r-u\leq t\leq r+s-2u.$ Again $m: [0, 0] \to M$ is a unit, and the reversal $\bar{X}(t) = X(r - t)$ provides a strict inverse, but now $\star $ occasionally fails to be associative; there is a hidden destruction of associativity in what HIKKO refer to as 'horn' diagrams. for example in the configuration of Fig. \ref{horn}

On the other hand, $(X \star Y) \star Z$ and $X \star (Y\star Z)$ are clearly homotopic - just gradually shrink the back-and-forth part of $(X \star Y) \star Z$ - and hence $\star $ is homotopy associative. Denote such a homotopy $X \star Y \star Z$. From our point of view, it is this homotopy which gives rise to the "4-string vertex" in physics. Corresponding to the ways of combining $m_{2}$ and $m_{3}$ in defining an $A_{\infty }$-algebra, there are Remarkably, the five ways of combining the operations $ \star \star $ with $ \star $ on $W, X, Y, Z,$ e.g. $W\star (X\star Y) \star Z$, which remarkably add to give $0$ in this string interpretation.

[^1]: Hata, Itoh, Kugo, Kunitomo, Ogawa


pentagonator

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Higher category theory
+--{: .hide}
[[!include higher category theory - contents]]
=--
=--
=--

* [[associator]], [[unitor]], [[Jacobiator]]

* **pentagonator**, [[hexagonator]]

***

#Contents#
* table of contents
{:toc}

## Idea

A _pentagonator_ in [[higher category theory]] is an [[isomorphism]] that relaxes the ordinary [[pentagon identity]] .


pentaquark

[[!redirects pentaquarks]]

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Fields and quanta
+--{: .hide}
[[!include fields and quanta - table]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Idea

The _pentaquark_ is a [[bound state]] of 5 [[quarks]] (as opposed to just 3 in [[baryons]] and 2 in [[mesons]]) which after a long history of [[theory (physics)|theoretical]] prediction and inconclusive [[experiment|experimental]] signatures was finally observed beyond doubt by the [[LHCb collaboration]].

## References

Detection due to

* [[LHCb collaboration]], _Observation of $J/\psi b$ resonances consistent with pentaquark states in $\Lambda^0_b \to J/\psi K^- p$ decays_, Phys. Rev. Lett. 115, 072001 (2015) ([arXiv:1507.03414](https://arxiv.org/abs/1507.03414))

Review in

* [[Particle Data Group]], _[The Review of Particle Physics 2017](http://pdg.lbl.gov/2017/)_ _110. Pentaquarks_ ([pdf](http://pdg.lbl.gov/2017/reviews/rpp2017-rev-pentaquarks.pdf))

See also

* Wikipedia, _[Pentaquark](https://en.wikipedia.org/wiki/Pentaquark)_

Discussion in [[AdS/QCD]]:

* Kazuo Ghoroku, Akihiro Nakamura, Tomoki Taminato, Fumihiko Toyoda, _Holographic Penta and Hepta Quark State in Confining Gauge Theories_,
JHEP 1008:007,2010 ([arxiv:1003.3698](https://arxiv.org/abs/1003.3698))


Per Kraus

* [webpage](http://www.pa.ucla.edu/directory/per-kraus)

## Selected writings

On [[AdS3-CFT2 and CS-WZW correspondence]]:

* [[Per Kraus]], [[Finn Larsen]], _Partition functions and elliptic genera from supergravity_, JHEP 0701:002, 2007 ([arXiv:hep-th/0607138](https://arxiv.org/abs/hep-th/0607138))

and specifically concerning [[black holes in string theory]]:

* [[Per Kraus]], _Lectures on black holes and the $AdS_3/CFT_2$ correspondence_,  Lect. Notes Phys.755:193-247, 2008 ([arXiv:hep-th/0609074](https://arxiv.org/abs/hep-th/0609074))

Discussion of [[BTZ black hole|BTZ]] [[black hole entropy]] and more generally of [[holographic entanglement entropy]] in [[3d quantum gravity]]/[[AdS3/CFT2]] via [[Wilson line observables]] in [[Chern-Simons theory]]:

* Mert Besken, Ashwin Hegde, Eliot Hijano, [[Per Kraus]], _Holographic conformal blocks from interacting Wilson lines_, JHEP 08 (2016) 099 ([arXiv:1603.07317](https://arxiv.org/abs/1603.07317))

* [[Eric D'Hoker]], [[Per Kraus]], _Gravitational Wilson lines in $AdS_3$_ ([arXiv:1912.02750](https://arxiv.org/abs/1912.02750))

On [[black rings]] in [[D=5 supergravity]] and [[D1-D5 brane bound states]]:

* [[Iosif Bena]], [[Per Kraus]], _Microscopic description of black rings in AdS/CFT_ JHEP 12 (2004) 070 ([hep-th/0408186](http://arxiv.org/abs/hep-th/0408186))

* [[Iosif Bena]], [[Per Kraus]], _Microstates of the D1-D5-KK system_ Phys. Rev. D72 (2005) 025007 ([hep-th/0503053](http://arxiv.org/abs/hep-th/0503053))

* Alejandra Castro, Joshua L. Davis, [[Per Kraus]], Finn Larsen, _String Theory Effects on Five-Dimensional Black Hole Physics_ ([arXiv:0801.1863](http://arxiv.org/abs/0801.1863))

## related $n$Lab entries

* [[5d supergravity]]

* [[black holes in string theory]]

category: people


Per Lindström

* [Wikipedia entry](http://en.wikipedia.org/wiki/Per_Lindström)

## Reference

* [[Jouko Väänänen|J. Väänänen]], D. Westerståhl, _Per Lindström. In Memoriam_ , Theoria **76** (2010) pp.100-107.  ([draft](https://www.philosophy.su.se/polopoly_fs/1.165920.1391721234!/menu/standard/file/2010%20PelleInMemoriam.pdf))

## related $n$Lab entries

* [[Lindström's theorem]]

* [[abstract model theory]]

category: people


Per Martin-Löf

* [Wikipedia entry](http://en.wikipedia.org/wiki/Per_Martin-L%C3%B6f)

* [collection of articles on github](https://github.com/michaelt/martin-lof)

## Selected writings

A first [[type theory|type theoretic]] formulation of general [[inductive definitions]] (precusor notion of [[inductive types]]):

* [[Per Martin-Löf]], *Hauptsatz for the Intuitionistic Theory of Iterated Inductive Definitions*, Studies in Logic and the Foundations of Mathematics **63** (1971) 179-216 [doi:10.1016/S0049-237X(08)70847-4]

Introducing [[Martin-Löf dependent type theory]]:

* [[Per Martin-Löf]], *A Theory of Types*, unpublished note (1971) [[pdf](https://raw.githubusercontent.com/michaelt/martin-lof/master/pdfs/martin-loef1971%20-%20A%20Theory%20of%20Types.pdf), [[MartinLoef1971-ATheoryOfTypes.pdf:file]]]

* {#MartinLof75} [[Per Martin-Löf]], Section 1.7 in: _An intuitionistic theory of types: predicative part_, in: H. E. Rose, J. C. Shepherdson (eds.), *Logic Colloquium '73, Proceedings of the Logic Colloquium*, Studies in Logic and the Foundations of Mathematics **80** Pages 73-118,  Elsevier 1975 (doi:10.1016/S0049-237X(08)71945-1, [CiteSeer](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.131.926))

* [[Per Martin-Löf]] (notes by [[Giovanni Sambin]]), _Intuitionistic type theory_, Lecture notes Padua 1984, Bibliopolis, Napoli (1984) ([pdf](https://archive-pml.github.io/martin-lof/pdfs/Bibliopolis-Book-retypeset-1984.pdf), [[MartinLofIntuitionisticTypeTheory.pdf:file]])

and regarded as a [[programming language]]:

* [[Per Martin-Löf]], *Constructive Mathematics and Computer Programming*, in: *Proceedings of the Sixth International Congress of Logic, Methodology and Philosophy of Science (1979)*, Studies in Logic and the Foundations of Mathematics **104** (1982) 153-175 [doi:10.1016/S0049-237X(09)70189-2, [ISBN:978-0-444-85423-0](https://www.sciencedirect.com/bookseries/studies-in-logic-and-the-foundations-of-mathematics/vol/104/suppl/C)]

and with emphasis on the meaning of [[judgements]] and [[type formation]]-rules (via the [intuitionistic interpretation of connectives](intuitionistic +logic#ConstructiveInterpretationOfConnectives)):

* {#MartinLoef96} [[Per Martin-Löf]], *On the Meanings of the Logical Constants and the Justifications of the Logical Laws*, Nordic Journal of Philosophical Logic, **1** 1 (1996) 11-60 [[pdf](http://docenti.lett.unisi.it/files/4/1/1/6/martinlof4.pdf), [[MartinLofOnTheMeaning96.pdf:file]]]

On the notion of [[judgement]]:

* [[Per Martin-Löf]], *Truth of a proposition, evidence of a judgement, validity of a proof*, Synthese **73** (1987) 407–420 [[doi:10.1007/BF00484985](https://doi.org/10.1007/BF00484985), [pdf](https://archive-pml.github.io/martin-lof/pdfs/Truth-of-a-Proposition-Evidence-of-a-Judgment-1987.pdf)]

A list of publication is kept here:

* [github.com/michaelt/martin-lof](https://github.com/michaelt/martin-lof)

Transcripts of a number of lectures of a philosophical nature is kept here:

* [Transcriptions](https://pml.flu.cas.cz/)

## Related entries

* [[type theory]]

* [[Martin-Löf dependent type theory]], [[dependent type theory]], [[intensional type theory]]

* [[identity types]]

category: people

[[!redirects Per Martin-Lof]]


perfect chain complex

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Homological algebra
+--{: .hide}
[[!include homological algebra - contents]]
=--
#### Compact objects
+--{: .hide}
[[!include compact object - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Idea

A _perfect complex_ over a [[commutative ring]] $A$ is a [[perfect module]] over the [[Eilenberg-Mac Lane spectrum]] $H(A)$.
Under the [[stable Dold-Kan correspondence]], perfect complexes correspond to [[bounded chain complexes]] of [[finitely generated module|finitely generated]] [[projective modules]].

Viewing [[commutative rings]] as [[affine schemes]], this definition generalizes to arbitrary [[stacks]].
In this generality, perfect modules still coincide with the [[dualizable object|dualizable objects]], but not always with the [[compact object in an (infinity,1)-category|compact objects]].
The latter does hold for quasi-compact quasi-separated [[schemes]] by work of [[Robert Thomason|Thomason]], [[Amnon Neeman|Neeman]], [[Alexei Bondal|Bondal]]-[[Michel Van den Bergh|Van den Bergh]].

## Properties

### Relation to compact objects

+-- {: .num_prop}
###### Proposition

Let $A$ be a [[commutative ring]] and let $D(A)$ denote the [[derived category]] of $A$-[[modules]].  A [[chain complex]] $M_\bullet$ of $A$-modules is perfect if and only if it is a [compact object](compact+object#CompactnessInAdditiveCategories) of $D(A)$.

=--

For instance [(Stacks Project, 07LT)](http://stacks.math.columbia.edu/tag/07LT).

### Perfect complexes on a ringed space

Let $(X, \mathcal{O}_X)$ be a [[ringed space]].  A [[chain complex]] of $\mathcal{O}_X$-[[sheaf of modules|modules]] is called **perfect** if it is locally [[quasi-isomorphism|quasi-isomorphic]] to a [[bounded complex]] of [[free sheaf|free]] $\mathcal{O}_X$-modules of [[coherent sheaf|finite type]].

Let $D(Mod(\mathcal{O}_X))$ be the [[derived category]] of $\mathcal{O}_X$-modules.  Let $Pf(X) \subset D(Mod(\mathcal{O}_X))$ denote the [[full subcategory]] of perfect complexes.
This is a [[triangulated category|triangulated subcategory]], see [[triangulated categories of sheaves]].

## Related concepts

* [[perfect module]]

* [[perfect dg-module]]

* [[triangulated categories of sheaves]]

* [[determinant of a perfect complex]]

[[!include finite objects -- table]]

## References

* [[R. Thomason]], T. Trobaugh, _Higher algebraic K-theory of schemes and of derived categories_, in The Grothendieck Festschrift, Vol. III (1990), pp. 247-436.

* [[Alexei Bondal]], [[Michel Van den Bergh]], _Generators and representability of functors in commutative and  noncommutative geometry_, Moscow Math. Vol. 3, no. 1 (2003), pp. 1-36, [arXiv:math/0204218](http://arxiv.org/abs/math/0204218), [pdf](http://www.ams.org/distribution/mmj/vol3-1-2003/bondal-vandenbergh.pdf).

* [[Amnon Neeman]], _The Grothendieck duality theorem via Bousfield's techniques and Brown representability_, J. Amer. Math. Soc., vol. 9, no. 1, 1996, pp. 205-236.

* [[Raphaël Rouquier]], _Dimensions of triangulated categories_, Journal of K-theory, 1 (2008), pp. 1-36, [arXiv:math/0310134](http://arxiv.org/abs/math/0310134), [pdf](http://people.maths.ox.ac.uk/rouquier/papers/dimension.pdf).

* [[The Stacks Project]], _[Characterizing perfect objects](http://stacks.math.columbia.edu/tag/07LQ)_

* [[Jack Hall]], [[David Rydh]], _Perfect complexes on algebraic stacks_, [arXiv:1405.1887](http://arxiv.org/abs/1405.1887).

[[!redirects perfect complex]]
[[!redirects perfect complexes]]
[[!redirects perfect chain complexes]]
[[!redirects perfect complex of sheaves]]
[[!redirects perfect complexes of sheaves]]


perfect dg-module

## Idea

Let $T$ be a [[dg-category]] and $D(T)$ its [[derived dg-category]]. Consider the [[dg-Yoneda embedding]]
  $$ h : T \hookrightarrow D(T). $$
The [[thick subcategory|thick]] [[triangulated subcategory]] generated by its [[essential image]] is denoted $Perf(T) \subset D(T)$. It coincides with the [[full subcategory]] of [[compact objects]] of $D(T)$.

## Definition

+-- {: .un_defn}
###### Definition
A [[dg-module]] $M \in D(T)$ is **perfect** if it is in the full sub-dg-category generated by the [[pretriangulated envelope of a dg-category|pretriangulated envelope]] $tri(A)$ under [[direct summands]].
=--

We will write $perf(T) \subset D(T)$ for the full sub-dg-category of $D(T)$ spanned by perfect dg-modules. This is a [[pretriangulated dg-category|pretriangulated]] sub-dg-category.

## Properties

+-- {: .un_lemma}
###### Lemma
A [[dg-module]] $M \in D(T)$ is [[compact object|compact]] if and only if it is it is perfect.
=--

## References

Section 2.3 of

* [[Dmitri Orlov]], _Smooth and proper noncommutative schemes and gluing of DG categories_, [arXiv:1402.7364](http://arxiv.org/abs/1402.7364).

Paragraph 3.5 of

* {#Keller2006} [[Bernhard Keller]], _On differential graded categories_, [arXiv:math/0601185](http://arxiv.org/abs/math/0601185).


perfect dg-modules

## Idea

The _perfect dg-modules_ over a [[dg-category]] are the [[compact objects]] of its [[derived dg-category]].

## Definition

+-- {: .un_defn}
###### Definition
A [[dg-module]] $M \in D(T)$ is **perfect** if it is in the full sub-dg-category generated by the [[pretriangulated envelope of a dg-category|pretriangulated envelope]] $tri(A)$ under [[direct summands]].
=--

We will write $perf(T) \subset D(T)$ for the full sub-dg-category of $D(T)$ spanned by perfect dg-modules. This is a [[pretriangulated dg-category|pretriangulated]] sub-dg-category.

## Properties

By the explicit description of the [[pretriangulated envelope of a dg-category|pretriangulated envelope]], one gets

+-- {: .un_lemma}
###### Lemma
A [[dg-module]] $M \in D(T)$ is perfect if and only if it is it is in the full sub-dg-category of $D(T)$ generated by the finitely generated semi-free [[dg-modules]] under [[direct summands]].
=--

+-- {: .un_lemma}
###### Lemma
A [[dg-module]] $M \in D(T)$ is [[compact object|compact]] if and only if it is it is perfect.
=--

## References

Section 2.3 of

* [[Dmitri Orlov]], _Smooth and proper noncommutative schemes and gluing of DG categories_, [arXiv:1402.7364](http://arxiv.org/abs/1402.7364).

Paragraph 3.5 of

* {#Keller2006} [[Bernhard Keller]], _On differential graded categories_, [arXiv:math/0601185](http://arxiv.org/abs/math/0601185).

[[!redirects perfect dg-modules]]


perfect field

#Contents#
* table of contents
{:toc}

## Definition

A [[field]] (in the sense of [[commutative algebra]]) $F$ is **perfect** if every [[algebraic extension]] of $F$ is [[separable extension|separable]]. In that case, every [[splitting field|splitting field extension]] of $F$ is a [[Galois extension]].

An extension $E/F$ is separable iff every element $\alpha \in E$ is separable, meaning that its irreducible polynomial $f \in F[x]$ (a monic generator of the kernel of $F[x] \to E: x \mapsto \alpha$) has no multiple roots. Of course $f$ has a multiple root only if its [[derivative]] satisfies $f'(\alpha) = 0$, which means $f' \in (f)$: by degree considerations this can happen only if $f'$ is the zero polynomial. Notice this cannot happen in characteristic zero.

A field, $F$, of characteristic $p$ is perfect if every element of $F$ is a $p$th power. This property is used in the generalization to [[perfect rings]].

## Examples

All fields of [[characteristic]] zero are perfect, as are all [[finite fields]], all [[algebraically closed fields]], and all algebraic extensions of perfect fields.

An example of a field that isn't perfect is the field of rational functions over a finite field.

## Related entry

* [[perfect ring]]
* [[perfectoid field]]

[[!redirects perfect fields]]


perfect group

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Group Theory
+-- {: .hide}
[[!include group theory - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Definition

A ([[discrete group|discrete]]) [[group]] $G$ is **perfect** if it is equal to its own [[commutator subgroup]] $[G, G]$, i.e., if every [[element]] of $G$ is a product of [[commutators]] (elements of the form $[g, h] = g h g^{-1} h^{-1}$).

Equivalently: let $G^{ab}$ denote the [[abelianization]] of $G$ (the target of the [[homomorphism]] $G \to G^{ab}$ that is [[universal property|universal]] among homomorphisms from $G$ to [[abelian groups]], or the largest abelian quotient of $G$). Then $G$ is perfect precisely when $G^{ab}$ is a [[trivial group]], since
$G^{ab} \cong G/[G, G]$:

$$
  G \;\; \text{perfect}
  \;\;\;\Leftrightarrow\;\;\;
  G^{ab} \;\; \text{is trivial}
  \,.
$$

## Examples

\begin{example}
The [[trivial group]] is perfect, trivially.
\end{example}

+-- {: .num_prop }
###### Proposition

The [[alternating group]] $A_5$ is the smallest nontrivial perfect group.

=--

+-- {: .num_prop #2IIsPerfect}
###### Proposition

The [[binary icosahedral group]] $2I$ is a [[perfect group]]: its [[abelianization]] is the [[trivial group]].

In fact, up to [[isomorphism]], the [[binary icosahedral group]] is the unique [[finite group]] of [[order of a group|order]] 120 which is a [[perfect group]].

=--

Since $2I \simeq SL_2(\mathbb{F}_5)$ ([this prop.](icosahedral+group#IsomorphismToSL25)), this is a special case of the following class of examples:

+-- {: .num_prop}
###### Proposition

The [[special linear group]] $SL_n(\mathbb{F})$ is perfect for any [[field]] $\mathbb{F}$ and any $n \geq 1$, except for the cases $SL_2(\mathbb{F}_2)$ and $SL_2(\mathbb{F}_3)$.

=--

See for example [here](http://people.brandeis.edu/~igusa/Math101b/SL.pdf), or [Lang 02, theorems XIII 8.3 and 9.2](#Lang02). Notice that the smallest of this class of examples is $SL_2(\mathbb{F}_4)$, of order $60$. In a moment we give a simple argument that this example is isomorphic to $A_5$.

+-- {: .num_prop}
###### Proposition
A [[quotient group]] of a perfect group is again perfect.
=--

This last assertion is easy to see: $G$ is perfect if it has no nontrivial abelian quotients. If a quotient $H$ had a nontrivial abelian quotient, then obviously so would $G$.

+-- {: .num_remark}
###### Remark
Given that there are no nontrivial perfect groups of order less than $60$, this proposition shows that $SL_2(\mathbb{F}_4)$ cannot have a proper nontrivial quotient, i.e., it is a [[simple group]]. Since $A_5$ is up to isomorphism the only simple group of order $60$, there must be a (non-canonical) isomorphism $A_5 \cong SL_2(\mathbb{F}_4)$.
=--

Relatedly, we have

+-- {: .num_prop}
###### Proposition
An arbitrary colimit of perfect groups (as calculated in [[Grp]], the category of groups) is again perfect.
=--

+-- {: .proof}
###### Proof
The abelianization functor, being a [[left adjoint]], preserves a [[colimit]] of perfect groups $colim_i G_i$, taking it to $colim_i (G_i)^{ab} \cong \colim_i 1 \cong 1$ (since an arbitrary colimit of [[initial object]]s is again initial).
=--

\begin{example}\label{TerminalEpimorphismsInInfinityGroupoids}
  If the [[terminal object in an (infinity,1)-category|terminal map]] $\mathbf{B}G \to \ast$ out of the [[delooping groupoid]] $\mathbf{B}G$ of a [[discrete group]] $G$ is an [[epimorphism in an (infinity,1)-category|epimorphism in the $\infty$-category]] [[Infinity-Grpd|$Grpd_\infty$]] of [[infinity-groupoid|$\infty$-groupoids]], then $G$ must be perfect (see the discussion [there](epimorphism+in+an+infinity1-category#TerminalEpimorphismsInInfinityGroupoids)).
\end{example}

##Related entries

*  [[Quillen plus construction]]

*  [[Steinberg group]]

## References

* {#Lang02} [[Serge Lang]], _Algebra_, $3^{rd}$ edition, Springer 2002 ([pdf](https://math24.files.wordpress.com/2013/02/algebra-serge-lang.pdf))

[[!redirects perfect groups]]


perfect infinity-stack

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### $(\infty,1)$-Topos Theory
+--{: .hide}
[[!include (infinity,1)-topos - contents]]
=--
#### Higher geometry
+--{: .hide}
[[!include higher geometry - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Idea

In the context of [[dg-geometry]] an [[∞-stack]] $X$ is called _perfect_ if its [[(∞,1)-category]] $QC(X)$ of [[quasicoherent ∞-stack]]s (of [[module]]s over the [[structure sheaf]] $\mathcal{O}(X)$) is generated from compact objects/dualizable objects: modules that are locally [[perfect chain complex]]es.

## Definition

Let $k$ be a [[field]] of [[characteristic]] 0. Let $T$ be the [[Lawvere theory]] of commutative [[associative algebra]]s over $k$. When this is regarded as an [[(∞,1)-algebraic theory]], the $T$-$\infty$-algebras are modeled (by the [[monoidal Dold-Kan correspondence]] equivalently) by the

* [[model structure on simplicial T-algebras]];

* [[model structure on dg-algebras]] (over $k$, in non-positive degree, with positively graded differential).

The [[higher geometry]]/[[derived geometry]] over formal duals of these algebras is sometimes called [[dg-geometry]]: a general space in this context is given by an [[∞-stack]] over a full sub-[[(∞,1)-site]]

$$
  C \subset T Alg_\infty^{op}
$$

of the [[opposite (∞,1)-category]] of these $\infty$-algebras.

+-- {: .un_defn}
###### Definition

The [[(∞,2)-presheaf]] of [[quasicoherent ∞-stack]]s is

$$
  Mod : C^{op} \to (\infty,1)Cat
$$

given by

$$
  Spec A \mapsto A Mod
  \,,
$$

where on the right we take the $(\infty,1)$-category of $\infty$-modules over the $\infty$-algebra $A$, regarded as an unbounded dg-algebra.

=--

+-- {: .un_defn}
###### Definition

For $X \in Sh_{(\infty,1)}(C)$ an [[∞-stack]] in [[dg-geometry]], write

$$
  QC(X) := PSh_{(\infty,2)}(C)\left( X, Mod \right)
$$

for the $(\infty,1)$-category of **quasicoherent $\infty$-stacks** on $X$.

=--

+-- {: .un_remark}
###### Remark

By the [[co-Yoneda lemma]] we may express every $X \in Sh_{(\infty,1)}(C)$ as an [[(∞,1)-colimit]] of [[representable functor|representables]]

$$
  X \simeq {\lim_\to}_i U_i = {\lim_\to}_i Spec A_i
  \,.
$$

We have then

$$
  QC(X) \simeq {\lim_\leftarrow}_i QC(U_i) \simeq {\lim_\leftarrow}_i A_i Mod
  \,.
$$

=--

This appears as ([Ben-ZviFrancisNadler, section 3.1](#Ben-ZviFrancisNadler)).

+-- {: .un_prop}
###### Proposition

For all $X \in \mathbf{H}$, we have that $QC(X)$

* is a [[stable (∞,1)-category]]

* that has all [[(∞,1)-colimit]]s.

=--

([Ben-ZviFrancisNadler, section 3.1](#Ben-ZviFrancisNadler)).

+-- {: .un_defn}
###### Definition

Let $A \in T Alg_\infty$ . An $A$-module is a **perfect module** if it lies in the smallest [[sub-(∞,1)-category]] of $A Mod$ containing $A$ and closed under finite [[(∞,1)-colimit]]s and [[retract]]s.

For a [[∞-stack]] $X \in Sh_{(\infty,1)}(C)$, the $\infty$-category $Perf(X)$ is the full sub-$(\infty,1)$-category of $QC(X)$ consisting of those modules that are prefect over every affine $U\to X$.

=--

This appears as ([Ben-ZviFrancisNadler, definition 3.1](#Ben-ZviFrancisNadler)).

+-- {: .un_defn}
###### Definition

A [[∞-stack]] $X \in Sh_{(\infty,1)}(C)$ is called a  **perfect stack** if

* it has affine diagonal $X \to X \times X$;

* and $QC(X)$ is the [[ind-object in an (infinity,1)-category|(∞,1)-category of ind-objects]]

  $$
    QC(X) \simeq \Ind \Perf(X)
  $$

  of the full [[sub-(∞,1)-category]] $Perf(X) \subset QC(X)$ of perfect complexes of modules on $X$.

A morphism $X \rightarrow Y$ is said to be **perfect morphism** if its fibers $X \times_Y U$ over affines $U \rightarrow Y$ are perfect.

=--

## Properties

### Equivalent reformulations

+-- {: .un_def}
###### Definition

A [[stable (∞,1)-category]] $C$ is **compactly generated** if it has a [[small set]] $\{c_i\}_{i \in I}$ of [[compact object]] that are [[generator]]s in the sense that if for $N \in C$ we have that $C(c_i, N)$ is equivalent to the [[zero morphism]], then $N$ is the [[zero object]].

=--

+-- {: .un_theorem}
###### Proposition

For a [[∞-stack]] $X \in Sh_{(\infty,1)}(C)$ with affine diagonal, the following are equivalent:

* $X$ is perfect

* $QC(X)$ is

  * compactly generated,

  * and its [[compact object|compact]] and [[dualizable object|dualizable]] objects coincide.

=--

### Geometric $\infty$-function theory

The assigmnent

$$
  QC : X \mapsto QC(X)
$$

of the $(\infty,2)$-algebras  $QC(X)$ of
[[quasicoherent ∞-stack]]s to perfect $$\infty$-stacks $X$ constitutes a
[[geometric ∞-function theory]]: this assignment commutes with [[(∞,1)-pullback]]s and admits a ggood pull-push theory of [[integral transforms on sheaves]].

([Ben-ZviFrancisNadler](#Ben-ZviFrancisNadler)

## Examples

Perfect stacks cover a broad array of spaces of interest, with notable exceptions being the ([[constant ∞-stack]] on a) [[classifying space]] $\mathcal{B}G$ of a [[topological group]] $G$ such as the [[circle]] $S^1 \simeq \mathcal{B} \mathbb{Z}$ or the classifying spaces of most [[algebraic group]]s in non-zero [[characteristic]]. This is because if $X$ is perfect, then the [[global section]]s functor $\Gamma$ must preserve colimits, which fails when the global sections $\Gamma(X, \mathcal{O}_X)$ of the structure sheaf is 'too large', as in the previous cases.

But the following are examples of perfect $\infty$-stacks

* quasi-compact [[derived scheme]]s with affine diagonal;

* the total space of a quasi-projective morphism over a perfect base;

* a quasi-projective [[derived scheme]];

* the quotient $X/G$ of a quasi-projective [[derived scheme]] $X$ by a linear action of an affine group (for $k$ of [[characteristic]] 0).

## References

The concept of a _perfect stack_ in the context of [[dg-geometry]] is considered in

* [[David Ben-Zvi|Ben-Zvi]], [[John Francis]],  [[David Nadler]], _Integral transforms and Drinfeld centers in derived algebraic geometry_ ([arXiv](http://arxiv.org/abs/0805.0157))
{#Ben-ZviFrancisNadler}

[[!redirects perfect infinity-stacks]]
[[!redirects perfect ∞-stack]]
[[!redirects perfect ∞-stacks]]


perfect module

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Higher algebra
+--{: .hide}
[[!include higher algebra - contents]]
=--
#### Higher linear algebra
+-- {: .hide}
[[!include homotopy - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Definition

In the generality of [[higher algebra]]:

+-- {: .num_defn #Modperf}
###### Definition

Let $R$ be an [[A-∞ ring]]. Write $R Mod^{perf} \hookrightarrow R Mod$ for the smallest [[stable (∞,1)-category]] inside that of all [[∞-modules]]  which contains $R$ and is closed under [[retracts]]. An object in $R Mod^{perf}$ is called a _perfect $R$-module_ .

=--

([[Higher Algebra|HA, def. 8.2.5.1]])

## Properties

### Relation to compact and dualizable objects

+-- {: .num_prop}
###### Propositon

Let $R$ be an [[A-∞ ring]]. The [[(∞,1)-category of ∞-modules]] $R Mod$ is a [[compactly generated (∞,1)-category]] and the [[compact object in an (∞,1)-category|compact objects]] coincide with the perfect modules, def. \ref{Modperf}

If $R$ is commutative ([[E-∞ ring|E-∞]]) then the perfect modules (and hence the compact objects) also coincide with the [[dualizable objects]].

=--

The first statement is ([[Higher Algebra|HA, prop. 8.2.5.2]]), the second ([[Higher Algebra|HA, prop. 8.2.5.4]]). For [[perfect chain complexes]] this also appears as ([BFN 08, lemma 3.5](#BFN08)).

## Examples

* [[perfect chain complex]]

## Related concepts

[[!include finite objects -- table]]

## References

For [[perfect chain complexes]] see the references there.

In the general context of [[higher algebra]] perfect modules are discussed in

* [[Jacob Lurie]], sectin 8.2.5 of _[[Higher Algebra]]_

For the properties of perfect modules in [[derived algebraic geometry]], see

* {#BFN08} [[David Ben-Zvi]], [[John Francis]], [[David Nadler]], section 3.1 of _Integral Transforms and Drinfeld Centers in Derived Algebraic Geometry_, J. Amer. Math. Soc. 23 (2010), no. 4, 909-966 ([arXiv:0805.0157](http://arxiv.org/abs/0805.0157))

* [[B. Toen]], _Derived Azumaya algebras and generators for twisted derived categories_, [arXiv:1002.2599](http://arxiv.org/abs/1002.2599).

* [[Dennis Gaitsgory]], _[[Notes on geometric Langlands]]: Quasi-coherent sheaves_.

[[!redirects perfect modules]]

[[!redirects perfect ∞-module]]
[[!redirects perfect ∞-modules]]

[[!redirects perfect infinity-module]]
[[!redirects perfect infinity-modules]]

[[!redirects perfect objects]]

[[!redirects perfect object]]


perfect Morse function

One of the basic results of [[Morse theory]] are the so-called Morse inequalities involving Morse numbers. The values in the Morse inequalities depend on a choice of [[Morse function]]. The best possible case if when the Morse inequalities are equalities. In that case we speak of a **perfect Morse function**.

It has long been known that the existence of a perfect Morse function on every smooth 3-dimensional manifold is equivalent to the 3-dimensional [Poincaré conjecture](http://en.wikipedia.org/wiki/Poincar%C3%A9_conjecture), which is now the Poincaré--Perelman theorem.

* Michael Thaddeus, _A perfect Morse function on the moduli space of flat connections_, [math.SG/9812002](http://arxiv.org/abs/math.SG/9812002)


perfect obstruction theory

The notion of perfect obstruction theory is introduced by Behrend and Fantechi.

## For derived schemes {#derived schemes}

Every derived scheme has a canonical perfect obstruction theory given as follows.

Let $X$ be a [[derived scheme]]. Let $j$ denote the morphism from the underlying ordinary scheme

$$
j: t_0(X) \to X
$$

The cotangent complex functor sends this to an arrow in the [[tangent (infinity,1)-category]]

$$
L_{t_0(X)} \to j^*X
$$

This morphism of [[quasicoherent sheaves]] is a perfect obstruction theory.

## References {#references}

The paper

* [[Kai Behrend]], [[Barbara Fantechi|B. Fantechi]], _The intrinsic normal cone_, Invent. Math. __128__ (1997), no. 1, 45--88, [MR98e:14022](http://www.ams.org/mathscinet-getitem?mr=98e:14022) [arXiv:alg-geom/9601010](http://arxiv.org/abs/alg-geom/9601010)

shows how to construct virtual fundamental classes, using the intrinsic [[normal cone]].


perfect ring

#Contents#
* table of contents
{:toc}

## Definition

A ring $R$ of characteristic $p$ is said to be _perfect_ if the [[Frobenius map]] $\phi: R \to R$ is an [[isomorphism]]. If instead $\phi$ is merely assumed to be [[surjective]], $R$ is said to be _semiperfect_.

## Perfections

For a ring $R$ of characteristic $p$, let $R_{perf} = \underset{\rightarrow}{lim}_{\phi} R$ and $R^{perf} = \underset{\leftarrow}{lim}_{\phi} R$

Both $R_{perf}$ and $R^{perf}$ are perfect.  The canonical map $R\to R_{perf}$ (respectively, $R^{perf} \to R$) is universal for maps _into_ (respectively, _from_) perfect rings.  Moreover, the projection $R^{perf} \to R$ is surjective exactly when $R$ is semiperfect.

## Related entries

* [[perfect field]]
* [[perfectoid space]]

## References

* [[Bhargav Bhatt]], [lecture notes](http://www-personal.umich.edu/~bhattb/teaching/mat679w17/lectures.pdf).

[[!redirects perfect rings]]


perfect space

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context
#### Topology
+-- {: .hide}
[[!include topology - contents]]
=--
=--
=--

# Contents
* table of contents
{: toc}

## Idea

[[Georg Cantor]] used to define the [[continuum]] as a **perfect space** that is [[connected space|connected]] as well.  Hence, the property of 'being perfect', as the name indicates as well, can be viewed as forming part of the concept of a 'prototypical' [[topological space]].

## Definitions

A [[topological space]] $X$ is **perfect** if it has no isolated points, i.e., if every point $x$ belongs to the topological [[closure operator|closure]] of its [[complement]] $X \setminus \{x\}$.  Sometimes one requires a perfect space to be [[inhabited space|inhabited]] (nonempty), although it is better to allow the [[empty space]].

In a topological space $X$, a [[subset]] is said to be __perfect__ if it is [[closed set|closed]] in $X$ and perfect in its [[subspace topology]].  In other words, a set $A$ is perfect if and only if it equals its set $A'$ of [[accumulation points]].  Because of the closure requirement, being a perfect set/subset/subspace depends on the ambient space and is stronger than being a perfect space.  (But $X$ is a perfect subset of itself iff $X$ is a perfect space.)

In a topological space $X$, a subset $A$ has the __perfect-set property__ if it is either [[countable set|countable]] (possibly [[finite set|finite]] or even [[empty subset|empty]]) or has an inhabited perfect subset.  Of course, any perfect set has the perfect-set property.

If for each set $B$, ($B$ has a point apart from each point in $A$ if $B$ is inhabited and $B$ is perfect) and ($B$ is empty if $B$ is contained in $A$ and $B$ is perfect) and ($B$ has an isolated point if $B$ is contained in $A$ and inhabited), then $A$ is countable.

## Examples

* The [[empty space]] is perfect (unless it is excluded by fiat).

* The [[Cantor space]] $2^\mathbb{N}$ is perfect, in fact, it is the only [[totally disconnected space|totally disconnected]], [[compact space|compact]], [[metrizable space|metrizable]] space that is perfect.

* The [[real line]] is perfect.

* Every [[Polish space]] (including the previous two examples) is perfect.  Furthermore, any [[closed subset]] of a Polish space has the perfect-set property.

*  Using the [[axiom of choice]], one may prove the existence of subsets of the real line that do not have the perfect-set property.  In contrast, one of the axioms of [[dream mathematics]] is that every subset of the real line does have this property.  This makes the [[continuum hypothesis]] a theorem of dream mathematics.

## Properties

* Every topological space $X$ is the disjoint union of a [[scattered space|scattered subset]] and a perfect subset.

* Every perfect subset of a [[Polish space]] $X$ (including $X$ itself) has the [[cardinality of the continuum]] ($\beth_1$).  (This is why the continuum hypothesis follows from the non-classical axiom that every subset of the real line has the perfect-set property.)

* Every [[closed subset]] of a [[Polish space]] is a unique [[disjoint union]] of a countable set and a (possibly empty) perfect set.

## Related entries

* [[scattered space]]

* [[limit point]]

* [[Cantor space]]

* [[Polish space]]

* [[descriptive set theory]]

## Reference

* S. Willard, _General Topology_ , Addison-Wesley Reading 1970. (Dover reprint 2004, pp.216ff)

category: foundational axiom

[[!redirects perfect space]]
[[!redirects perfect spaces]]
[[!redirects perfect topological space]]
[[!redirects perfect topological spaces]]

[[!redirects perfect set]]
[[!redirects perfect sets]]
[[!redirects perfect subset]]
[[!redirects perfect subsets]]
[[!redirects perfect subspace]]
[[!redirects perfect subspaces]]

[[!redirects perfect set property]]
[[!redirects perfect-set property]]