ContentsIndex
Assistant.Constraints
Portabilityportable (depende de GHC - GTK2HS)
StabilityVersion de juguete.
Contents
Tipos
Constructores
Metodos
Description
Define restricciones sobre expresiones.
Synopsis
data Constraint
= Equ Expr Expr
| BetaEq Expr Expr
| EVarSort Expr
| ESort Expr
| EAxiom Expr Expr
| ERule Expr Expr Expr
constrHasUnknown :: Constraint -> Bool
check :: PTS -> [Constraint] -> Maybe ([SubstT Integer], [Constraint])
constrApply :: [Judgement] -> Rule -> Maybe [Constraint]
constrAx :: [Judgement] -> Maybe [Constraint]
constrSt :: [Judgement] -> Maybe [Constraint]
constrWe :: [Judgement] -> Maybe [Constraint]
constrPr :: [Judgement] -> Maybe [Constraint]
constrAp :: [Judgement] -> Maybe [Constraint]
constrAb :: [Judgement] -> Maybe [Constraint]
constrCo :: [Judgement] -> Maybe [Constraint]
Tipos
data Constraint
Definicion de la restriccion.
Constructors
Equ Expr Expr
BetaEq Expr Expr
EVarSort Expr
ESort Expr
EAxiom Expr Expr
ERule Expr Expr Expr
show/hide Instances
Constructores
Metodos
constrHasUnknown :: Constraint -> Bool
Dada una restriccion, determina si la misma contiene expresiones que aun no hay sido definidas completamente.
check :: PTS -> [Constraint] -> Maybe ([SubstT Integer], [Constraint])
Dado un PTS y una lista de restricciones, retorna: Nothing: Si alguna condicion no pudo satisfacerse. Una sustitucion de UNKNOWNs y la lista de restricciones actualizadas en caso de que la restriccion se evalue como valida o posible.
constrApply :: [Judgement] -> Rule -> Maybe [Constraint]
Dada una lista de juicios, donde el primer elemento es el obtenido de las premisas que estan representadas por la cola de la lista a traves de la regla que se recibe como argumento, retorna la posible lista de restricciones que deberian satisfacerse para que la aplicacion de dicha regla fuera correcta. Retorna Nothing si no es posible aplicar dicha regla a los juicios.
constrAx :: [Judgement] -> Maybe [Constraint]
Dada una lista de juicios donde la cola de la lista identifica a las premisas del primer juicio de la lista, retorna la lista de restricciones que deberian satisfacerse si se intentara aplicar la regla de Axiom entre las mismas. Retorna Nothing si no es posible aplicar la regla.
constrSt :: [Judgement] -> Maybe [Constraint]
Dada una lista de juicios donde la cola de la lista identifica a las premisas del primer juicio de la lista, retorna la lista de restricciones que deberian satisfacerse si se intentara aplicar la regla de Start entre las mismas. Retorna Nothing si no es posible aplicar la regla.
constrWe :: [Judgement] -> Maybe [Constraint]
Dada una lista de juicios donde la cola de la lista identifica a las premisas del primer juicio de la lista, retorna la lista de restricciones que deberian satisfacerse si se intentara aplicar la regla de Weakening entre las mismas. Retorna Nothing si no es posible aplicar la regla.
constrPr :: [Judgement] -> Maybe [Constraint]
Dada una lista de juicios donde la cola de la lista identifica a las premisas del primer juicio de la lista, retorna la lista de restricciones que deberian satisfacerse si se intentara aplicar la regla de Product entre las mismas. Retorna Nothing si no es posible aplicar la regla.
constrAp :: [Judgement] -> Maybe [Constraint]
Dada una lista de juicios donde la cola de la lista identifica a las premisas del primer juicio de la lista, retorna la lista de restricciones que deberian satisfacerse si se intentara aplicar la regla de Application entre las mismas. Retorna Nothing si no es posible aplicar la regla.
constrAb :: [Judgement] -> Maybe [Constraint]
Dada una lista de juicios donde la cola de la lista identifica a las premisas del primer juicio de la lista, retorna la lista de restricciones que deberian satisfacerse si se intentara aplicar la regla de Abstraction entre las mismas. Retorna Nothing si no es posible aplicar la regla.
constrCo :: [Judgement] -> Maybe [Constraint]
Dada una lista de juicios donde la cola de la lista identifica a las premisas del primer juicio de la lista, retorna la lista de restricciones que deberian satisfacerse si se intentara aplicar la regla de Conversion entre las mismas. Retorna Nothing si no es posible aplicar la regla.
Produced by Haddock version 0.8