Confluencia en Sistemas de Reescritura Probabilista

Autor: 
Guido Martínez
Fecha Defensa: 
27/03/2017
Resumen: 

Los sistemas de reescritura abstracta son la manera estándar de dar una
semántica operacional (small-step) a un lenguaje de programación. Estudiarlos
a nivel abstracto, olvidando los detalles de un cálculo en particular, da buenos
frutos ya que muchas propiedades y teoremas son reusables entre lenguajes
distintos.
Algunos lenguajes tienen una ejecución probabilista. Para modelar esto,
existen nociones de sistemas de reescritura probabilista. Sin embargo, la defi-
nición más usual de los mismos no permite no determinismo en su reducción
y, tal vez como consecuencia, propiedades como la confluencia en este tipo de
sistemas están poco estudiadas.
Proponemos una noción de sistemas de reescritura multiprobabilista que
permite no determinismo en la reducción, mostrando cómo generalizan a otras
nociones pero permitiendo a la vez nuevos comportamientos. En particular,
permiten modelar un lenguaje probabilista sin fijar una estrategia de reduc-
ción. Damos dos ejemplos de lenguajes concretos interesantes que pueden mo-
delarse con estos sistemas.
Basándonos en trabajo previo, se define una noción de confluencia de dis-
tribuciones
. Por el lado teórico, estudiamos esta noción abstractamente junto
a sus consecuencias, simplificando los diagramas a demostrar y traspasando
teoremas clásicos de confluencia a la nueva noción, obteniendo criterios sim-
plificados para decidir si la propiedad se cumple. Además, damos evidencia de
que nuestra representación es general, y deberı́a ser ampliamente aplicable.
Por el lado concreto, brindamos dos resultados interesantes: (1) Se sim-
plifica una demostración de una confluencia similar existente en la literatura
(2) Se destilan las propiedades necesarias para tener confluencia, dando un
cálculo simple a modo de ejemplo.

Institución: 
FCEIA-UNR
Director: Alejandro Díaz-Caro
Tesina: