FEN Diskret matematik/Seminar 3 - proofs 1 Beviser Et bevis er en argumentation, som overbeviser om, at en påstand er sand, påstanden kaldes ofte en sætning eller et teorem. Et bevis opbygges typisk ved: –at tage udgangspunkt i en accepteret sandhed: En definition Et aksiom En tidligere bevist sætning –og anvende regler for logisk ræsonnement Sætninger har ofte formen: p q
FEN Diskret matematik/Seminar 3 - proofs 2 Eksempel (Martin 1.1): Direkte eller konstruktivt bevis Viser p q ved at gå ud fra, at p er sand og så nå frem til q via logiske omskrivninger Teorem: Produktet af to ulige heltal er altid ulige. Bevis: Først præciserer vi sætningen: Hvad vil det sige at n er ulige (U(n))? n N (U(n) ( m N (n = 2m+1)))
FEN Diskret matematik/Seminar 3 - proofs 3 Nu kan vi præcisere teoremet: n 1, n 2 N ((U(n 1 ) U(n 2 )) U(n 1 n 2 )) Bevis: Først: hvad ved vi og, hvad skal vi vise: Givet: U(n 1 ) ( m 1 N (n 1 = 2m 1 +1)) U(n 2 ) ( m 2 N (n 2 = 2m 2 +1)) Vise: n 1 n 2 e ulige, dvs.: U(n 1 n 2 ) ( m 3 N (n 1 n 2 = 2m 3 +1)) – dvs. findes m 3 ? Nu kan vi begynde at regne på det vi ved: n 1 n 2 = (2m 1 +1)(2m 2 +1) = 4m 1 m 2 + 2m 1 + 2m 2 + 1
FEN Diskret matematik/Seminar 3 - proofs 4 n 1 n 2 = 2(2m 1 m 2 + m 1 + m 2 ) + 1 Vi leder efter et tal m 3, så n 1 n 2 = 2m Vælg m 3 = 2m 1 m 2 + m 1 + m 2 og indsæt i ovenstående: n 1 n 2 = 2m Hvilket netop skulle vises!!! Dette bevis er konstruktivt, idet vi direkte finder, det tal, som opfylder kravet til produktet Hvor mange skridt skal vi tage med i et bevis? Bemærk, det er ikke tilstrækkeligt at finde et eksempel. (Medmindre der er tale om et modeksempel) De Morgan: ( x: p(x)) x: p(x)
FEN Diskret matematik/Seminar 3 - proofs 5 “Contrapositive” I stedet for at vise p q vises dens logiske ækvivalens q p Intuitivt: –“Hvis det regner, så bliver vi hjemme” –“Hvis vi ikke bliver hjemme, så regner det ikke” Formelt: q p ( q) p q p p q p q p q q p
FEN Diskret matematik/Seminar 3 - proofs 6 Eksempel (Martin 1.2) Teorem: For enhver triple af positive heltal i, j og n gælder Hvis i j = n så er i ≤ n eller j ≤ n Bevis: Teoremet indeholder en implikation og kan skrives: (i j = n) (i ≤ n j ≤ n) (i ≤ n j ≤ n) (i j = n) (i > n j > n) (i j n) Contrapositive: p q q p De Morgan
FEN Diskret matematik/Seminar 3 - proofs 7 Eksempel - fortsat (Martin 1.2) (i > n j > n) (i j n) (i j > n n) (i j n) (i j > n) (i j n) Hvilket er indlysende sandt. Q.E.D: Gang de to uligheder sammen (i, j og n er positive)
FEN Diskret matematik/Seminar 3 - proofs 8 Modstridsbevis (”Proof by Contradiction”) Start med at antage, at sætningen ikke er sand. Vis at dette fører til en modstrid (noget indlysende falsk) Konkluder, at sætningen må være sand Formelt: For at vise p q viser vi (p q) false Husk: (p q) false ( (p q)) false (p q) false (p q)
FEN Diskret matematik/Seminar 3 - proofs 9 Standseproblemet: Kan der konstrueres en algoritme, som med et vilkårligt program som input afgør om programmet terminerer (standser)? Vi vil bevise, at standseproblemet ikke har nogen algoritmisk løsning ved et modstridsbevis Vi antager, at vi har en algoritmisk løsning på standseproblemet og viser så, at det vil lede til en modstrid Antag, at algoritmen halt(a) returnerer sand, hvis programmet a standser og falsk hvis ikke
FEN Diskret matematik/Seminar 3 - proofs 10 Betragt nu følgende program: void evil(){ if(halt(evil())) while(true);//uendelig loop else break; } Hvis halt(evil()) returnerer sand (dvs. evil() terminerer), så går evil() i et uendeligt loop. Dvs. evil() standser alligevel ikke??? Hvis halt(evil()) returnerer falsk (dvs. evil() terminerer ikke), ja så terminerer ovenstående????
FEN Diskret matematik/Seminar 3 - proofs11 Algoritmisk løsbare problemer P: Polynomial NP: Nondeterministisk Polynomial Uløselige problemer “Svære” problemer NP Praktisk løsbare problemer P
FEN Diskret matematik/Seminar 3 - proofs 12 En anden klassiker (Martin 1.3) Teorem: 2 er irrationel Bevis: Antag 2 er rationel, dvs. der eksisterer heltal m’ og n’, så 2 = m’/n’. Forkort m’/n’ med alle fælles divisorer, så 2 = m/n og m og n ikke har nogen fælles divisor Heraf følger: 2 = m/n m = n 2 m 2 = 2n 2 m 2 er lige 2 gange et eller andet er altid lige. Strategien er nu at vise, at m og n må have en fælles divisor alligevel
FEN Diskret matematik/Seminar 3 - proofs 13 Vi har altså, at m 2 er lige Vi har tidligere vist, at for alle heltal gælder, at hvis a og b er ulige, så er ab også ulige Heraf følger omvendt, at hvis ab er lige, så er a og b ikke begge ulige. Dvs., a eller b er lige. Sæt a = b = m. Da m 2 = mm er lige, må m også være lige. Dvs. at der eksisterer et k, så m = 2k. Vi har endvidere: m 2 = 2n 2 Indsættes m = 2k heri fås: (2k) 2 = 2n 2 4k 2 = 2n 2 2k 2 = n 2. Heraf følger analogt med ovenfor, at n er lige. Hvis både n og m er lige, så har de en fælles divisor, nemlig 2. Vi har en modstrid, ergo kan 2 ikke være rationel!
FEN Diskret matematik/Seminar 3 - proofs 14 Øvelser 1.Bevis, at produktet af to lige naturlige tal er lige. 2.Bevis, at der til ethvert lige naturligt tal findes et ulige naturligt tal, som er større. (Vink: Brug konstruktive beviser, jf. ex. 1.1). 3. Bevis følgende teorem: For alle mængder A, B og C gælder: Hvis A B = og C B Så er A C = (Vink: brug modstridsbevis)