ContentsIndex
Assistant.Generation
Portabilityportable (depende de GHC - GTK2HS)
StabilityVersion de juguete.
Contents
Tipos
Metodos
Description
Definicion de la funcion generadora de premisasa de juicios.
Synopsis
type GTypeElem = (Rule, [Judgement], [Constraint], DS)
type GTypeReturn = [GTypeElem]
type GType = DS -> Judgement -> GTypeReturn
type GSols a = (a, [Constraint], [SubstT Integer], [Constraint], DS)
type GSolsGen = GSols (Rule, [Judgement])
gAx :: GType
gSt :: GType
gWe :: GType
gPr :: GType
gAb :: GType
gAp :: GType
gCo :: GType
gen :: GType
gRuleName :: GTypeElem -> Rule
gJudges :: GTypeElem -> [Judgement]
gConstr :: GTypeElem -> [Constraint]
gDS :: GTypeElem -> DS
gFindSols :: PTS -> Derivation -> Judgement -> [GSolsGen]
gRebuildDer :: PTS -> Derivation -> Maybe Derivation
gDelDerPart :: PTS -> Pos -> Derivation -> Maybe (Derivation, SubstT Integer)
filterSols :: PTS -> [Constraint] -> GTypeReturn -> [GSolsGen]
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