Leertaak 4

Inleiding axiomatische semantiek

Achtergrond

Eigenschappen van (de werking van) programma's zijn te bewijzen aan de hand van een gegeven operationele semantiek. Correctheid van programma's kunnen we formuleren in termen van eigenschappen van toestanden vóór en na de uitvoering van het programma, en vervolgens het semantisch gereedschap gebruiken om deze eigenschappen te bewijzen.

Deze strategie is vaak wat omslachtig. Daarom zijn er formele systemen ('correctheidscalculi') gemaakt waarin eigenschappen van programma's rechtstreeks kunnen worden afgeleid met behulp van regels die de opbouw van statements volgen: net zoals de ns- en sos-semantiek. Eigenlijk is een correctheidscalculus dus een alternatieve manier om semantiek te beschrijven: niet in termen van toestanden, maar in termen van eigenschappen.

Leerdoel

Na het voltooien van deze taak kunt u

Instructie

  1. Lees p. 169-172 en p. 175-180. Kernbegrippen:
  2. Bewijs de correctheid van het 'faculteitsprogramma' in Example 6.9 (p. 181). Gebruik de notatie die we in deze cursus hebben ingevoerd: geef uw correctheidsbewijs in de vorm van annotaties (volgens de afleidingsregels) in het programma.
  3. Ontwikkel stapsgewijs een correctheidsbewijs.

Product

Reflectie