A. Satslogik
- Informell matematisk argumentation
- Formella bevismetoder: naturlig deduktion
- Syntax och semantik
- Sundhet, fullständighet och avgörbarhet
B. Predikatlogik
- Syntax och semantik, Kripke-strukturer
- Bevismetoder: naturlig deduktion
- Sundhet, fullständighet och oavgörbarhet, Gödels satser
C. Prolog
- Resolution och logikprogrammering: unifiering, backtracking, negering, snitt och låddiagram
D. Induktionsbevis
- Matematisk och fullständig induktion
- Induktiva definitioner och strukturell induktion
E. Temporallogik
- Syntax och semantik
- Bevismetoder: modellprövning
F. Hoare-logik
- Programsemantik och programspecifikation
- Programverifikation
- Syntax och semantik: Kripke-strukturer
- Bevismetoder: modellprövning
Efter godkänd kurs ska studenten kunna
- använda logik för att uttrycka formella egenskaper hos datastrukturer, algoritmer och datorsystem
- använda logikprogramspråket Prolog
- genomföra bevis för att härleda slutsatser utifrån givna premisser
- använda olika bevistekniker, såsom naturlig deduktion, induktion, s.k. Hoare-logik för programverifikation och temporallogik för systemverifikation
- formulera logiska formler för att ge en precis matematisk (modellteoretisk) innebörd av olika matematiska och datalogiska påståenden
- resonera kring viktiga egenskaper hos bevissystem, såsom sundhet, fullständighet och avgörbarhet
- motivera och tillämpa metoder för automatisk deduktion som att utföra enkla bevis med modellprövning
i syfte att
- behärska de bevistekniker som behövs i kommande kurser i utbildningen
- få ett bredare perspektiv på programmering.