Přednášky:
- Úvod. Pojem reaktivních systémů, příklady. Přechodové systémy jako základní model.
- Strukturální operační sémantika. Jazyk CCS (Kalkulus komunikujících systémů) pro popis (reaktivních) systémů - syntaxe, sémantika, příklady.
- Behaviorální ekvivalence (tj. pojem ekvivalentního chování systémů). Ekvivalence podle množin běhů (trace equivalence). Silná a slabá bisimulační ekvivalence; bisimulační hry.
- Modální logika HML (Henessy-Milner Logic); popis jednoduchých vlastností chování systému.
- Význam abstraktního pojmu pevného bodu v úplných svazech pro definici sémantiky rekurzivních programů. Výpočet bisimulační ekvivalence jako pevného bodu. HM-logika s rekurzí; charakterizace pomocí her. Korespondence bisimulační ekvivalence a HM-logiky.
- Přechodové systémy s časem. Jazyk CCS s časem (timed CCS) a časované automaty (timed automata).
- Časovaná a nečasovaná bisimulační ekvivalence. Konstrukce regionů a zón u časovaných automatů. TCTL logika pro ověřování modelů (model checking) časovaných systémů.
- Systémy pro interaktivní a automatizované dokazování - Coq jako příklad
takového systému. Základy funkcionálního programování v Coqu.
- Základy logiky v systému Coq. Používání taktik v důkazech. Induktivní definice a důkazy.
- Sémantika programovacích jazyků. Formalizace syntaxe a sémantiky jednoduchého imperativního jazyka.
- Typové systémy. Dokazování vlastností typových systémů.
- Logiky pro dokazování vlastností programů: Hoarova logika a separační logika.
Cvičení:
- Úvod. Pojem reaktivních systémů, příklady. Přechodové systémy jako základní model.
- Strukturální operační sémantika. Jazyk CCS (Kalkulus komunikujících systémů) pro popis (reaktivních) systémů - syntaxe, sémantika, příklady.
- Behaviorální ekvivalence (tj. pojem ekvivalentního chování systémů). Ekvivalence podle množin běhů (trace equivalence). Silná a slabá bisimulační ekvivalence; bisimulační hry.
- Modální logika HML (Henessy-Milner Logic); popis jednoduchých vlastností chování systému.
- Význam abstraktního pojmu pevného bodu v úplných svazech pro definici sémantiky rekurzivních programů. Výpočet bisimulační ekvivalence jako pevného bodu. HM-logika s rekurzí; charakterizace pomocí her. Korespondence bisimulační ekvivalence a HM-logiky.
- Přechodové systémy s časem. Jazyk CCS s časem (timed CCS) a časované automaty (timed automata).
- Časovaná a nečasovaná bisimulační ekvivalence. Konstrukce regionů a zón u časovaných automatů. TCTL logika pro ověřování modelů (model checking) časovaných systémů.
- Systémy pro interaktivní a automatizované dokazování - Coq jako příklad
takového systému. Základy funkcionálního programování v Coqu.
- Základy logiky v systému Coq. Používání taktik v důkazech. Induktivní definice a důkazy.
- Sémantika programovacích jazyků. Formalizace syntaxe a sémantiky jednoduchého imperativního jazyka.
- Typové systémy. Dokazování vlastností typových systémů.
- Logiky pro dokazování vlastností programů: Hoarova logika a separační logika.