|
Assistant.Generation | Portability | portable (depende de GHC - GTK2HS) | Stability | Version de juguete. |
|
|
|
|
|
Description |
Definicion de la funcion generadora de premisasa de juicios.
|
|
Synopsis |
|
|
|
|
Tipos
|
|
type GTypeElem = (Rule, [Judgement], [Constraint], DS) |
Definicion del tipo de elementos que retorna la generacion para una regla
dada.
|
|
type GTypeReturn = [GTypeElem] |
Definicion del tipo de retorno de la funcion generadora a partir de tipos
conocidos.
|
|
type GType = DS -> Judgement -> GTypeReturn |
Definicion del tipo de generacion de premisas a partir de tipos conicidos.
|
|
type GSols a = (a, [Constraint], [SubstT Integer], [Constraint], DS) |
Definicion del tipo de las soluciones para la generacion de premisas. Sus
elementos almacenan, respectivamente:
- Un elemento que representa la solucion hallada para una busqueda de
soluciones en particular. Esto puede ser un juicio, un par
regla-juicios, un arbol de juicios o cualquier otro tipo de solucion
que se requiera.
- La lista de restricciones particulares a la regla seleccionada.
- La lista de sustituciones que debera aplicarse a todo el arbol de
derivaciones en caso de que se decida utilizar este regla.
- La lista de juicios que deberan ser colocados como premisa, antes de
efectuar la sustitucion en todo el arbol de la derivacion.
- La lista de nuevas restricciones que pasa a reemplazar las actuales
restricciones globales de la derivacion.
|
|
type GSolsGen = GSols (Rule, [Judgement]) |
Definicion del tipo de soluciones obtenidas a traves de la generacion.
Cada elementos ademas de la informacion de la solucion estandar, tambien
contiene la regla y las premisas obtenidas para un caso en particular.
|
|
Metodos
|
|
gAx :: GType |
Definicion de la funcion g para el caso de la regla Axiom
|
|
gSt :: GType |
Definicion de la funcion generadora g para el caso de la regla Start
|
|
gWe :: GType |
Definicion de la funcion generadora gt para el caso de la regla Weakening
|
|
gPr :: GType |
Definicion de la funcion generadora gt para el caso de la regla Product
|
|
gAb :: GType |
Definicion de la funcion generadora para el caso de la regla Abstraction
|
|
gAp :: GType |
Definicion de la funcion generadora para el caso de la regla Application
|
|
gCo :: GType |
Definicion de la funcion generadora para el caso de la regla Conversion
|
|
gen :: GType |
Definimos la funcion que generara posibles juicios para un derivacion,
infiriendo esta informacion a partir de un juicio del cual se conoce solo
su contexto y el tipo de un termino desconocido.
|
|
gRuleName :: GTypeElem -> Rule |
Dado un elemento de retorno de la funcion generadora, devuelve el nombre
de la regla aplicada durante la generacion.
|
|
gJudges :: GTypeElem -> [Judgement] |
Dado un elemento de retorno de la funcion generadora, devuelve la lista de
juicios que componen las premisas para ese caso en particular.
|
|
gConstr :: GTypeElem -> [Constraint] |
Dado un elemento de retorno de la funcion generadora, devuelve la lista de
condiciones que se deben satisfacer sobre las premisas para ese caso en
particular.
|
|
gDS :: GTypeElem -> DS |
Dado un elemento de retorno de la funcion generadora, devuelve el contador
de varibles y expresiones desconocidas actualizado.
|
|
gFindSols :: PTS -> Derivation -> Judgement -> [GSolsGen] |
Dada la especificacion de un PTS, la derivacion actual y el juicio sobre
el cual se estan buscando premisas, retorna la lista de posibles soluciones
a traves de la generacion de premisas.
|
|
gRebuildDer :: PTS -> Derivation -> Maybe Derivation |
Dada la especificacion de un PTS y una derivacion, si es posible, retorna
una nueva derivacion que es generada a partir de una expresion desconocida
y el contexto y tipo del juicio que conformaba el nodo principal del arbol
de derivaciones recibido, utilizando para ello la informacion sobre las
reglas que se aplicaron en cada etapa para obtener el arbol de derivaciones
original (recibido como argumento).
|
|
gDelDerPart :: PTS -> Pos -> Derivation -> Maybe (Derivation, SubstT Integer) |
Dada la especificacion de un PTS, una posicion dentro del arbol de
derivaciones y la derivacion a la cual se le quiere eliminar una sector,
retorna, si es posible, la derivacion resultante de eliminar las premisas
ubicadas por sobre el juicio que se encontraba en la posicion que se
recibio como argumento. Ademas retorna la lista de posibles sustituciones
que se podrian aplicar a incognitas que aparecen en el juicio cuyas
premisas han sido eliminadas. Esto se debe a que las mismas podrian haber
sido obtenidas tanto por la aplicacion de alguna regla en particular o bien
debido a que fueron especificadas directamente por el usuario.
|
|
filterSols :: PTS -> [Constraint] -> GTypeReturn -> [GSolsGen] |
Dada la especificacion de un PTS, una lista de las restricciones originales
que se tienen que satisfacer y una lista de soluciones obtenidas a traves
de la generacion de premisas, retorna aquellas soluciones que consisten de
juicios bien formados y que ademas satisfacen las restricciones basicas que
se recibieron. El conjunto de soluciones que se retorna contiene, entre
otros datos las nuevas premisas a satisfacer, las sustituciones a aplicar
sobre el resto de la derivacion, las nuevas restricciones globales, etc.
Para mas informacion vease GSolsGen.
|
|
Produced by Haddock version 0.8 |