formalization of proof
play

Formalization of Proof What is proof? GORM: Good Old Regular - PDF document

15-251: Great Theoretical Ideas in Computer Science Lecture 3 Formalization of Proof What is proof? GORM: Good Old Regular Mathematics Four Color Theorem GORM is the math youve been doing all your life 1852 conjecture: GORM is


  1. 15-251: Great Theoretical Ideas in Computer Science Lecture 3 Formalization of Proof What is “proof”? GORM: Good Old Regular Mathematics Four Color Theorem GORM is the math you’ve been doing all your life • 1852 conjecture: GORM is what we use in the lectures and homeworks • GORM proofs are written in English (or another human language) Any 2-d map of regions can be colored • In GORM, math statements are either true or false with 4 colors so that no adjacent • regions get the same color. We try to prove the true ones, disprove the false ones GORM proofs are valid if they are: • rigorous, logical, convincing, complete, precise This depends on the audience & assumed background! • Ultimately, GORM proofs are valid if they are accepted • by the community of mathematicians That’s OK! But we may also want to try to formalize • (within GORM) what it means to be a valid proof. Four Color Theorem Four Color Theorem 1879: Proved by Kempe in Amer. J. of Math 1969: Heesch showed that the theorem could in principle be reduced to 1880: Alternate proof by Tait in checking a large number of cases. Trans. Roy. Soc. Edinburgh 1976: 1890: Heawood finds a bug in Kempe’s proof. Appel and Haken wrote a massive amount of code to compute and 1891: Petersen finds a bug in Tait’s proof. then check 1936 cases (1200 hours of computer time). Kempe’s “proof” was widely acclaimed. Claimed this constituted a proof. 1

  2. Four Color Theorem Four Color Theorem Much controversy at the time. Is this a proof?? A&H found, classified various errors in their work. Type 1: few minute fix. Arguments against: Type 3: few day fix. No human could ever hand-check the cases. Ulrich Schmidt 1980 master’s thesis: Perhaps there’s a bug in the code. found thirteen Type 1 errors, one Type 3. Perhaps there’s a bug in the compiler. Perhaps there’s a bug in the hardware. No “insight” is derived – A&H fixed them all (?) in a 1989 book. still don’t know “why” the theorem is true. 1997: “Simpler” computer proof by Nevertheless, these days, pretty much Robertson, Sanders, Seymour, Thomas. everyone credits Appel & Haken with the proof. Classification of finite simple groups Classification of finite simple groups (the “prime numbers” of group theory) Some controversy: Is the theorem proven? Theorem: Every finite simple group is either… Genuine concern: Progress started in late 19 th century. Everyone who understands the proof 100’s of papers, 10,000 – 20,000 pages later… will die before it’s properly collated. 1983: Gorenstein announces proof is complete. Inna Capdeboscq: However, experts knew one piece still missing. ( The youngest person who knows the proof?) 2004: Aschbacher & Smith finish a 1221-page A ~5000 page, 13-volume series of paper, Aschbacher announces proof is complete. books describing the proof is underway. More anecdotes 1993: Wiles announces proof of Fermat’s Last Theorem. Then a bug is found. Because of such incidents, 1994: Bug fixed, 100-page paper. many mathematicians became interested in formalizing GORM proofs. 1994: Gaoyong Zhang, Annals of Mathematics : proves “n=4 case of Busemann- Petty”. 1999: Gaoyong Zhang, Annals of Mathematics : disproves “n=4 case of Busemann- Petty”. 2

  3. Formal proofs — 19 th century Formal proofs — prehistory True rigor developed. Euclid’s Elements (ca. 300 BCE) Culminated in the understanding Canonized the idea of giving that GORM proofs can be formalized, a rigorous, axiomatic deduction using tools like First Order Logic, & for all theorems. Deductive Systems. But wasn’t truly rigorous. It became generally agreed that you could rigorously formalize GORM proofs. Bertrand Russell Alfred Whitehead (But nobody wants to!) (by hand, at least…) Principia Mathematica , ca. 1912 Starting with axioms of set theory , Let’s now study the main tool: developed number theory and some First Order Logic real analysis, in purely formal logic. page 379: “ 1+1=2 ” “Alex is smarter than everyone”: First Order Logic (FOL) ∀x IsSmarter( a ,x) variable : First Order Logic = stands for an Propositional Logic (¬, ∧, ∨, →, ↔) object (person) like from last lecture… Plus: For All (∀), There Exists (∃), Equals (=) constant name : stands for a “constants”, “relations”, “functions” particular object Variables like x now represent relation name : objects , not truth-values. stands for a particular relation (i.e., a mapping: object(s) ↦ T / F ) 3

  4. “Alex is smarter than everyone”: “Alex is smarter than everyone”: ∀x IsSmarter( a ,x) ∀x IsSmarter( a ,x) “Alex is smarter than everyone else”: “Alex is smarter than everyone else”: ∀x (¬(x= a )→ IsSmarter( a ,x)) ∀x (¬(x= a )→ IsSmarter( a ,x)) “Alex’s father is smarter than everyone else’s father”: propositional logic , as usual ∀x (¬(x= a )→ IsSmarter(Father( a ),Father(x))) This formalization still has a problem: function name : What if Alex has a brother? equality (of objects) stands for a mapping, object(s) ↦ object Vocabulary: A collection of constant-names, Vocabulary: A collection of constant-names, function-names, function-names, relation-names. relation-names. Vocabulary from the previous slide: Another example of a vocabulary: one constant-name: a one constant-name: a one function-name: Father( ∙ ) two function-names: Next( ∙ ), Combine( ∙ , ∙ ) one relation-name: IsSmarter( ∙ , ∙ ) one relation-name: IsPrior( ∙ , ∙ ) Example (well- formed) “sentences”: ∃x (Next(x)= a ) ∀x ∀y ( IsPrior(x,Combine( a ,y )) → (Next(x)=y)) (∀x IsPrior(x,Next (x))) → (Next( a )=Next( a )) ∃x (Next(x)=Combine( a , a )) Q: Is this sentence true? A: The question does not make sense. Whether or not this sentence is true Let’s talk about TRUTH . depends on the interpretation of the vocabulary. Interpretation: Informally, says what objects are and what the vocabulary items stand for. 4

  5. ∃x (Next(x)=Combine( a , a )) ∃x (Next(x)=Combine( a , a )) Q: Is this sentence true? Interpretation #1: A: The question does not make sense. Universe = all strings of 0’s and 1’s • a = 1001 Whether or not this sentence is true • depends on the interpretation of the vocabulary. Next(x) = x0 • Combine(x,y) = xy Interpretation: • Specifies a nonempty set (“ universe ”) of objects. IsPrior(x,y) = True iff x is a prefix of y • Maps each constant-name to a specific object. Maps each relation-name to an actual relation. For this interpretation, …False Maps each function-name to an actual function. the sentence is… ∃x (Next(x)=Combine( a , a )) ∃x (Next(x)=Combine( a , a )) Interpretation #2: Interpretation #2: Universe = natural numbers Universe = integers • • a = 0 a = 0 • • Next(x) = x+1 Next(x) = x+1 • • Combine(x,y) = x+y Combine(x,y) = x+y • • IsPrior(x,y) = True iff x < y IsPrior(x,y) = True iff x < y • • For this interpretation, For this interpretation, …True …False the sentence is… the sentence is… All sentences in a given vocabulary Satisfiability / Tautology unsatisfiable Interpretation I satisfies sentence S: ∃x ¬(Next(x)=Next(x)) I [S] = T S is satisfiable: there exists I such that I [S] = T satisfiable ∃x (Next(x )=Combine( a , a )) S is unsatisfiable: I [S] = F for all I tautology S is a tautology: (∀x(x= a ))→(Next( a )= a ) I [S] = T for all I 5

  6. (∃y ∀x (x=Next(y))) → (∀w ∀z (w=z)) Tautology: automatically true, Problem 1: Show this is satisfiable. for ‘purely logical’ reasons Let’s pick this interpretation: Unsatisfiable: automatically false, Universe = integers, Next(y) = y+1. for purely logical reasons Now (∃y ∀x (x=Next(y))) means Satisfiable (but not a tautology) : “there’s an integer y such that every integer = y+1 ”. truth value depends on the interpretation That’s False ! of the vocabulary So the whole sentence becomes True . Hence the sentence is satisfiable. (∃y ∀x (x=Next(y))) → (∀w ∀z (w=z)) (∃y ∀x (x=Next(y))) → (∀w ∀z (w=z)) Problem 2: Is it a tautology? Problem 2: Is it a tautology? Solution: Yes, it is a tautology! Proof: Let I be any interpretation. There is no “truth table method”.  If I [∃y ∀x (x=Next(y ))] = F , You can’t enumerate all possible interpretations! then the sentence is True . It seems like you have to use some cleverness… If I [∃y ∀x (x=Next(y))] = T , then every object equals Next(y). In that case, I [ ∀w ∀z (w=z )] = T . So no matter what, I [the sentence] = T . (∃y ∀x (x=Next(y))) → (∀w ∀z (w=z)) Checking tautologies Problem 2: Is it a tautology? & Hmm… It’s really a shame that there’s no truth table method. Gottlob Frege David Hilbert invented the idea of FOL Deductive Calculus Is there any “mechanical method”?? (usually called a “Hilbert System”) This means a Deductive System for generating tautologies in First Order Logic. 6

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend