2.5.23 FPL/Semántica Formal
Temas:
Non Core
- Sintaxis vs semántica
- Enfoques de semántica: axiomática, operacional, denotacional, basada en tipos
- Semántica axiomática de construcciones abstractas como asignación, selección, iteración usando precondición, postcondiciones e invariante de bucle
- Análisis de semántica operacional de construcciones abstractas y secuencia de tales como asignación, evaluación de expresión, selección, iteración usando entorno y almacén:
- Ejecución simbólica (symbolic execution)
- Verificadores de restricciones (constraint checkers)
- Semántica denotacional:
- Cálculo Lambda.
- Demostraciones por inducción sobre la semántica del lenguaje
- Definiciones y demostraciones formales para sistemas de tipos:
- Proposiciones como tipos (implicación como función, conjunción como producto, disyunción como suma)
- Tipos dependientes (cuantificación universal como función dependiente, cuantificación existencial como producto dependiente)
- Parametricidad
Aprendizaje esperado (Learning Outcomes):
NonCore:
- Construir semántica formal para un lenguaje pequeño [Crear]
- Escribir un programa de cálculo lambda y mostrar su evaluación a una forma normal [Escribir]
- Discutir los diferentes enfoques de la semántica operacional, denotacional y axiomática [Debatir]
- Usar inducción para demostrar propiedades de todos los programas en un lenguaje [Usar]
- Usar inducción para demostrar propiedades de todos los programas en un lenguaje que está bien tipado según un sistema de tipos definido formalmente [Usar]
- Usar parametricidad para establecer el comportamiento del código dado solo su tipo [Usar]
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM