Innehåll: Föreläsning 1-2. Hur kan vi nås? Kursens mål: Kursmaterial. Examination. Logik med tillämpningar

Storlek: px
Starta visningen från sidan:

Download "Innehåll: Föreläsning 1-2. Hur kan vi nås? Kursens mål: Kursmaterial. Examination. Logik med tillämpningar"

Transkript

1 Innehåll: Föreläsning 1-2 Logik med tillämpningar Administration Registrering Den gamla kursutvärderingen Genomgång av kursmaterialet Laborationsinformation Försäljning av material Introduktion till kursen Prolog "Getting started" - LPAs programmeringsmiljö, manualer Fakta, regler, mål Prolog-programmens syntax och semantik Rekursiva regler, Terminering och ordning av regler och mål Kapitel 1-2: Topic Hur kan vi nås? 3 1 = Johan Rokka rokka@cs.umu.se = Lena Kallin Westin kallin@cs.umu.se = Ulrika Hägglund ulrika@cs.umu.se Kursens mål: Ge grundläggande kunskaper om och förståelse för formella logiska system, Ge grundläggande kunskaper i dess tillämpningar, exemplifierat med teorembevisning, tillämpningar inom AI, samt logikprogrammering (i språket Prolog). Kursmaterial Kurslitteratur: Logic and programming in logic, Ramin Yasdi. Hela boken ingår Kompendium med kompletterande artiklar (15:-) Övrigt kursmaterial: Laborationer, gruppövningar, gamla tentor, schema, etc. Websidor + lila kompendium (gratis) OH-bilder från föreläsningarna. Finns på websidorna senast dagen efter föreläsningen. Kan fås på papper (55:-) Examination Teorimoment 3p, betyg U, 3, 4, 5 Tentamen på 40p 2 tillfällen + uppsamlingstenta i augusti Praktiskt moment 2p, betyg U, G Tre stycken laborationer 2 Prolog-laborationer och 1 predikatlogik-laboration Båda momenten måste vara klar innan betyg på kursen ges

2 Vad händer med kursen? 4-5 år sedan: Två kursböcker, satslogik, predikatlogik, Prolog Senaste åren: En kursbok + kompendium, satslogik, predikatlogik, lite Prolog I år: En kursbok + kompendium, predikatlogik, Prolog Kursvärdering Vad har studenter tyckt tidigare? /~kursv välj rätt kurs och år Vad skulle förändras och vad har förändrats? Mer betoning på logikens tillämpningar Långsammare exempel på tavlan Byte av kursbok Vad händer med värderingen i år? Kursvärderingsamanuens (Therese Nylander) Schema och planering Notera att det finns en hel del förändringar! Ny handledare (Ulrika i stället för Andreas) Ny labsal (N310 i stället för MC343) Gruppövning 1 och 2 i labsal Gruppövning 2, 3 och 5 på andra tider/platser Föreläsningen 13/3 flyttad till 9/ Laborationerna 3 stycken Samarbete två och två Sista datum och tid (12.00) måste hållas 28/2, 14/3 (12/3 för garanterad feedback före tenta) samt 19/3. Alla labbar kompletterade och godkända den 29/3. Uppsamlingslaborationer till hösten Rättningsbetyg G, K, O och U Momentet klart när alla tre labbar är klara Vad innehåller kursen? Prolog, syntax, semantik Sambandet mellan logiska formler och färdiga Prologprogram Logik Syntax och semantik, språket matematiska Satslogik och predikatlogik Hur man bevisar satser x x x x x x xx xxxxxx Aristoteles William Chrysippius Petrus Abaelardus of Occam ( ( ( ) fkr) el. fkr) * Peter Deduktiv Utvecklade Abelard logik modal satslogiken ( ) * Syllogismer (möjlighet, Oanalyserade Rekonstruerade nödvändighet, satser mycket (eller avtro det och propositioner) tidigare (i) Every tvivel) arbetet Greek is som a person. var * Bidrog sammansatta (ii) Every till person begreppet med is mortal. konnektiv metaspråk analyserades (ett högnivå språk som Logik baserad på termer (iii) Every Greek is mortal. * diskuterar Var den som lingvistiska påpekadeenheter att ett Känt verk: Analytica posteriora som var också ord och ettpropositioner.) tal. Historisk återblick Augustus Gottlob René Giuseppe Charles Hobbes Descartes Frege Babbage (1588 Peano Morgan ( ) -( ) 1679) ( ) ( ) ( ) George * Endast matematik är säkert så allt måste Förste Utvecklade Uppfann SkrevBoole som i Leviathan: baseras (isa på teorin) ( ) också att all matematik. ett första When matematik formellt datorn, språk, kan * Arbetade skrivas 1. dock Acceptera med man minne, reasoneth, mer som båda bara konventionellt logik. processor med he symbolisk does det otvetydiga. och äninput Freges. logik * 2. *Kändförsinaaxiomsom Ada Boole Lade nothing Dela Lovelace upp grunden utvecklade else frågor ( ) but tillconceive det a i mindre denförsta moderna lyckosamma matematiska definierade sum total, from delar 3. * Börja Sägs vara med formella det den logiken enklaste förste naturliga systemet addition ochtalen of för gå till med * resonemang Utvecklade hjälp parcels; mer programmeraren, komplexa av mängder. or conceive ett kring logik a och saker. formellt översatte språk och remainder, from subtraction of 4.Granska mängdteori införde Babbages kvantifierare arbetet arbeten (bara tillräckligt satslogik!) grunden ofta för till one sum from another att Första kunna ordningens överblicka predikatlogik helheten. Gottfried Leibnitz ( ) Utvecklade ett symboliskt språk (universal langauge) och ett sätt att beräkna (caclulus of reasoning) som blev grunden till boolsk algebra.

3 Alfred Kurt Thoralf Jacques David AlanGödel Turing Tarski Hilbert Whitehead Skolem Herbrand ( ) ( ) ( ) ( ) (1887 ( ) ( ) ) Utvecklade * Bertrand Gerhard Alonzo Kullkastade Vidareutvecklade Herbrands Church Gentzen Russel teorem Hilberts komplett ( ) ( ) ( ) är system ett arbete semantisk av degenom teori * Gentzen Fortsatte av viktigaste Visade för visa Löwenheim predikatlogiken att oberoende var Freges teoremen det Hilberts finns och och av student bevisade sanna inom Peanos varandra medutsagor mer jobb som precisa * Hilbert man Skrev Löwenheim-Skolem logikenprincipia ca 1900: Mathematica teoremetdär 1. de att Om Det omformulerar det inte definitioner inte för kanimplementation finns bevisa. än av teorembevisning ska en inte teori gå har att bevisa på all någon de funnits tidigare en dator. modell matematik falska så utsagor. till beslutsprocedur logik för 2. har Om predikatlogik den utsaga en ändlig är sann, modell så skall det * finnas Skolemfunktioner ett bevis för detta. och Skolemkonstanter kommer vi * Gentzen utvecklade natural deduction att stöta påoch under sekvensanalys kursen som går att automatisera J. A. Robinson - Uppfann resolution och unifiering Tidigt 1970-tal Robert Kowalski, procedurell tolkning av Horn klausuler Alain Colemerauer, specialiserad teorembevisare i Fortran, som innehåller en speciell modul: Prolog (Programmation et Logique) Sent 1970-tal David Warren utvecklar dec-10 Prolog kompilatorn som gör att språket blir mer effektivt. Sent 80-tal, början av 90-talet Flera stora forskningsprojekt inom grundläggande logikprogrammeringsparadigmer och avancerade implementationstekniker 90-talet, till nu Constraint logic programming, parallella versioner, distribuerade system, objektorienterade versioner Under slutet av 1900-talet Fokusering på att skapa olika logiska system och på dess kompletthet och konsistens Vad är logik? Logik formaliserar (bland annat) hur slutsatser får dras från givna antaganden. Logiska deduktionsregler Antaganden Slutsatser Logiska deduktionsregler Antaganden Slutsatser Vad kan logik användas till? Automatisk teorembevisning Resolution Skapa en specifikation för ett program och bevisa dess korrekthet Representera och resonera om kunskap Expertsystem Satslogik En mening kan ha värdet sant eller falskt. Meningarna kallas utsagor eller satser. Utsagor kan kombineras med boolska operatorer till satslogiska uttryck. Logik är roligt. Jorden är rund. Logik är roligt och jorden är rund. Utsagan är sann eftersom de båda ingående satserna är sanna. Predikatlogik Utökning av satslogiken. Man kan definiera funktioner som har boolska värden som resultat och använda dessa i logiken. Man kan tala i termer av det existerar och för alla. Mest använda systemet inom datavetenskapen, Prolog bygger på resultat från predikatlogiken.

4 Det finns även andra typer av logik: Flervärd logik - sant, falskt och kanske Intuitionistisk logik - ett matematiskt objekt finns endast om det kan bevisas/konstrueras Modal logik - nödvändigt och möjligt Temporal logik - alltid och ibland Fuzzy logik - kontinuerlig flervärd logik (mer om det i slutet av kursen...) Logiska system Syntax - Definierar regler för vilka symboler vi kan använda och hur dessa kan kombineras och manipuleras Semantik - Ger en mening åt symbolerna och gör formlerna användbara. Viktiga beståndsdelar är: Alfabet Well-formed-formulas wffs Evaluering Deduktion och bevis Axiom och teorem Sundhet och fullständighet Vi vill kunna automatisera vårt logiska resonemang på ett bra sätt. I teorin utformar vi logikprogrammeringen på ett idealt sätt. I praktiken måste vissa begränsningar och krav införas för att inte beräkningar ska göra slut på minnet eller ta onödigt lång tid. Prolog vanligaste språket inom logikprogrammering. Andra logikprogramspråk: ALF, Babylon, Goedel, Janus, Lolli, Mercury, OPS5, De flesta programspråk utgår ifrån von Neumanns maskinmodell, dess instruktioner och dess begränsningar när de skapas. Arbetet delas upp på flera personer: de som löser problemet och de som implementerar lösningen. börjar med ett abstrakt tänkande som inte är beroende av en viss datormodell. Enda begränsningen är det mänskliga tänkandet... Antag att vi har en vektor A av heltal. Vi vill bevisa att det finns en annan vektor B, som är en permutation av A, men där elementen i B är ordnade i storleksordning Om datorn kan bevisa detta och samtidigt, givet ett A, producera motsvarande B, så har vi i praktiken ett program som sorterar heltal I det utopiska fallet: Program = mängd av axiom som beskriver kunskapen som finns om problemet tillsammans med gjorda antaganden Beräkning = programmet löser ett problem genom att producera ett konstruktivt bevis av formeln som beskriver problemet

5 Vanliga språk vs. Prolog Imperativa språk (Pascal, Fortran C, ) program = algoritm + data strukturer programmeraren måste veta lösningen på problemet Deklarativa språk program = logik + kontroll programmeraren presenterar fakta och regler Ett programs uppbyggnad Ett program består av en mängd satser.det finns tre typer av satser: Fakta Regler Frågor (kallas även mål) Ett fakta talar om att det existerar en relation mellan objekt. Kallas även predikat. mother(eva, kain). % Eva är mor till Kain. Uppbyggnad (2) Om man vill fråga om Eva är mor till Kain skriver man (:- är prompten i Prolog) :- mother(eva, kain). och trycker return. Frågor och fakta ser syntaktiskt likadana ut men kan skiljas åt av kontexten. Programmet kontrollerar om frågan är en logisk konsekvens av programmet. Uppbyggnad (3) En regel består av ett huvud och en kropp. grandmother(gmother, GChild):- mother(gmother, Child), mother(child, GChild). Ett predikat kan definieras med flera regler grandmother(gmother, GChild):- mother(gmother, Child), father(child, GChild). Hornklausuler De tre olika satserna i Prolog är Hornklausuler som är en speciell typ av predikatlogiska formler. Hornklausul är en klausul med endast en positiv literal A 1 A n Aeller(A 1 A n ) A eller A (A 1 A n ) Fakta är en Hornklausul med enbart den positiva literalen A. En Hornklausul utan den positiva literalen (A1 An) kallas ett mål Resolution Algoritmen för att lösa ett problem i Prolog bygger på en metod som kallas resolution. Man försöker visa något genom motsägelsebevis, dvs man antar negationen av det man vill visa och ser om man når en motsägelse. p och p är en motsägelse.

6 Programmeringsstil - fakta Fakta representeras av ett predikat som till exempel parent(x, Y). Betydelsen på predikatnamnet bestäms av programmeraren. Viktigt att bibehålla betydelsen i hela programmet och att dokumentera den! Namn på predikat och konstanter börjar med liten (gemen) bokstav. Namn på variabler börjar med stor (versal) bokstav. Programmeringsstil - fakta (2) Fakta består av predikatnamnet, följt av en argumentlista inom parenteser. Antalet argument 0 Kommatecken skiljer argumenten åt Ordningen mellan argumenten viktig Predikat med olika aritet (antal argument) representerar olika fakta Varje fakta avslutas med en punkt. Programmeringsstil - regler Man skriver regler på formen grandmother(gmother, GChild):- mother(gmother, Child), parent(child, GChild). Dvs, man skriver både regelns huvud och samtliga delmål på egen rad. Delmålen indenteras till exempel med en tab. Avsluta med en punkt., betyder och :- betyder Förklarande namn på predikat och argument är god stil. Programmeringsstil - regler (2) Man brukar normalt hålla samman definitionen av ett predikat; dvs, man skriver alla klausuler som definierar ett predikat efter varandra: parent( X, Y ) :- father( X, Y ). parent( X, Y ) :- mother( X, Y ). Frågor Frågan kan bestå av ett enda mål parent(diana, william). eller flera på en gång parent(diana, william),parent(charles, william). %AND parent(diana, william);parent(charles, william). %OR I stället för flera frågor kan variabler användas parent(person, william). LPA-Prolog, finns i labsalarna N310 och MA316. Finns gratisversioner av Prolog (tex SWI- Prolog), sök på webben! Utnyttja hjälpen och dokumentationen. win_ref.pdf Referensmanual MED exempel.

7 Syntax och semantik Ett Prologprogram består av objekt och predikat. Ett predikat definieras av sin functor (namnet) och ariteten. Objekten är inte datatyper! Finns ingen typkontroll eller typkonvertering i Prolog. Finns objekt som existerar genom sitt namn och som inte har något innehåll (diana, william, money). Symboler A,,Z,a,,z,0,,9,=,+,-,*,/,<,>,:-,?,$,_, %, and-operatorn,, or-operatorn ; Siffror Atomer Består av siffror, bokstäver och _ hej, ==, diana23 Om man använder kan valfritt tecken användas 20.april.1993 Konstanter Har ett fixt värde (atomer eller siffror). Variabler Börjar antingen med versal eller tecknet _ Variabeln med namnet _ kallas anonym variabel (jämför med ML!) Om en samma variabel används på flera ställen i en regel så är den bunden till samma värde. Har man _ på flera ställen står den för OLIKA variabler! Strukturer har ett namn och ett antal argument (jfr predikat) lives(x, adress(street, Postal_Code)). Termer kan vara konstanter, variabler, strukturer, listor Operatorer Matchning Två termer matchas och ses som identiska av systemet om de är lika eller kan unifieras (göras lika). Konstanter är lika om de är identiska Lena = Lena, diana = diana, a b, , Lena lena Variabler är lika om de är identiska, tilldelade samma värde båda utan värde endast en har ett värde och den andre kan unifieras med detta. Strukturer är lika om de har samma funktor och samma antal argument samt om argumenten matchar varandra Explicit tilldelning av variabler: X is 2+3 E B A on_table(x) on(x, y) top(x) En liten blockvärld: Eller med predikat: on_table(a) D on_table(c) on(d, c) C on(b, a) on(e, b) top(e) top(d) - är sann om x ligger på bordet -ärsannomxliggerovanpåy - är sann om x inte har något block ovanpå sig. Lite mer fakta + fråga BochDärtunga. Bäravträ Varje stort, blått block är på ett grönt block. Varje tungt block som är av trä är stort. Alla block som är överst är blåa. Alla block av trä är blåa. Finns det något grönt block? E B A D C

8 Den ideala världen I den ideala värden radar man upp sina fakta och regler i en lång rad. När man ska lösa ett problem hittar man alltid den rätta regeln i första försöket och tillämpar den på bästa sätt. Hur får man en dator att göra det? Prolog Två val måste göras för att skapa ett mer konkret programmeringsspråk. Det godtyckliga valet av vilket delmål i frågan som ska reduceras, the scheduling policy, måste specificeras. Det ickedeterministiska valet av regler från programmet måste implementeras. Pure Prolog Ordningen är definierad för både regler i programmet och för målen i regelkropparna. Välj målet längst till vänster Använd en sekventiell sökning efter en unifierbar regel Använd backtracking Backtracking Vi skiljer på grund och djup backtracking. Grund backtracking sker när unifiering av ett mål och en klausul misslyckas. Djup backtracking sker när unifiering av ett mål och den sista klausulen i en procedur misslyckas och kontrollen återgår till ett annat mål i beräkningsträdet. Rekursiva regler I vårt lilla släktträd kan vi vilja införa en ny relation förfader. En förfader är en person som finns högre upp i släktträdet. Dvs Om X är förälder till Y så är X förfader till Y. ancestor(x, Y):- parent(x, Y). Om X är förälder till Z och Z är förfader till Y så är X förfader till Y. ancestor(x, Y):- parent(x, Z), ancestor(z, Y). Ordning av regler Ordningen i vilken man ställer upp sina regler är viktig och kan inte bara i hög grad påverka effektiviteten hos ett prologprogram utan också om en regel terminerar eller ej. Jämför vad som hände med ancestorexemplet! ancestor(x, Y):- parent(x, Y). ancestor(x, Y):- parent(x, Z), ancestor(z, Y). ancestor(x, Y):- parent(x, Z), ancestor(z, Y). ancestor(x, Y):- parent(x, Y). ancestor(x, Y):- ancestor(z, Y), parent(x, Z). ancestor(x, Y):- parent(x, Y).

9 Terminering Prologs djupet-först traversering av sökträd medför ett allvarligt problem. Om sökträdet innehåller en oändlig gren så misslyckas beräkningen. Prolog kan även misslyckas att finna ett mål även om det finns en ändlig beräkning. Rekursiva regler som har det rekursiva målet som sitt första mål i kroppen kallas för vänsterrekursiva regler. Terminering Vänsterrekursiva regler ställer ofta till det i Prolog, de orsakar icketerminering om de anropas med olämpliga argument. Bästa lösningen är att undvika vänsterrekursion helt och hållet. Ett annat sätt, lätt att förbise, att få icketerminerande beräkningar är att skriva cirkulära definitioner. Ordning av mål Att ordna målen rätt är ännu mer viktigt än att ordna reglerna då målen bestämmer programflödet. Den optimala ordningen av mål beror på användande och programmässig kontext. Generellt sett, inom prologprogrammering är målet att misslyckas så tidigt som möjligt.ett tidigt misslyckande beskär sökträdet och för oss snabbare mot den korrekta lösningen.

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska kunnas?

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska kunnas? Avslutning Anmärkningar inför tentan Vad ska kunnas? Avslutning 1 Vad? Anmärkningar inför tentan 1 Att ha en bra förståelse för det som behandlades på föreläsningarna och gruppövningarna räcker i princip.

Läs mer

Föreläsning 5. Deduktion

Föreläsning 5. Deduktion Föreläsning 5 Deduktion Hur ett deduktivt system fungerar Komponenter - Vokabulär Ett deduktivt system använder ett visst slags språk som kan kallas för systemets vokabulär. I mindre formella fall är kanske

Läs mer

DD1361 Programmeringsparadigm HT17

DD1361 Programmeringsparadigm HT17 DD1361 Programmeringsparadigm HT17 Logikprogrammering 1 Dilian Gurov, KTH Delkursinnehåll Logisk versus procedurell läsning Kontrollflöde: Unifiering, Backtracking, Snitt Induktiva datatyper och rekursion

Läs mer

Imperativ programmering

Imperativ programmering Imperativ programmering 1DL126 3p Imperativ programmering Jesper Wilhelmsson ICQ: 20328079 Yahoo: amigajoppe MSN / epost: jesperw@it.uu.se Rum: 1335 Tel: 471 1046 Imperativ programmering Vilka programmeringsspråk

Läs mer

DD1361 Programmeringsparadigm HT16

DD1361 Programmeringsparadigm HT16 DD1361 Programmeringsparadigm HT16 Logikprogrammering 1 Dilian Gurov, TCS Delkursinnehåll Logikprogrammering Logisk versus procedurell läsning Kontrollflöde Unifiering, Backtracking, Snitt Negation Induktiva

Läs mer

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden.

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden. MATEMATISK LOGIK Matematisk logik formaliserar korrekta resonemang och definierar formellt bindeord (konnektiv) mellan påståenden (utsagor, satser) I matematisk logik betraktar vi påståenden som antingen

Läs mer

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska ni kunna?

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska ni kunna? Avslutning Anmärkningar inför tentan Vad ska ni kunna? Avslutning 1 Vad? Anmärkningar inför tentan 1 Att ha en bra förståelse för det som behandlades på föreläsningarna, inlämningsuppgifterna och gruppövningarna

Läs mer

DD1361 Programmeringsparadigm HT15

DD1361 Programmeringsparadigm HT15 DD1361 Programmeringsparadigm HT15 Logikprogrammering 1 Dilian Gurov, TCS Innehåll Logikprogrammering Kontrollflöde Unifiering Backtracking Negation Snitt Induktiva datatyper och rekursion Inbyggda datatyper:

Läs mer

Varför är logik viktig för datavetare?

Varför är logik viktig för datavetare? Varför är logik viktig för datavetare? 1. Datavetenskap handlar ofta om att automatisera processer som tidigare styrts av människor. Intuition, intelligens och mänskliga resonemang ersätts av beräkningar.

Läs mer

Grundläggande logik och modellteori (5DV102)

Grundläggande logik och modellteori (5DV102) Tentamen 2014-01-10 Grundläggande logik och modellteori (5DV102) M. Berglund och K. Markström Totalt antal uppgifter 10 Maximalt antal poäng 30 Krav för 3 i betyg 1 Krav för 4 i betyg 19 poäng, vara minst

Läs mer

Grundläggande logik och modellteori (5DV102)

Grundläggande logik och modellteori (5DV102) Tentamen 2013-10-31 Grundläggande logik och modellteori (5DV102) M. Berglund och K. Markström Totalt antal uppgifter 11 Maximalt antal poäng 30 Krav för 3 i betyg 14 poäng Krav för 4 i betyg 19 poäng,

Läs mer

Tommy Färnqvist, IDA, Linköpings universitet. 2 Strukturer 2 2.1 Domäner... 2 2.2 Tolkningar... 3

Tommy Färnqvist, IDA, Linköpings universitet. 2 Strukturer 2 2.1 Domäner... 2 2.2 Tolkningar... 3 Föreläsning 2 Semantik 729G06 Logikdelen Föreläsningsanteckningar i Programmering och logik 27 januari 2014 Tommy Färnqvist, IDA, Linköpings universitet 2.1 Innehåll Innehåll 1 Lite mer syntax 1 2 Strukturer

Läs mer

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19 Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium IV v. 2.0, den 29/4 2013 III. Metalogik 17-19 Modeller för satslogiken 18.1 Vi har tidigare sagt att en modell är en tolkning av en teori

Läs mer

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik DD1350 Logik för dataloger Fö 7 Predikatlogikens semantik 1 Kryssprodukt av mängder Om A och B är två mängder så är deras kryssprodukt A B mängden av alla par (a,b), där a A och b B. Ex: A={1,2}, B={3,4},

Läs mer

Hornklausuler i satslogiken

Hornklausuler i satslogiken Hornklausuler i satslogiken Hornklausuler (efter logikern Alfred Horn) är ett viktigt specialfall som tillåter effektiva algoritmer och ligger till grund för regelbaserade expertsystem och logiska programspråk

Läs mer

Formell logik Föreläsning 1. Robin Stenwall

Formell logik Föreläsning 1. Robin Stenwall Formell logik Föreläsning 1 Robin Stenwall Betygskriterier Mål Godkänt Väl godkänt Redogöra för grundprinciperna för härledning och översättning i sats- och predikatlogik. Utföra grundläggande översättningar

Läs mer

Lite om bevis i matematiken

Lite om bevis i matematiken Matematik, KTH Bengt Ek februari 2013 Material till kursen SF1662, Diskret matematik för CL1: Lite om bevis i matematiken Inledning Bevis är centrala i all matematik Utan (exakta definitioner och) bevis

Läs mer

Klassdeklaration. Metoddeklaration. Parameteröverföring

Klassdeklaration. Metoddeklaration. Parameteröverföring Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar

Läs mer

Grundläggande logik och modellteori

Grundläggande logik och modellteori Grundläggande logik och modellteori Kapitel 8: Predikatlogik Henrik Björklund Umeå universitet 2. oktober, 2014 Första ordningens predikatlogik Signaturer och termer Första ordningens predikatlogik Formler

Läs mer

DD1350 Logik för dataloger. Vad är logik?

DD1350 Logik för dataloger. Vad är logik? DD1350 Logik för dataloger Fö 1 - Introduktion Vad är logik? Vetenskapen som studerar hur man bör resoneraoch dra slutsatser utifrån givna påståenden (=utsagor, satser). 1 Aristoteles (384-322 f.kr) Logik

Läs mer

Innehåll. Föreläsning 7. Satslogiken är för grov. Samma sak i predikatlogik: Första ordningens predikatlogik. Logik med tillämpningar

Innehåll. Föreläsning 7. Satslogiken är för grov. Samma sak i predikatlogik: Första ordningens predikatlogik. Logik med tillämpningar Innehåll Föreläsning 7 Logik med tillämpningar 99-03-01 Första ordningens predikatlogik Objekt, predikat, kvantifierare Funktioner, termer, wffs Bindning och räckvidd Tolkningar och värderingar Satisfiering,

Läs mer

Grundläggande logik och modellteori

Grundläggande logik och modellteori Grundläggande logik och modellteori Kapitel 6: Binära beslutsdiagram (BDD) Henrik Björklund Umeå universitet 22. september, 2014 Binära beslutsdiagram Binära beslutsdiagram (Binary decision diagrams, BDDs)

Läs mer

p /\ q r DD1350 Logik för dataloger Kort repetition Fö 3 Satslogikens semantik

p /\ q r DD1350 Logik för dataloger Kort repetition Fö 3 Satslogikens semantik DD1350 Logik för dataloger Fö 3 Satslogikens semantik 1 Kort repetition Satslogik formellt språk för att uttrycka påståenden med variabler och konnektiv /\, \/,, t.ex. p /\ q r 1 Kort repetition Naturlig

Läs mer

Om semantisk följd och bevis

Om semantisk följd och bevis Matematik, KTH Bengt Ek december 2017 Material till kursen SF1679, Diskret matematik: Om semantisk följd och bevis Logik handlar bla om studiet av korrekta slutledningar, dvs frågan om när det är riktigt

Läs mer

Prova på-laboration i Prolog

Prova på-laboration i Prolog Prova på-laboration i Prolog Peter Dalenius petda@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2006-09-12 1. Introduktion till Prolog Programspråket Prolog konstruerades i början

Läs mer

Kursanalys för Programmeringsparadigm 2D1361, läsperiod 1 och 2 läsåret 2005/2006

Kursanalys för Programmeringsparadigm 2D1361, läsperiod 1 och 2 läsåret 2005/2006 Leif Kusoffsky 2005 - dec - 07 Nada KTH Kursanalys för Programmeringsparadigm 2D1361, läsperiod 1 och 2 läsåret 2005/2006 Kursdata Momentindelning Kursen genomförd Kursledare Kurslitteratur Antal studenter

Läs mer

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section Föreläsning 1 Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section 1.1-1.3 i kursboken Definition En utsaga (proposition) är ett

Läs mer

Sats. Om t är en rätvinklig triangel så är summan av kvadraterna på kateterna i t lika med kvadraten på hypotenusan.

Sats. Om t är en rätvinklig triangel så är summan av kvadraterna på kateterna i t lika med kvadraten på hypotenusan. Lunds tekniska högskola Datavetenskap Lennart Andersson Föreläsningsanteckningar EDAF10 3 Predikatlogik 3.1 Motivering I satslogiken är de minsta beståndsdelarna satslogiska variabler som kan anta värdena

Läs mer

Programmeringsteknik med C och Matlab

Programmeringsteknik med C och Matlab Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga

Läs mer

Traditionell Programmering

Traditionell Programmering Crash Course in Prolog Baran Çürüklü Introduktion till PROLOG, dvs. PROgramming in LOGic Prolog-programmen är deklarativa och består av egenskaper, relationer och regler. Lisp and Prolog är de vanligaste

Läs mer

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Är varje påstående som kan formuleras matematiskt*) alltid antingen sant eller falskt? *) Inom Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Exempel: 12 = 13 nej, falskt n! >

Läs mer

Tommy Färnqvist, IDA, Linköpings universitet. 1 Kursadministration 1. 2 Introduktion 2 2.1 Varför logik?... 2 2.2 Satslogik... 2

Tommy Färnqvist, IDA, Linköpings universitet. 1 Kursadministration 1. 2 Introduktion 2 2.1 Varför logik?... 2 2.2 Satslogik... 2 Föreläsning 1 Syntax 729G06 Logikdelen Föreläsningsanteckningar i Programmering och logik 21 januari 2014 Tommy Färnqvist, IDA, Linköpings universitet 1.1 Innehåll Innehåll 1 Kursadministration 1 2 Introduktion

Läs mer

Formell logik Föreläsning 1. Robin Stenwall

Formell logik Föreläsning 1. Robin Stenwall Formell logik Föreläsning 1 Robin Stenwall Vad ingår i kursen? Kapitel 1-14 i kursboken (Barwise och Etchemendy) De avsnitt i kapitel 1-14 som är markerade med optional läses dock kursivt och kommer inte

Läs mer

Övningshäfte 1: Logik och matematikens språk

Övningshäfte 1: Logik och matematikens språk GÖTEBORGS UNIVERSITET MATEMATIK 1, MMG200, HT2014 INLEDANDE ALGEBRA Övningshäfte 1: Logik och matematikens språk Övning A Målet är att genom att lösa och diskutera några inledande uppgifter få erfarenheter

Läs mer

Grundläggande logik och modellteori

Grundläggande logik och modellteori Grundläggande logik och modellteori Kapitel 1: Introduktion, motivation Henrik Björklund Umeå universitet 30. augusti, 2014 Lärare Henrik Björklund MIT E445 henrikb@cs.umu.se Klas Markström MIT E328 klas.markstrom@math.umu.se

Läs mer

Viktiga frågor att ställa när ett argument ska analyseras och sedan värderas:

Viktiga frågor att ställa när ett argument ska analyseras och sedan värderas: FTEA12:2 Föreläsning 2 Grundläggande argumentationsanalys II Repetition: Vid förra tillfället började vi se närmre på vad som utmärker filosofisk argumentationsanalys. Vi tittade närmre på ett arguments

Läs mer

Ett Logikprogram. Logik och Programmering. Introduktion till PROLOG, dvs. PROgramming in LOGic. Viktiga begrepp/områden i Prolog. Framtiden?

Ett Logikprogram. Logik och Programmering. Introduktion till PROLOG, dvs. PROgramming in LOGic. Viktiga begrepp/områden i Prolog. Framtiden? Crash Course in Prolog Peter Funk FUKO HT2001 IDt, Computer Science and Engineering Mälardalen University Västerås, Sweden Peter.Funk@mdh.se Introduktion till PROLOG, dvs. PROgramming in LOGic Prolog-programmen

Läs mer

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet Formell logik Kapitel 1 och 2 Robin Stenwall Lunds universitet Kapitel 1: Atomära satser Drömmen om ett perfekt språk fritt från vardagsspråkets mångtydighet och vaghet (jmf Leibniz, Russell, Wittgenstein,

Läs mer

DD1350 Logik för dataloger

DD1350 Logik för dataloger DD1350 Logik för dataloger Fö 4 Predikatlogik 1 Kort repetition Satslogik Naturlig deduktion är ett sunt och fullständigt bevissystem för satslogik Avgörbarhet Så vad saknas? Egenskaper Satslogiken är

Läs mer

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

Introduktion till formella metoder Programmeringsmetodik 1. Inledning Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur

Läs mer

13. CHURCH S OCH GÖDELS SATSER. KORT ORIENTERING OM BERÄKNINGSBARHET, EFFEKTIV UPPRÄKNELIGHET OCH AVGÖRBARHET.

13. CHURCH S OCH GÖDELS SATSER. KORT ORIENTERING OM BERÄKNINGSBARHET, EFFEKTIV UPPRÄKNELIGHET OCH AVGÖRBARHET. 81 13 CHURCH S OCH GÖDELS SATSER KORT ORIENTERING OM BERÄKNINGSBARHET, EFFEKTIV UPPRÄKNELIGHET OCH AVGÖRBARHET Våra beräkningar skall utföras på symbolsträngar, där symbolerna tas från ett givet alfabet

Läs mer

FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS

FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS 729G06 Logik FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS 160208 Idag C-regeln, informell (och formell) inledning till predikatlogik (Bevis kommer senare.) 2 3 Vår (Snöfritt Cykla) (Vår Snöfritt) Cykla Lätt

Läs mer

de var svåra att implementera och var väldigt ineffektiva.

de var svåra att implementera och var väldigt ineffektiva. OBS! För flervalsfrågorna gäller att flera alternativ eller inget alternativ kan vara korrekt. På flervalsfrågorna kan man bara ha rätt eller fel, dvs frågan måste vara helt korrekt besvarad. Totalt kan

Läs mer

Satslogik grundläggande definitioner 3. Satslogik. Uppgift 1. Satslogikens syntax (välformade formler) Satslogikens semantik (tolkningar)

Satslogik grundläggande definitioner 3. Satslogik. Uppgift 1. Satslogikens syntax (välformade formler) Satslogikens semantik (tolkningar) Satslogik grundläggande definitioner Satslogikens syntax (välformade formler) Satslogikens semantik (tolkningar) Modeller, logisk konsekvens och ekvivalens Några notationella förenklingar Kompletta mängder

Läs mer

DD1350 Logik för dataloger

DD1350 Logik för dataloger DD1350 Logik för dataloger Fö 8 Axiomatiseringar 1 Modeller och bevisbarhet Sedan tidigare vet vi att: Om en formel Φ är valid (sann i alla modeller) så finns det ett bevis för Φ i naturlig deduktion.

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner

Läs mer

Semantik och pragmatik

Semantik och pragmatik Semantik och pragmatik OH-serie 5 http://stp.lingfil.uu.se/~matsd/uv/uv12/semp/ Mats Dahllöf Institutionen för lingvistik och filologi Januari 2012 Så här långt Konjunktion (p q): att två enklare satser

Läs mer

Parameteröverföring. Exempel. Exempel. Metodkropp

Parameteröverföring. Exempel. Exempel. Metodkropp Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I

Läs mer

Formell logik Kapitel 9. Robin Stenwall Lunds universitet

Formell logik Kapitel 9. Robin Stenwall Lunds universitet Formell logik Kapitel 9 Robin Stenwall Lunds universitet Kapitel 9: Introduktion till kvantifiering Vi har hittills betraktat logiska resonemang vars giltighet enbart beror på meningen hos konnektiv som

Läs mer

7, Diskreta strukturer

7, Diskreta strukturer Objektorienterad modellering och diskreta strukturer 7, Diskreta strukturer Sven Gestegård Robertz Datavetenskap, LTH 2015 Modeller Matematiska modeller Kontinuerliga modeller Kontinuerliga funktioner

Läs mer

NUMERISKA METODER HT01. Energiteknik & Teknisk fysik HT01. Institutionen för Datavetenskap Umeå Universitet

NUMERISKA METODER HT01. Energiteknik & Teknisk fysik HT01. Institutionen för Datavetenskap Umeå Universitet NUMERISKA METODER HT01 för Energiteknik & Teknisk fysik HT01 Institutionen för Datavetenskap Umeå Universitet Dagens pass (föreläsning 1-2) Allmän info del 1 (kursens poäng, utlåning av Matlab, Matlab

Läs mer

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Föreläsning 9: Turingmaskiner och oavgörbarhet Turingmaskinen Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Data är ett oändligt långt band där nollor och ettor står

Läs mer

Grundläggande logik och modellteori

Grundläggande logik och modellteori Grundläggande logik och modellteori Kapitel 3: Bevissystem, Hilbertsystem Henrik Björklund Umeå universitet 8. september, 2014 Bevissystem och Hilbertsystem Teorier och deduktionsproblemet Axiomscheman

Läs mer

Matematikens grundvalar och programmering av datorer

Matematikens grundvalar och programmering av datorer Matematikens grundvalar och programmering av datorer Bengt Nordström Datavetenskap, Chalmers och Göteborgs Universitet, 14 februari, 2005 Datorerna föddes ur logiken 1870: Cantor: Det finns minst två slags

Läs mer

MATEMATIKENS SPRÅK. Avsnitt 1

MATEMATIKENS SPRÅK. Avsnitt 1 Avsnitt 1 MATEMATIKENS SPRÅK Varje vetenskap, liksom varje yrke, har sitt eget språk som ofta är en blandning av vardagliga ord och speciella termer. En instruktionshandbok för ett kylskåp eller för en

Läs mer

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället

Läs mer

7, Diskreta strukturer

7, Diskreta strukturer Objektorienterad modellering och diskreta strukturer 7, Diskreta strukturer Sven Gestegård Robertz Datavetenskap, LTH 2013 1 Inledning 2 Satslogik Inledning Satslogiska uttryck Resonemang och härledningar

Läs mer

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen KTH Matematik Bengt Ek Maj 2008 Kompletteringsmaterial till kursen SF1642, Logik för D1 och IT3: K2 Något om modeller, kompakthetssatsen Vi skall presentera ett enkelt (om man känner till sundhets- och

Läs mer

Innehåll. Inblandade personer. ÿkurspresentation Inblandade personer Administration Målsättning Förkunskaper Kursutvärdering Upplägg Översikt

Innehåll. Inblandade personer. ÿkurspresentation Inblandade personer Administration Målsättning Förkunskaper Kursutvärdering Upplägg Översikt ÿþýüûúùø øö ô Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Innehåll 2 ÿkurspresentation Inblandade personer Administration Målsättning Förkunskaper Kursutvärdering Upplägg Översikt ÿföreläsning

Läs mer

Tal till Solomon Feferman

Tal till Solomon Feferman Ur: Filosofisk tidskrift, 2004, nr 1. Dag Westerståhl Tal till Solomon Feferman (Nedanstående text utgör det tal som Dag Westerståhl höll på Musikaliska Akademien i oktober 2003, i samband med att Feferman

Läs mer

8. Naturlig härledning och predikatlogik

8. Naturlig härledning och predikatlogik Objektorienterad modellering och diskreta strukturer 8. Naturlig härledning och predikatlogik Sven Gestegård Robertz Datavetenskap, LTH 2013 Outline 1 Inledning 2 Inferensregler 3 Predikatlogik 8. Naturlig

Läs mer

Logik och kontrollstrukturer

Logik och kontrollstrukturer Logik och kontrollstrukturer Flödet av instruktioner i ett programmeringsspråk bygger vi upp med hjälp av dess kontrollstrukturer. I C har vi exemplen if, if else, while, do while. Dessutom finns switch

Läs mer

Innehåll. Mina målsättningar. Vad krävs för att nå dit? Obligatoriska uppgifter. Websajten. Datastrukturer och algoritmer

Innehåll. Mina målsättningar. Vad krävs för att nå dit? Obligatoriska uppgifter. Websajten. Datastrukturer och algoritmer Innehåll Datastrukturer och algoritmer Föreläsning 1! Introduktion och begrepp Kurspresentation! - Målsättning! - Kursutvärdering! - Upplägg! - Översikt! Viktiga begrepp "1 "2 Mina målsättningar Alla ska

Läs mer

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling

Läs mer

Lars-Henrik Eriksson

Lars-Henrik Eriksson Välkomna till Programmeringsmetodik DV1 Programkonstruktion I+II http://www.csd.uu.se/kurs/pm1/ht02/www/ Lars-Henrik Eriksson lhe@csd.uu.se, http://user.it.uu.se/~lhe Undervisningstillfällen Föreläsningar:

Läs mer

Grundläggande logik och modellteori

Grundläggande logik och modellteori Modeller och uttrycksfullhet hos predikatlogik Department of mathematics Umeå university Föreläsning 10 Dagens föreläsning 1 Innehåll på resten av kursen 2 Varför verifikation? Formella metoder för verifikation

Läs mer

10. Mängder och språk

10. Mängder och språk Objektorienterad modellering och diskreta strukturer 10. Mängder och språk Sven Gestegård Robertz Institutionen för datavetenskap, LTH 2013 Rekaputilation Vi har talat om satslogik, predikatlogik och härledning

Läs mer

FÖRELÄSNING 8 ANDERS MÄRAK LEFFLER IDA/HCS

FÖRELÄSNING 8 ANDERS MÄRAK LEFFLER IDA/HCS 729G06 Logik FÖRELÄSNING 8 ANDERS MÄRAK LEFFLER IDA/HCS 160309 Idag Sammanfattning*/uppsamling 2 Mer problemöversikt (och lite definitioner) Inte ersättning för andra föreläsningar! 3 Vad är enlogik? Syntax

Läs mer

K2 Något om modeller, kompakthetssatsen

K2 Något om modeller, kompakthetssatsen KTH Matematik Bengt Ek Maj 2005 Kompletteringsmaterial till kursen 5B1928 Logik för D1: K2 Något om modeller, kompakthetssatsen Vi skall presentera ett enkelt (om man känner till sundhets- och fullständighetssatsen

Läs mer

Objektorienterad modellering och diskreta strukturer. 13. Problem. Sven Gestegård Robertz. Datavetenskap, LTH

Objektorienterad modellering och diskreta strukturer. 13. Problem. Sven Gestegård Robertz. Datavetenskap, LTH Objektorienterad modellering och diskreta strukturer 13. Problem Sven Gestegård Robertz Datavetenskap, LTH 2014 Rekaputilation Vi har talat om satslogik och härledning predikatlogik och substitution mängder

Läs mer

Filosofisk logik Kapitel 19. Robin Stenwall Lunds universitet

Filosofisk logik Kapitel 19. Robin Stenwall Lunds universitet Filosofisk logik Kapitel 19 Robin Stenwall Lunds universitet Dagens upplägg Gödels fullständighetsteorem Sundhet och fullständighet Fullständighetsbeviset Vittneskonstanter Henkinteorin Eliminationsteoremet

Läs mer

Grundläggande logik och modellteori

Grundläggande logik och modellteori Grundläggande logik och modellteori Kapitel 12: Logikprogrammering Henrik Björklund Umeå universitet 16. oktober, 2014 Prolog Prolog har två klasser av formler. Atomära formler: country(sweden, 9000000).

Läs mer

Sanning och lögnare. Rasmus Blanck VT2017. FT1200, LC1510 och LGFI52

Sanning och lögnare. Rasmus Blanck VT2017. FT1200, LC1510 och LGFI52 rasmus.blanck@gu.se FT1200, LC1510 och LGFI52 VT2017 Vad är sanning? Vi verkar använda begreppet utan större problem till vardags. Det kanske vore intressant att ha en definition: P är sann om och endast

Läs mer

Föreläsning 8. Innehåll. Satisfierbarhet hos en formel. Logik med tillämpningar

Föreläsning 8. Innehåll. Satisfierbarhet hos en formel. Logik med tillämpningar Föreläsning 8 Logik med tillämpningar 000413 Innehåll Lite mer om värderingar och tolkningar Semantiska tablåer i predikatlogiken Kapitel 3.5 Satisfierbarhet hos en formel En formel A är satisfierbar om

Läs mer

Programmering A. Johan Eliasson johane@cs.umu.se

Programmering A. Johan Eliasson johane@cs.umu.se Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer

Läs mer

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera Föreläsning 2 Variabler, tilldelning och kodblock if-satsen Logiska operatorer Andra operatorer Att programmera Variabler Det är i variabler som all data (information) lagras. Genom att ändra värde på

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java

Läs mer

Föreläsning 1: Introduktion till kursen

Föreläsning 1: Introduktion till kursen (18 januari 2015 F1.1 ) Föreläsning 1: Introduktion till kursen Lärare: Anna, Carl, Johan, Tom och ca 20 assistenter Registrering / avregistrering Undervisningsformer: föreläsningar och laborationer Kursmaterial

Läs mer

Föreläsning 9 i programmeringsparadigm. Unifiering (Brna Chapter 4.1).

Föreläsning 9 i programmeringsparadigm. Unifiering (Brna Chapter 4.1). Föreläsning 9 i programmeringsparadigm. Unifiering (Brna Chapter 4.1). Repetition: I Haskell är mönster-passning (pattern-matchning) jättepraktiskt: När vi gör ett anrop av en funktion med ett visst argument

Läs mer

Normalisering av meningar inför resolution 3. Steg 1: Eliminera alla och. Steg 2: Flytta alla negationer framför atomära formler

Normalisering av meningar inför resolution 3. Steg 1: Eliminera alla och. Steg 2: Flytta alla negationer framför atomära formler Normalisering av meningar inför resolution På samma sätt som i satslogiken är resolution i predikatlogiken en process vars syfte är att vederlägga att en klausulmängd är satisfierbar. Det förutsätter dock

Läs mer

729G06 Logik FÖRELÄSNING 1 ANDERS MÄRAK LEFFLER IDA/HCS

729G06 Logik FÖRELÄSNING 1 ANDERS MÄRAK LEFFLER IDA/HCS 729G06 Logik FÖRELÄSNING 1 ANDERS MÄRAK LEFFLER IDA/HCS 160127 Vad är logik? Som ämne, område... 2 Läran om korrekta resonemang Följer slutsatserna av ens antaganden? 3 Alla hundar är djur. Alla enhörningar

Läs mer

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java

Läs mer

Algebra I, 1MA004. Lektionsplanering

Algebra I, 1MA004. Lektionsplanering UPPSALA UNIVERSITET Matematiska Institutionen Dan Strängberg HT2016 Fristående, IT, KandDv, KandMa, Lärare 2016-11-02 Algebra I, 1MA004 Lektionsplanering Här anges rekommenderade uppgifter ur boken till

Läs mer

Övningshäfte 2: Induktion och rekursion

Övningshäfte 2: Induktion och rekursion GÖTEBORGS UNIVERSITET MATEMATIK 1, MMG200, HT2017 INLEDANDE ALGEBRA Övningshäfte 2: Induktion och rekursion Övning D Syftet är att öva förmågan att utgående från enkla samband, aritmetiska och geometriska,

Läs mer

TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017

TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 FÖRELÄSNING 1 TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 Introduktion till kursen Schemespråkets grunder Enkla exempel Jalal Maleki Institutionen för datavetenskap Linköpings universitet

Läs mer

Logik och modaliteter

Logik och modaliteter Modallogik Introduktionsföreläsning HT 2015 Formalia http://gul.gu.se/public/courseid/70391/lang-sv/publicpage.do Förkunskaper etc. Logik: vetenskapen som studerar argument med avseende på (formell) giltighet.

Läs mer

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)

Läs mer

Filosofisk Logik. föreläsningsanteckningar/kompendium (FTEA21:4) v. 2.0, den 5/ Kompakthet och Löwenheim-skolemsatsen

Filosofisk Logik. föreläsningsanteckningar/kompendium (FTEA21:4) v. 2.0, den 5/ Kompakthet och Löwenheim-skolemsatsen Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium VI v. 2.0, den 5/5 2014 Kompakthet och Löwenheim-skolemsatsen 19.6-19.7 Närhelst vi har en mängd satser i FOL som inte är självmotsägande

Läs mer

Formell logik Kapitel 3 och 4. Robin Stenwall Lunds universitet

Formell logik Kapitel 3 och 4. Robin Stenwall Lunds universitet Formell logik Kapitel 3 och 4 Robin Stenwall Lunds universitet Kapitel 3: De Booleska konnektiven Vi sade att predikaten och namnen kan variera mellan olika FOL Vi ska nu titta på några språkliga element

Läs mer

9. Predikatlogik och mängdlära

9. Predikatlogik och mängdlära Objektorienterad modellering och diskreta strukturer 9. Predikatlogik och mängdlära Sven Gestegård Robertz Datavetenskap, LTH 2014 Rekaputilation Vi har talat om satslogik naturlig härledning predikatlogik

Läs mer

Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1.

Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1. UPPSALA UNIVERSITET Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv07/dg1/ Logisk semantik I 1 Lite om satslogik 1.1

Läs mer

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad 1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen

Läs mer

DD1350 Logik för dataloger. Fö 2 Satslogik och Naturlig deduktion

DD1350 Logik för dataloger. Fö 2 Satslogik och Naturlig deduktion DD1350 Logik för dataloger Fö 2 Satslogik och Naturlig deduktion 1 Satslogik En sats(eller utsaga)är ett påstående som kan vara sant eller falskt. I satslogik(eng. propositionallogic) representeras sådana

Läs mer

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion Introduktion till programmering Föreläsning 4: Villkor och rekursion 1 1 Några inbyggda funktioner (med resultat!) Konverterar mellan de grundläggande typerna: >>> int("32") 32 >>> int(3.999) 3 >>> float(32)

Läs mer

Datastrukturer och algoritmer

Datastrukturer och algoritmer Föreläsning 1 Kurspresentation Inblandade personer Målsättning Förkunskaper Kursutvärdering Upplägg Översikt Föreläsning 1 Viktiga begrepp Innehåll Anders Broberg, Ulrika Hägglund, Lena Kallin Westin,

Läs mer

Instruktioner - Datortentamen TDDE24 och TDDD73 Funktionell och imperativ programmering (i Python)

Instruktioner - Datortentamen TDDE24 och TDDD73 Funktionell och imperativ programmering (i Python) Instruktioner - Datortentamen TDDE24 och TDDD73 Funktionell och imperativ programmering (i Python) Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok, t.ex. den rekommenderade kursboken. Boken

Läs mer

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34 Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger

Läs mer

Övningsuppgifter kapitel 8

Övningsuppgifter kapitel 8 Inst. för Systemteknik Introduktion till programmering (SMD 180), 5 p Övningsuppgifter kapitel 8 1. Listor är en viktig datatyp i Python. Hur definierar kursboken lista? Vad kallas de värden som tillsammans

Läs mer

Grundläggande logik och modellteori

Grundläggande logik och modellteori Grundläggande logik och modellteori Kapitel 7: SAT-lösare Henrik Björklund Umeå universitet 29. september, 2014 SAT En instans av SAT är en mängd av mängder av literaler. Exempel: {{p, q, r}, {p, q, s},

Läs mer

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg Introduktion till programmering D0009E Föreläsning 1: Programmets väg 1 Vad är en dator? En maskin vars beteende styrs av de innehållet (bitmönster) som finns lagrade i datorns minne (inte helt olikt förra

Läs mer