| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Agda.Auto.Syntax
Synopsis
- type UId o = Metavar (Exp o) (RefInfo o)
- data HintMode
- data EqReasoningConsts o = EqReasoningConsts {}
- data EqReasoningState
- data RefInfo o
- = RIEnv {
- rieHints :: [(ConstRef o, HintMode)]
- rieDefFreeVars :: Nat
- rieEqReasoningConsts :: Maybe (EqReasoningConsts o)
- | RIMainInfo {
- riMainCxtLength :: Nat
- riMainType :: HNExp o
- riMainIota :: Bool
- | RIUnifInfo [CAction o] (HNExp o)
- | RICopyInfo (ICExp o)
- | RIIotaStep Bool
- | RIInferredTypeUnknown
- | RINotConstructor
- | RIUsedVars [UId o] [Elr o]
- | RIPickSubsvar
- | RIEqRState EqReasoningState
- | RICheckElim Bool
- | RICheckProjIndex [ConstRef o]
- = RIEnv {
- type MyPB o = PB (RefInfo o)
- type MyMB a o = MB a (RefInfo o)
- type Nat = Int
- data MId
- data Abs a = Abs MId a
- data ConstDef o = ConstDef {}
- data DeclCont o
- type Clause o = ([Pat o], MExp o)
- data Pat o
- type ConstRef o = IORef (ConstDef o)
- data Elr o
- getVar :: Elr o -> Maybe Nat
- getConst :: Elr o -> Maybe (ConstRef o)
- data Sort
- = Set Nat
- | UnknownSort
- | Type
- data Exp o
- dontCare :: Exp o
- type MExp o = MM (Exp o) (RefInfo o)
- data ArgList o
- type MArgList o = MM (ArgList o) (RefInfo o)
- data WithSeenUIds a o = WithSeenUIds {}
- type HNExp o = WithSeenUIds (HNExp' o) o
- data HNExp' o
- data HNArgList o
- data ICArgList o
- type ICExp o = Clos (MExp o) o
- data Clos a o = Clos [CAction o] a
- type CExp o = TrBr (ICExp o) o
- data TrBr a o = TrBr [MExp o] a
- data CAction o
- type Ctx o = [(MId, CExp o)]
- type EE = IO
- detecteliminand :: [Clause o] -> Maybe Nat
- detectsemiflex :: ConstRef o -> [Clause o] -> IO Bool
- categorizedecl :: ConstRef o -> IO ()
- class MetaliseOKH t where
- metaliseOKH :: t -> IO t
- metaliseokh :: MExp o -> IO (MExp o)
- class ExpandMetas t where
- expandMetas :: t -> IO t
- addtrailingargs :: Clos (MArgList o) o -> ICArgList o -> ICArgList o
- closify :: MExp o -> CExp o
- sub :: MExp o -> CExp o -> CExp o
- subi :: MExp o -> ICExp o -> ICExp o
- weak :: Weakening t => Nat -> t -> t
- class Weakening t where
- doclos :: [CAction o] -> Nat -> Either Nat (ICExp o)
- freeVars :: FreeVars t => t -> Set Nat
- class FreeVars t where
- freeVarsOffset :: Nat -> t -> Set Nat
- rename :: Renaming t => (Nat -> Nat) -> t -> t
- class Renaming t where
- renameOffset :: Nat -> (Nat -> Nat) -> t -> t
Documentation
type UId o = Metavar (Exp o) (RefInfo o) Source #
Unique identifiers for variable occurrences in unification.
data EqReasoningConsts o Source #
data EqReasoningState Source #
Instances
| Show EqReasoningState Source # | |
Defined in Agda.Auto.Syntax Methods showsPrec :: Int -> EqReasoningState -> ShowS # show :: EqReasoningState -> String # showList :: [EqReasoningState] -> ShowS # | |
| Eq EqReasoningState Source # | |
Defined in Agda.Auto.Syntax Methods (==) :: EqReasoningState -> EqReasoningState -> Bool # (/=) :: EqReasoningState -> EqReasoningState -> Bool # | |
The concrete instance of the blk parameter in Metavar.
I.e., the information passed to the search control.
Constructors
| RIEnv | |
Fields
| |
| RIMainInfo | |
Fields
| |
| RIUnifInfo [CAction o] (HNExp o) | |
| RICopyInfo (ICExp o) | |
| RIIotaStep Bool | |
| RIInferredTypeUnknown | |
| RINotConstructor | |
| RIUsedVars [UId o] [Elr o] | |
| RIPickSubsvar | |
| RIEqRState EqReasoningState | |
| RICheckElim Bool | |
| RICheckProjIndex [ConstRef o] | |
Instances
Abstraction with maybe a name.
Different from Agda, where there is also info whether function is constant.
Instances
| Conversion MOT a b => Conversion MOT (Abs a) (Abs b) Source # | |
| Lift t => Lift (Abs t) Source # | |
| Unify t => Unify (Abs t) Source # | |
| ExpandMetas t => ExpandMetas (Abs t) Source # | |
Defined in Agda.Auto.Syntax | |
| FreeVars t => FreeVars (Abs t) Source # | |
Defined in Agda.Auto.Syntax | |
| MetaliseOKH t => MetaliseOKH (Abs t) Source # | |
Defined in Agda.Auto.Syntax | |
| Renaming t => Renaming (Abs t) Source # | |
Defined in Agda.Auto.Syntax | |
| Replace t u => Replace (Abs t) (Abs u) Source # | |
| type UnifiesTo (Abs t) Source # | |
Defined in Agda.Auto.CaseSplit | |
| type ReplaceWith (Abs t) (Abs u) Source # | |
Defined in Agda.Auto.CaseSplit | |
Constant signatures.
Constructors
| ConstDef | |
Constant definitions.
Head of application (elimination).
Agsy's internal syntax.
Constructors
| App | |
| Lam Hiding (Abs (MExp o)) | Lambda with hiding information. |
| Pi (Maybe (UId o)) Hiding Bool (MExp o) (Abs (MExp o)) |
|
| Sort Sort | |
| AbsurdLambda Hiding | Absurd lambda with hiding information. |
Instances
type MExp o = MM (Exp o) (RefInfo o) Source #
"Maybe expression": Expression or reference to meta variable.
Constructors
| ALNil | No more eliminations. |
| ALCons Hiding (MExp o) (MArgList o) | Application and tail. |
| ALProj (MArgList o) (MM (ConstRef o) (RefInfo o)) Hiding (MArgList o) | proj pre args, projfcn idx, tail |
| ALConPar (MArgList o) | Constructor parameter (missing in Agda). Agsy has monomorphic constructors. Inserted to cover glitch of polymorphic constructor applications coming from Agda |
Instances
| Conversion TOM Args (MM (ArgList O) (RefInfo O)) Source # | |
| Lift (ArgList o) Source # | |
| LocalTerminationEnv (MArgList o) Source # | |
Defined in Agda.Auto.CaseSplit | |
| Unify (ArgList o) Source # | |
Defined in Agda.Auto.CaseSplit | |
| Trav (ArgList o) Source # | |
| ExpandMetas (ArgList o) Source # | |
Defined in Agda.Auto.Syntax | |
| FreeVars (ArgList o) Source # | |
Defined in Agda.Auto.Syntax | |
| MetaliseOKH (ArgList o) Source # | |
Defined in Agda.Auto.Syntax | |
| Renaming (ArgList o) Source # | |
Defined in Agda.Auto.Syntax | |
| Replace (ArgList o) (ArgList o) Source # | |
| Refinable (ArgList o) (RefInfo o) Source # | |
| type UnifiesTo (ArgList o) Source # | |
Defined in Agda.Auto.CaseSplit | |
| type Block (ArgList o) Source # | |
Defined in Agda.Auto.SearchControl | |
| type ReplaceWith (ArgList o) (ArgList o) Source # | |
Defined in Agda.Auto.CaseSplit | |
data WithSeenUIds a o Source #
Constructors
| WithSeenUIds | |
type HNExp o = WithSeenUIds (HNExp' o) o Source #
Head-normal form of ICArgList. First entry is exposed.
Q: Why are there no projection eliminations?
Lazy concatenation of argument lists under explicit substitutions.
Entry of an explicit substitution.
An explicit substitution is a list of CActions.
This is isomorphic to the usual presentation where
Skip and Weak would be constructors of exp. substs.
categorizedecl :: ConstRef o -> IO () Source #
class MetaliseOKH t where Source #
Methods
metaliseOKH :: t -> IO t Source #
Instances
| MetaliseOKH t => MetaliseOKH (Abs t) Source # | |
Defined in Agda.Auto.Syntax | |
| MetaliseOKH (ArgList o) Source # | |
Defined in Agda.Auto.Syntax | |
| MetaliseOKH (Exp o) Source # | |
Defined in Agda.Auto.Syntax | |
| MetaliseOKH t => MetaliseOKH (MM t a) Source # | |
Defined in Agda.Auto.Syntax | |
class ExpandMetas t where Source #
Methods
expandMetas :: t -> IO t Source #
Instances
| ExpandMetas t => ExpandMetas (Abs t) Source # | |
Defined in Agda.Auto.Syntax | |
| ExpandMetas (ArgList o) Source # | |
Defined in Agda.Auto.Syntax | |
| ExpandMetas (Exp o) Source # | |
Defined in Agda.Auto.Syntax | |
| ExpandMetas t => ExpandMetas (MM t a) Source # | |
Defined in Agda.Auto.Syntax | |
class FreeVars t where Source #
Instances
| FreeVars t => FreeVars (Abs t) Source # | |
Defined in Agda.Auto.Syntax | |
| FreeVars (ArgList o) Source # | |
Defined in Agda.Auto.Syntax | |
| FreeVars (Elr o) Source # | |
Defined in Agda.Auto.Syntax | |
| FreeVars (Exp o) Source # | |
Defined in Agda.Auto.Syntax | |
| FreeVars t => FreeVars (MM t a) Source # | |
Defined in Agda.Auto.Syntax | |
| (FreeVars a, FreeVars b) => FreeVars (a, b) Source # | |
Defined in Agda.Auto.Syntax | |
class Renaming t where Source #
Instances
| Renaming (CSPatI o) Source # | |
Defined in Agda.Auto.CaseSplit | |
| Renaming t => Renaming (HI t) Source # | |
Defined in Agda.Auto.CaseSplit | |
| Renaming t => Renaming (Abs t) Source # | |
Defined in Agda.Auto.Syntax | |
| Renaming (ArgList o) Source # | |
Defined in Agda.Auto.Syntax | |
| Renaming (Elr o) Source # | |
Defined in Agda.Auto.Syntax | |
| Renaming (Exp o) Source # | |
Defined in Agda.Auto.Syntax | |
| Renaming t => Renaming (MM t a) Source # | |
Defined in Agda.Auto.Syntax | |
| (Renaming a, Renaming b) => Renaming (a, b) Source # | |
Defined in Agda.Auto.Syntax | |