Dan Christensen
2016-10-21 01:55:17 UTC
Some background: https://en.wikipedia.org/wiki/Pigeonhole_principle
THEOREM
*******
Let P be a non-empty set of pigeons, and H a set of holes. Suppose each pigeon is put in a hole. Suppose further that there are more pigeons than holes, i.e. that no function mapping holes to pigeons is surjective. Then at least two pigeons will be in the same hole.
Formally:
ALL(pigeons):ALL(holes):[Set(pigeons)
& Set(holes)
& EXIST(a):a in pigeons
=> ALL(f):[ALL(a):[a in pigeons => f(a) in holes]
& ALL(g):[ALL(c):[c e holes => g(c) e pigeons] => ~Surjection(g,holes,pigeons)]
=> EXIST(a):EXIST(b):EXIST(c):[a in pigeons & b in pigeons & c in holes
& [~a=b & f(a)=c & f(b)=c]]]]
where
Set(pigeons) means pigeons is as set
Surjection(g,holes, pigeons) means the function g mapping holes to pigeons is surjective
Full text of proof: http://dcproof.com/pigeonhole.htm (70 lines)
Note: Since upgrading to Windows 10, some browsers do not correctly translate special characters, e.g. epsilon is displayed as "e", right triangle displayed as "4". Everything displays properly on MS Edge.
Dan
Download my DC Proof 2.0 software at http://www.dcproof.com
Visit my Math Blog at http://www.dcproof.wordpress.com
THEOREM
*******
Let P be a non-empty set of pigeons, and H a set of holes. Suppose each pigeon is put in a hole. Suppose further that there are more pigeons than holes, i.e. that no function mapping holes to pigeons is surjective. Then at least two pigeons will be in the same hole.
Formally:
ALL(pigeons):ALL(holes):[Set(pigeons)
& Set(holes)
& EXIST(a):a in pigeons
=> ALL(f):[ALL(a):[a in pigeons => f(a) in holes]
& ALL(g):[ALL(c):[c e holes => g(c) e pigeons] => ~Surjection(g,holes,pigeons)]
=> EXIST(a):EXIST(b):EXIST(c):[a in pigeons & b in pigeons & c in holes
& [~a=b & f(a)=c & f(b)=c]]]]
where
Set(pigeons) means pigeons is as set
Surjection(g,holes, pigeons) means the function g mapping holes to pigeons is surjective
Full text of proof: http://dcproof.com/pigeonhole.htm (70 lines)
Note: Since upgrading to Windows 10, some browsers do not correctly translate special characters, e.g. epsilon is displayed as "e", right triangle displayed as "4". Everything displays properly on MS Edge.
Dan
Download my DC Proof 2.0 software at http://www.dcproof.com
Visit my Math Blog at http://www.dcproof.wordpress.com