Difference between revisions of "Proofs without words"

(+2 more)
m (temp save)
Line 1: Line 1:
 
The following demonstrate [[proof]]s of various identities and theorems using pictures, inspired from [http://usamts.org/Gallery/G_Gallery.php this gallery].
 
The following demonstrate [[proof]]s of various identities and theorems using pictures, inspired from [http://usamts.org/Gallery/G_Gallery.php this gallery].
  
 +
== Summations ==
 
<center><asy>unitsize(15); defaultpen(linewidth(0.7));
 
<center><asy>unitsize(15); defaultpen(linewidth(0.7));
 
int n = 6; pair shiftR = ((n+2),0); real r = 0.3;
 
int n = 6; pair shiftR = ((n+2),0); real r = 0.3;
Line 69: Line 70:
 
The sum of the first <math>n</math> positive integers is <math>n(n+1)/2</math>.<br><br>
 
The sum of the first <math>n</math> positive integers is <math>n(n+1)/2</math>.<br><br>
 
</center>
 
</center>
 +
 +
== Geometric series ==
 +
<!--<center><asy></asy>
 +
The infinite [[geometric series]] <math>\frac 12 + \frac {1}{2^2} + \frac {1}{2^3} + \cdots = 1</math>.<br><br>
 +
</center>-->
  
 
<center><asy> defaultpen(linewidth(0.7)); unitsize(15);
 
<center><asy> defaultpen(linewidth(0.7)); unitsize(15);
int n = 10; real h = 6; pen colors[] = {red,green,blue};
+
int n = 4; real h = 2; pen colors[] = {rgb(0.8,0,0),rgb(0,0.8,0)};
 +
void drawTriGrid(real s){
 +
for(int i = 0; i < 4; ++i){
 +
  draw( (-s*3/2,s*(3/2 - i)) -- (s*3/2,s*(3/2 - i)), linetype("2 2"));
 +
  draw( (s*(3/2 - i),-s*3/2) -- (s*(3/2 - i),s*3/2), linetype("2 2"));
 +
}
 +
}
 +
void fillrect(pair A, pair B, pen p){ filldraw(A--(A.x,B.y)--B--(B.x,A.y)--cycle, p, linewidth(1)); }
 +
 
 +
for(int i = 0; i < n; ++i) {
 +
fillrect( ((-1)^i*-h/3^i*(3/2),-h/3^i*(3/2)) , ((-1)^i*-h/3^i*(1/2),h/3^i*(3/2)) , colors[0]);
 +
fillrect(-((-1)^i*-h/3^i*(3/2),-h/3^i*(3/2)) ,-((-1)^i*-h/3^i*(1/2),h/3^i*(3/2)) , colors[1]);
 +
fillrect( (-h/3^i*(1/2),(-1)^i*h/3^i*(1/2)) , (h/3^i*(1/2),(-1)^i*h/3^i*(3/2)), colors[0]);
 +
fillrect(-(-h/3^i*(1/2),(-1)^i*h/3^i*(1/2)) ,-(h/3^i*(1/2),(-1)^i*h/3^i*(3/2)), colors[1]);
 +
drawTriGrid(h/3^i);
 +
}
 +
</asy><br>
 +
 
 +
The infinite [[geometric series]] <math>\frac 13 + \frac {1}{3^2} + \frac {1}{3^3} + \cdots = \frac 12</math>.<br><br>
 +
</center>
 +
 
 +
<center><asy> defaultpen(linewidth(0.7)); unitsize(15);
 +
int n = 10; real h = 6; pen colors[] = {rgb(0.9,0,0),rgb(0,0.9,0),rgb(0,0,0.9)};
  
 
void drawEquilaterals(pair A, real s){
 
void drawEquilaterals(pair A, real s){
Line 86: Line 114:
 
</center>
 
</center>
  
 +
<center><asy> defaultpen(linewidth(1)); unitsize(15);
 +
int n = 8;  /* number of layers */
 +
real h = 3; /* square height */
 +
pen colors[] = {rgb(0.8,0,0),rgb(0,0.8,0),rgb(0,0,0.8)};
 +
pair shiftL = (-3*h,0); /* amount to shift second square left by */
 +
 +
void drawSquares(real s, pair A = (0,0)){
 +
filldraw(shift(A)*shift(-2*s,  -s)*xscale(s)*yscale(s)*unitsquare,colors[0]);
 +
filldraw(shift(A)*shift(-2*s,-2*s)*xscale(s)*yscale(s)*unitsquare,colors[1]);
 +
filldraw(shift(A)*shift(-s  ,-2*s)*xscale(s)*yscale(s)*unitsquare,colors[2]);
 +
}
 +
for(int i = 0; i < n; ++i)
 +
drawSquares(h/2^i);
 +
drawSquares(h,shiftL); draw(shift(shiftL+(-2*h,-2*h))*xscale(2*h)*yscale(2*h)*unitsquare);
 +
label("$\cdots$",shiftL+(-h/2,-h/2));
 +
</asy><br>
 +
 +
Another proof of the identity <math>\frac 14 + \frac {1}{4^2} + \frac {1}{4^3} + \cdots = \frac 13</math>. <br><br>
 +
</center>
 +
 +
== Geometry ==
 +
 +
== Miscellaneous ==
 
<center><asy> unitsize(15); defaultpen(linewidth(0.7));
 
<center><asy> unitsize(15); defaultpen(linewidth(0.7));
 
real r = 0.3, row1 = 3.5, row2 = 0, row3 = -3.5;
 
real r = 0.3, row1 = 3.5, row2 = 0, row3 = -3.5;

Revision as of 20:14, 18 March 2010

The following demonstrate proofs of various identities and theorems using pictures, inspired from this gallery.

Summations

[asy]unitsize(15); defaultpen(linewidth(0.7)); int n = 6; pair shiftR = ((n+2),0); real r = 0.3; pen colors(int i){ return rgb(i/n,0.4+i/(2n),1-i/n); } /* shading */ void htick(pair A, pair B,pair ticklength = (0.15,0)){  draw(A--B);  draw(A-ticklength--A+ticklength);  draw(B-ticklength--B+ticklength); }   /* triangle */ draw((-r,0)--(-r,-n+1)^^(r,-n+1)--(r,0),linetype("4 4")); for(int i = 0; i < n; ++i)  draw((-i,-i)--(i,-i)); for(int i = 0; i < n; ++i)  for(int j = 0; j < 2*i+1; ++j)   filldraw(CR((j-i,-i),r),colors(i));   /* square */ draw(r*expi(pi/4)+shiftR--(n-1,-n+1)+r*expi(pi/4)+shiftR^^r*expi(5*pi/4)+shiftR--r*expi(5*pi/4)+(n-1,-n+1)+shiftR,linetype("4 4")); for(int i = 0; i < n; ++i)  draw(shiftR+(0,-i)--shiftR+(i,-i)--shiftR+(i,0)); for(int i = 0; i < n; ++i)  for(int j = 0; j < n; ++j)   filldraw(CR((j,-i)+shiftR,r),colors((i>j)?i:j));  htick(shiftR+(-1,r),shiftR+(-1,-n+1-r)); label("$n$",shiftR+(-1,(-n+1)/2),W,fontsize(10)); [/asy]

The sum of the first $n$ odd natural numbers is $n^2$.

[asy] defaultpen(linewidth(0.7)); unitsize(15); int n = 6; pair shiftR = ((n+2),0); real r = 0.3; pen colors(int i){ return rgb(0.4+i/(2n),i/n,1-i/n); } /* shading */ void htick(pair A, pair B,pair ticklength = (0.15,0)){  draw(A--B);  draw(A-ticklength--A+ticklength);  draw(B-ticklength--B+ticklength); }   /* triangle */ draw((0.5,0)--(n-0.5,-n+1),linetype("4 4")); for(int i = 0; i < n; ++i)  draw((0,-i)--(i,-i)); for(int i = 0; i < n; ++i)  for(int j = 0; j <= i; ++j)   filldraw(CR((j,-i),r),colors(i));    /* arc arrow */ draw( arc((n,-n+1)/2, (1.5,-1.5), (n-1.5,-1.5), CW) ); fill((n-1.5,-1.5) -- (n-1.5,-1.5)+r*expi(5.2*pi/6) -- (n-1.5,-1.5)+r*expi(3.3*pi/6) -- cycle); /* manual arrowhead? avoid resizing */   /* square */ draw(shiftR+(0.5,0)--shiftR+(n-0.5,-n+1),linetype("4 4")); for(int i = 0; i < n; ++i)  draw(shiftR+(0,-i)--shiftR+(i,-i)^^shiftR+(n,-n+1)-(0,-i)--shiftR+(n,-n+1)-(i,-i)); for(int i = 0; i < n; ++i)  for(int j = 0; j < n+1; ++j)   filldraw(CR((j,-i)+shiftR,r),colors((j <= i) ? i : n-1-i));   /* labeling and ticks */ htick(shiftR+(-1,r),shiftR+(-1,-n+1-r)); label("$n$",shiftR+(-1,(-n+1)/2),W,fontsize(10)); htick(shiftR+(-r,-n),shiftR+(n+r-1,-n),(0,0.15)); label("$n$",shiftR+((n-1)/2,-n),S,fontsize(10)); htick(shiftR+(n-r,-n),shiftR+(n+r,-n),(0,0.15)); label("$1$",shiftR+(n,-n),S,fontsize(10)); [/asy]

The sum of the first $n$ positive integers is $n(n+1)/2$.

Geometric series

[asy] defaultpen(linewidth(0.7)); unitsize(15); int n = 4; real h = 2; pen colors[] = {rgb(0.8,0,0),rgb(0,0.8,0)}; void drawTriGrid(real s){  for(int i = 0; i < 4; ++i){   draw( (-s*3/2,s*(3/2 - i)) -- (s*3/2,s*(3/2 - i)), linetype("2 2"));   draw( (s*(3/2 - i),-s*3/2) -- (s*(3/2 - i),s*3/2), linetype("2 2"));   } } void fillrect(pair A, pair B, pen p){ filldraw(A--(A.x,B.y)--B--(B.x,A.y)--cycle, p, linewidth(1)); }  for(int i = 0; i < n; ++i) {  fillrect( ((-1)^i*-h/3^i*(3/2),-h/3^i*(3/2)) , ((-1)^i*-h/3^i*(1/2),h/3^i*(3/2)) , colors[0]);  fillrect(-((-1)^i*-h/3^i*(3/2),-h/3^i*(3/2)) ,-((-1)^i*-h/3^i*(1/2),h/3^i*(3/2)) , colors[1]);  fillrect( (-h/3^i*(1/2),(-1)^i*h/3^i*(1/2)) , (h/3^i*(1/2),(-1)^i*h/3^i*(3/2)), colors[0]);  fillrect(-(-h/3^i*(1/2),(-1)^i*h/3^i*(1/2)) ,-(h/3^i*(1/2),(-1)^i*h/3^i*(3/2)), colors[1]);  drawTriGrid(h/3^i); } [/asy]

The infinite geometric series $\frac 13 + \frac {1}{3^2} + \frac {1}{3^3} + \cdots = \frac 12$.

[asy] defaultpen(linewidth(0.7)); unitsize(15); int n = 10; real h = 6; pen colors[] = {rgb(0.9,0,0),rgb(0,0.9,0),rgb(0,0,0.9)};  void drawEquilaterals(pair A, real s){  filldraw(A--A+s*expi(2*pi/3)--A+(-s,0)--cycle,colors[0]);  filldraw(A--A+s*expi(2*pi/3)--A+s*expi(1*pi/3)--cycle,colors[1]);   filldraw(A--A+s*expi(1*pi/3)--A+(s,0)--cycle,colors[2]); }  for(int i = 0; i < n; ++i)  drawEquilaterals( (0,h-h/(2^i) ), (h/(2^(i+1))) *2/3^.5); [/asy]

The infinite geometric series $\frac 14 + \frac {1}{4^2} + \frac {1}{4^3} + \cdots = \frac 13$.

[asy] defaultpen(linewidth(1)); unitsize(15); int n = 8;  /* number of layers */ real h = 3; /* square height */  pen colors[] = {rgb(0.8,0,0),rgb(0,0.8,0),rgb(0,0,0.8)};  pair shiftL = (-3*h,0); /* amount to shift second square left by */  void drawSquares(real s, pair A = (0,0)){  filldraw(shift(A)*shift(-2*s,  -s)*xscale(s)*yscale(s)*unitsquare,colors[0]);  filldraw(shift(A)*shift(-2*s,-2*s)*xscale(s)*yscale(s)*unitsquare,colors[1]);  filldraw(shift(A)*shift(-s  ,-2*s)*xscale(s)*yscale(s)*unitsquare,colors[2]); } for(int i = 0; i < n; ++i)  drawSquares(h/2^i); drawSquares(h,shiftL); draw(shift(shiftL+(-2*h,-2*h))*xscale(2*h)*yscale(2*h)*unitsquare); label("$\cdots$",shiftL+(-h/2,-h/2)); [/asy]

Another proof of the identity $\frac 14 + \frac {1}{4^2} + \frac {1}{4^3} + \cdots = \frac 13$.

Geometry

Miscellaneous

[asy] unitsize(15); defaultpen(linewidth(0.7)); real r = 0.3, row1 = 3.5, row2 = 0, row3 = -3.5; void necklace(pair k, pen colors[]){  draw(shift(k)*unitcircle);   for(int i = 0; i < colors.length; ++i){   pair p = k+expi(pi/2+2*pi*i/colors.length);   fill(Circle(p,r),colors[i]);   draw(Circle(p,r));  } } void htick(pair A, pair B,pair ticklength = (0.15,0)){  draw(A--B);  draw(A-ticklength--A+ticklength);  draw(B-ticklength--B+ticklength); }   /* draw necklaces */ pen BEADS1[] = {red,red,red},BEADS2[] = {blue,blue,blue},BEADS3[] = {red,red,blue},BEADS4[] = {blue,red,red},BEADS5[] = {red,blue,red},BEADS6[] = {blue,blue,red},BEADS7[] = {red,blue,blue},BEADS8[] = {blue,red,blue};  necklace((-10,(row2+row3)/2),BEADS1);necklace((-7.5,(row2+row3)/2),BEADS2);  necklace((-2.5,row2),BEADS3);necklace((0,row2),BEADS4);necklace((2.5,row2),BEADS5); necklace((-2.5,row3),BEADS6);necklace((0,row3),BEADS7);necklace((2.5,row3),BEADS8);   /* box them and label */ draw((-4,row2-1.3)--(4,row2-1.3)--(4,row2+1.6)--(-4,row2+1.6)--cycle,linewidth(0.9)+linetype("4 2")); draw((-4,row3-1.3)--(4,row3-1.3)--(4,row3+1.6)--(-4,row3+1.6)--cycle,linewidth(0.9)+linetype("4 2")); htick((-4,row2+2),(4,row2+2),(0,0.15)); label("$p$",(0,row2+2),N,fontsize(10));  htick((-11.5,(row2+row3)/2+2),(-6,(row2+row3)/2+2),(0,0.15)); label("$a$",(-17.5/2,(row2+row3)/2+2),N,fontsize(10));  [/asy]

Fermat's Little Theorem: $a^p \equiv a \pmod{p}$ for $\text{gcd}\,(a,p) = 1$ (above $a=2,p=3$).