| Safe Haskell | None | 
|---|---|
| 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
| Eq EqReasoningState Source # | |
Defined in Agda.Auto.Syntax Methods (==) :: EqReasoningState -> EqReasoningState -> Bool # (/=) :: EqReasoningState -> EqReasoningState -> Bool #  | |
| Show EqReasoningState Source # | |
Defined in Agda.Auto.Syntax Methods showsPrec :: Int -> EqReasoningState -> ShowS # show :: EqReasoningState -> String # showList :: [EqReasoningState] -> ShowS #  | |
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
| Conversion TOM Clause (Maybe ([Pat O], MExp O)) Source # | |
| Conversion TOM Type (MExp O) Source # | |
| Conversion TOM Term (MExp O) Source # | |
| Conversion TOM Args (MM (ArgList O) (RefInfo O)) Source # | |
| Replace o (Exp o) (MExp o) Source # | |
| Conversion TOM [Clause] [([Pat O], MExp O)] Source # | |
| Unify o t => Unify o (MM t (RefInfo o)) Source # | |
| Replace o t u => Replace o (MM t (RefInfo o)) u Source # | |
| Conversion MOT a b => Conversion MOT (MM a (RefInfo O)) b Source # | |
| LocalTerminationEnv (MArgList o) Source # | |
Defined in Agda.Auto.CaseSplit  | |
| LocalTerminationEnv (MExp o) Source # | |
Defined in Agda.Auto.CaseSplit  | |
| Refinable (ICExp o) (RefInfo o) Source # | |
| Refinable (ArgList o) (RefInfo o) Source # | |
| Refinable (Exp o) (RefInfo o) Source # | |
| Refinable (ConstRef o) (RefInfo o) Source # | |
| Trav (ArgList o) (RefInfo o) Source # | |
| Trav (Exp o) (RefInfo o) Source # | |
| Trav (MId, CExp o) (RefInfo o) Source # | |
| Trav (TrBr a o) (RefInfo o) Source # | |
Abstraction with maybe a name.
Different from Agda, where there is also info whether function is constant.
Instances
| Unify o t => Unify o (Abs t) Source # | |
| Replace o t u => Replace o (Abs t) (Abs u) Source # | |
| Conversion MOT a b => Conversion MOT (Abs a) (Abs b) Source # | |
| Renaming t => Renaming (Abs t) Source # | |
Defined in Agda.Auto.Syntax  | |
| FreeVars t => FreeVars (Abs t) Source # | |
Defined in Agda.Auto.Syntax  | |
| ExpandMetas t => ExpandMetas (Abs t) Source # | |
Defined in Agda.Auto.Syntax  | |
| MetaliseOKH t => MetaliseOKH (Abs t) Source # | |
Defined in Agda.Auto.Syntax  | |
| Lift t => Lift (Abs t) Source # | |
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
| Conversion TOM Clause (Maybe ([Pat O], MExp O)) Source # | |
| Conversion TOM Type (MExp O) Source # | |
| Conversion TOM Term (MExp O) Source # | |
| Unify o (Exp o) Source # | |
| Conversion MOT (Exp O) Type Source # | |
| Conversion MOT (Exp O) Term Source # | |
| Replace o (Exp o) (MExp o) Source # | |
| Conversion TOM [Clause] [([Pat O], MExp O)] Source # | |
| Renaming (Exp o) Source # | |
Defined in Agda.Auto.Syntax  | |
| FreeVars (Exp o) Source # | |
Defined in Agda.Auto.Syntax  | |
| ExpandMetas (Exp o) Source # | |
Defined in Agda.Auto.Syntax  | |
| MetaliseOKH (Exp o) Source # | |
Defined in Agda.Auto.Syntax  | |
| LocalTerminationEnv (MExp o) Source # | |
Defined in Agda.Auto.CaseSplit  | |
| Lift (Exp o) Source # | |
| Refinable (ICExp o) (RefInfo o) Source # | |
| Refinable (Exp o) (RefInfo o) Source # | |
| Trav (Exp o) (RefInfo o) Source # | |
| Trav (MId, CExp o) (RefInfo o) Source # | |
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 # | |
| Unify o (ArgList o) Source # | |
| Replace o (ArgList o) (ArgList o) Source # | |
| Renaming (ArgList o) Source # | |
Defined in Agda.Auto.Syntax  | |
| FreeVars (ArgList o) Source # | |
Defined in Agda.Auto.Syntax  | |
| ExpandMetas (ArgList o) Source # | |
Defined in Agda.Auto.Syntax  | |
| MetaliseOKH (ArgList o) Source # | |
Defined in Agda.Auto.Syntax  | |
| LocalTerminationEnv (MArgList o) Source # | |
Defined in Agda.Auto.CaseSplit  | |
| Lift (ArgList o) Source # | |
| Refinable (ArgList o) (RefInfo o) Source # | |
| Trav (ArgList o) (RefInfo o) Source # | |
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 (ArgList o) Source # | |
Defined in Agda.Auto.Syntax  | |
| MetaliseOKH (Exp o) Source # | |
Defined in Agda.Auto.Syntax  | |
| MetaliseOKH t => MetaliseOKH (Abs t) 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 (ArgList o) Source # | |
Defined in Agda.Auto.Syntax  | |
| ExpandMetas (Exp o) Source # | |
Defined in Agda.Auto.Syntax  | |
| ExpandMetas t => ExpandMetas (Abs t) 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 (ArgList o) Source # | |
Defined in Agda.Auto.Syntax  | |
| FreeVars (Exp o) Source # | |
Defined in Agda.Auto.Syntax  | |
| FreeVars (Elr o) Source # | |
Defined in Agda.Auto.Syntax  | |
| FreeVars t => FreeVars (Abs t) Source # | |
Defined in Agda.Auto.Syntax  | |
| (FreeVars a, FreeVars b) => FreeVars (a, b) Source # | |
Defined in Agda.Auto.Syntax  | |
| FreeVars t => FreeVars (MM t a) Source # | |
Defined in Agda.Auto.Syntax  | |
class Renaming t where Source #
Instances
| Renaming (ArgList o) Source # | |
Defined in Agda.Auto.Syntax  | |
| Renaming (Exp o) Source # | |
Defined in Agda.Auto.Syntax  | |
| Renaming (Elr o) Source # | |
Defined in Agda.Auto.Syntax  | |
| Renaming t => Renaming (Abs t) Source # | |
Defined in Agda.Auto.Syntax  | |
| Renaming (CSPatI o) Source # | |
Defined in Agda.Auto.CaseSplit  | |
| Renaming t => Renaming (HI t) Source # | |
Defined in Agda.Auto.CaseSplit  | |
| (Renaming a, Renaming b) => Renaming (a, b) Source # | |
Defined in Agda.Auto.Syntax  | |
| Renaming t => Renaming (MM t a) Source # | |
Defined in Agda.Auto.Syntax  | |