diff --git a/rzk/src/Language/Rzk/Free/Syntax.hs b/rzk/src/Language/Rzk/Free/Syntax.hs index 9a380f24d..05d46dc96 100644 --- a/rzk/src/Language/Rzk/Free/Syntax.hs +++ b/rzk/src/Language/Rzk/Free/Syntax.hs @@ -14,6 +14,8 @@ module Language.Rzk.Free.Syntax where import Data.Bifunctor.TH import Data.Char (chr, ord) import Data.Coerce +import Data.Function (on) +import Data.Functor (void) import Data.List (nub, (\\)) import Data.String @@ -22,6 +24,14 @@ import Free.Scoped.TH import qualified Language.Rzk.Syntax as Rzk +newtype VarIdent = VarIdent { getVarIdent :: Rzk.VarIdent } + +instance Eq VarIdent where + (==) = (==) `on` (void . getVarIdent) + +instance IsString VarIdent where + fromString s = VarIdent (Rzk.VarIdent Nothing (fromString s)) + data TermF scope term = UniverseF | UniverseCubeF @@ -40,16 +50,18 @@ data TermF scope term | TopeOrF term term | RecBottomF | RecOrF [(term, term)] - | TypeFunF (Maybe Rzk.VarIdent) term (Maybe scope) scope - | TypeSigmaF (Maybe Rzk.VarIdent) term scope + | TypeFunF (Maybe VarIdent) term (Maybe scope) scope + | TypeSigmaF (Maybe VarIdent) term scope | TypeIdF term (Maybe term) term | AppF term term - | LambdaF (Maybe Rzk.VarIdent) (Maybe (term, Maybe scope)) scope + | LambdaF (Maybe VarIdent) (Maybe (term, Maybe scope)) scope | PairF term term | FirstF term | SecondF term | ReflF (Maybe (term, Maybe term)) | IdJF term term term term term term + | UnitF + | TypeUnitF | TypeAscF term term | TypeRestrictedF term [(term, term)] deriving (Eq) @@ -89,8 +101,8 @@ invalidateWHNF = transFS $ \(AnnF info f) -> substituteT :: TermT var -> Scope TermT var -> TermT var substituteT x = substitute x . invalidateWHNF -type Term' = Term Rzk.VarIdent -type TermT' = TermT Rzk.VarIdent +type Term' = Term VarIdent +type TermT' = TermT VarIdent freeVars :: Term a -> [a] freeVars = foldMap pure @@ -118,24 +130,25 @@ freeVarsT typeOfVar t = go [] (partialFreeVarsT t) toTerm' :: Rzk.Term -> Term' toTerm' = toTerm Pure -toScope :: Rzk.VarIdent -> (Rzk.VarIdent -> Term a) -> Rzk.Term -> Scope Term a +toScope :: VarIdent -> (VarIdent -> Term a) -> Rzk.Term -> Scope Term a toScope x bvars = toTerm $ \z -> if x == z then Pure Z else S <$> bvars z -toScopePattern :: Rzk.Pattern -> (Rzk.VarIdent -> Term a) -> Rzk.Term -> Scope Term a +toScopePattern :: Rzk.Pattern -> (VarIdent -> Term a) -> Rzk.Term -> Scope Term a toScopePattern pat bvars = toTerm $ \z -> case lookup z (bindings pat (Pure Z)) of Just t -> t Nothing -> S <$> bvars z where - bindings (Rzk.PatternWildcard _loc) _ = [] - bindings (Rzk.PatternVar _loc x) t = [(x, t)] + bindings (Rzk.PatternWildcard _loc) _ = [] + bindings (Rzk.PatternUnit _loc) _ = [] + bindings (Rzk.PatternVar _loc x) t = [(VarIdent x, t)] bindings (Rzk.PatternPair _loc l r) t = bindings l (First t) <> bindings r (Second t) -toTerm :: (Rzk.VarIdent -> Term a) -> Rzk.Term -> Term a +toTerm :: (VarIdent -> Term a) -> Rzk.Term -> Term a toTerm bvars = go where go = \case - Rzk.Var _loc x -> bvars x + Rzk.Var _loc x -> bvars (VarIdent x) Rzk.Universe _loc -> Universe Rzk.UniverseCube _loc -> UniverseCube @@ -156,6 +169,8 @@ toTerm bvars = go Rzk.RecOr _loc rs -> RecOr [ (go tope, go term) | Rzk.Restriction _loc tope term <- rs ] Rzk.TypeId _loc x tA y -> TypeId (go x) (Just (go tA)) (go y) Rzk.TypeIdSimple _loc x y -> TypeId (go x) Nothing (go y) + Rzk.TypeUnit _loc -> TypeUnit + Rzk.Unit _loc -> Unit Rzk.App _loc f x -> App (go f) (go x) Rzk.Pair _loc l r -> Pair (go l) (go r) Rzk.First _loc term -> First (go term) @@ -196,20 +211,20 @@ toTerm bvars = go Rzk.Hole _loc _ident -> error "holes are not supported" - patternVar (Rzk.PatternVar _loc x) = Just x + patternVar (Rzk.PatternVar _loc x) = Just (VarIdent x) patternVar _ = Nothing fromTerm' :: Term' -> Rzk.Term fromTerm' t = fromTermWith' vars (defaultVarIdents \\ vars) t where vars = freeVars t -fromScope' :: Rzk.VarIdent -> [Rzk.VarIdent] -> [Rzk.VarIdent] -> Scope Term Rzk.VarIdent -> Rzk.Term -fromScope' x used xs = fromTermWith' (x : used) xs . (>>= f) +fromScope' :: Rzk.VarIdent -> [VarIdent] -> [VarIdent] -> Scope Term VarIdent -> Rzk.Term +fromScope' x used xs = fromTermWith' (VarIdent x : used) xs . (>>= fmap VarIdent . f . fmap getVarIdent) where f Z = Pure x f (S z) = Pure z -fromTermWith' :: [Rzk.VarIdent] -> [Rzk.VarIdent] -> Term' -> Rzk.Term +fromTermWith' :: [VarIdent] -> [VarIdent] -> Term' -> Rzk.Term fromTermWith' used vars = go where withFresh Nothing f = @@ -221,8 +236,10 @@ fromTermWith' used vars = go z' = refreshVar used z loc = Nothing + + go :: Term' -> Rzk.Term go = \case - Pure z -> Rzk.Var loc z + Pure z -> Rzk.Var loc (getVarIdent z) Universe -> Rzk.Universe loc UniverseCube -> Rzk.UniverseCube loc @@ -242,28 +259,30 @@ fromTermWith' used vars = go RecBottom -> Rzk.RecBottom loc RecOr rs -> Rzk.RecOr loc [ Rzk.Restriction loc (go tope) (go term) | (tope, term) <- rs ] - TypeFun z arg Nothing ret -> withFresh z $ \(x, xs) -> + TypeFun z arg Nothing ret -> withFresh z $ \(VarIdent x, xs) -> Rzk.TypeFun loc (Rzk.ParamVarType loc (Rzk.PatternVar loc x) (go arg)) (fromScope' x used xs ret) - TypeFun z arg (Just tope) ret -> withFresh z $ \(x, xs) -> + TypeFun z arg (Just tope) ret -> withFresh z $ \(VarIdent x, xs) -> Rzk.TypeFun loc (Rzk.ParamVarShape loc (Rzk.PatternVar loc x) (go arg) (fromScope' x used xs tope)) (fromScope' x used xs ret) - TypeSigma z a b -> withFresh z $ \(x, xs) -> + TypeSigma z a b -> withFresh z $ \(VarIdent x, xs) -> Rzk.TypeSigma loc (Rzk.PatternVar loc x) (go a) (fromScope' x used xs b) TypeId l (Just tA) r -> Rzk.TypeId loc (go l) (go tA) (go r) TypeId l Nothing r -> Rzk.TypeIdSimple loc (go l) (go r) App l r -> Rzk.App loc (go l) (go r) - Lambda z Nothing scope -> withFresh z $ \(x, xs) -> + Lambda z Nothing scope -> withFresh z $ \(VarIdent x, xs) -> Rzk.Lambda loc [Rzk.ParamPattern loc (Rzk.PatternVar loc x)] (fromScope' x used xs scope) - Lambda z (Just (ty, Nothing)) scope -> withFresh z $ \(x, xs) -> + Lambda z (Just (ty, Nothing)) scope -> withFresh z $ \(VarIdent x, xs) -> Rzk.Lambda loc [Rzk.ParamPatternType loc [Rzk.PatternVar loc x] (go ty)] (fromScope' x used xs scope) - Lambda z (Just (cube, Just tope)) scope -> withFresh z $ \(x, xs) -> + Lambda z (Just (cube, Just tope)) scope -> withFresh z $ \(VarIdent x, xs) -> Rzk.Lambda loc [Rzk.ParamPatternShape loc (Rzk.PatternVar loc x) (go cube) (fromScope' x used xs tope)] (fromScope' x used xs scope) -- Lambda (Maybe (term, Maybe scope)) scope -> Rzk.Lambda loc (Maybe (term, Maybe scope)) scope Pair l r -> Rzk.Pair loc (go l) (go r) First term -> Rzk.First loc (go term) Second term -> Rzk.Second loc (go term) + TypeUnit -> Rzk.TypeUnit loc + Unit -> Rzk.Unit loc Refl Nothing -> Rzk.Refl loc Refl (Just (t, Nothing)) -> Rzk.ReflTerm loc (go t) Refl (Just (t, Just ty)) -> Rzk.ReflTermType loc (go t) (go ty) @@ -272,9 +291,9 @@ fromTermWith' used vars = go TypeRestricted ty rs -> Rzk.TypeRestricted loc (go ty) (map (\(tope, term) -> (Rzk.Restriction loc (go tope) (go term))) rs) -defaultVarIdents :: [Rzk.VarIdent] +defaultVarIdents :: [VarIdent] defaultVarIdents = - [ Rzk.VarIdent Nothing (Rzk.VarIdentToken name) + [ VarIdent (Rzk.VarIdent Nothing (Rzk.VarIdentToken name)) | n <- [1..] , let name = "x" <> map digitToSub (show n) ] where @@ -285,14 +304,14 @@ defaultVarIdents = -- -- >>> refreshVar ["x", "y", "x₁", "z"] "x" -- x₂ -refreshVar :: [Rzk.VarIdent] -> Rzk.VarIdent -> Rzk.VarIdent +refreshVar :: [VarIdent] -> VarIdent -> VarIdent refreshVar vars x | x `elem` vars = refreshVar vars (incVarIdentIndex x) | otherwise = x -incVarIdentIndex :: Rzk.VarIdent -> Rzk.VarIdent -incVarIdentIndex (Rzk.VarIdent loc token) = - Rzk.VarIdent loc (coerce incIndex token) +incVarIdentIndex :: VarIdent -> VarIdent +incVarIdentIndex (VarIdent (Rzk.VarIdent loc token)) = + VarIdent (Rzk.VarIdent loc (coerce incIndex token)) -- | Increment the subscript number at the end of the indentifier. -- diff --git a/rzk/src/Language/Rzk/Syntax.cf b/rzk/src/Language/Rzk/Syntax.cf index 2c685f1ef..74a7babea 100644 --- a/rzk/src/Language/Rzk/Syntax.cf +++ b/rzk/src/Language/Rzk/Syntax.cf @@ -57,6 +57,7 @@ SomeSectionName. SectionName ::= VarIdent ; -- Patterns PatternWildcard. Pattern ::= "_" ; +PatternUnit. Pattern ::= "unit" ; PatternVar. Pattern ::= VarIdent ; PatternPair. Pattern ::= "(" Pattern "," Pattern ")" ; separator nonempty Pattern "" ; @@ -106,6 +107,7 @@ define recOr psi phi a b = RecOr [ Restriction psi a, Restriction phi b ] ; -- Types TypeFun. Term1 ::= ParamDecl "->" Term1 ; TypeSigma. Term1 ::= "Sigma" "(" Pattern ":" Term ")" "," Term1 ; +TypeUnit. Term1 ::= "Unit" ; TypeId. Term1 ::= Term2 "=_{" Term "}" Term2 ; TypeIdSimple. Term1 ::= Term2 "=" Term2 ; TypeRestricted. Term6 ::= Term6 "[" [Restriction] "]" ; @@ -117,6 +119,7 @@ Lambda. Term1 ::= "\\" [Param] "->" Term1 ; Pair. Term7 ::= "(" Term "," Term ")" ; First. Term6 ::= "first" Term7 ; Second. Term6 ::= "second" Term7 ; +Unit. Term7 ::= "unit" ; Refl. Term7 ::= "refl"; ReflTerm. Term7 ::= "refl_{" Term "}" ; ReflTermType. Term7 ::= "refl_{" Term ":" Term "}" ; diff --git a/rzk/src/Language/Rzk/Syntax/Abs.hs b/rzk/src/Language/Rzk/Syntax/Abs.hs index ec613a673..613883dba 100644 --- a/rzk/src/Language/Rzk/Syntax/Abs.hs +++ b/rzk/src/Language/Rzk/Syntax/Abs.hs @@ -69,6 +69,7 @@ data SectionName' a type Pattern = Pattern' BNFC'Position data Pattern' a = PatternWildcard a + | PatternUnit a | PatternVar a (VarIdent' a) | PatternPair a (Pattern' a) (Pattern' a) deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Typeable, C.Generic) @@ -113,6 +114,7 @@ data Term' a | RecOr a [Restriction' a] | TypeFun a (ParamDecl' a) (Term' a) | TypeSigma a (Pattern' a) (Term' a) (Term' a) + | TypeUnit a | TypeId a (Term' a) (Term' a) (Term' a) | TypeIdSimple a (Term' a) (Term' a) | TypeRestricted a (Term' a) [Restriction' a] @@ -121,6 +123,7 @@ data Term' a | Pair a (Term' a) (Term' a) | First a (Term' a) | Second a (Term' a) + | Unit a | Refl a | ReflTerm a (Term' a) | ReflTermType a (Term' a) (Term' a) @@ -238,6 +241,7 @@ instance HasPosition SectionName where instance HasPosition Pattern where hasPosition = \case PatternWildcard p -> p + PatternUnit p -> p PatternVar p _ -> p PatternPair p _ _ -> p @@ -279,6 +283,7 @@ instance HasPosition Term where RecOr p _ -> p TypeFun p _ _ -> p TypeSigma p _ _ _ -> p + TypeUnit p -> p TypeId p _ _ _ -> p TypeIdSimple p _ _ -> p TypeRestricted p _ _ -> p @@ -287,6 +292,7 @@ instance HasPosition Term where Pair p _ _ -> p First p _ -> p Second p _ -> p + Unit p -> p Refl p -> p ReflTerm p _ -> p ReflTermType p _ _ -> p diff --git a/rzk/src/Language/Rzk/Syntax/Doc.txt b/rzk/src/Language/Rzk/Syntax/Doc.txt index c4d100d1d..5d1698497 100644 --- a/rzk/src/Language/Rzk/Syntax/Doc.txt +++ b/rzk/src/Language/Rzk/Syntax/Doc.txt @@ -33,9 +33,10 @@ The set of reserved words is the set of terminals appearing in the grammar. Thos The reserved words used in Syntax are the following: | ``BOT`` | ``CUBE`` | ``Sigma`` | ``TOP`` - | ``TOPE`` | ``U`` | ``as`` | ``first`` - | ``idJ`` | ``recBOT`` | ``recOR`` | ``refl`` - | ``second`` | ``uses`` | ``Σ`` | + | ``TOPE`` | ``U`` | ``Unit`` | ``as`` + | ``first`` | ``idJ`` | ``recBOT`` | ``recOR`` + | ``refl`` | ``second`` | ``unit`` | ``uses`` + | ``Σ`` | | | The symbols used in Syntax are the following: | #lang | ; | rzk-1 | #set-option @@ -90,6 +91,7 @@ All other symbols are terminals. | //SectionName// | -> | **eps** | | **|** | //VarIdent// | //Pattern// | -> | ``_`` + | | **|** | ``unit`` | | **|** | //VarIdent// | | **|** | ``(`` //Pattern// ``,`` //Pattern// ``)`` | //[Pattern]// | -> | //Pattern// @@ -123,6 +125,7 @@ All other symbols are terminals. | | **|** | ``recOR`` ``(`` //Term// ``,`` //Term// ``,`` //Term// ``,`` //Term// ``)`` | | **|** | ``<`` //ParamDecl// ``->`` //Term// ``>`` | | **|** | ``(`` //Term// ``,`` //Term// ``)`` + | | **|** | ``unit`` | | **|** | ``refl`` | | **|** | ``refl_{`` //Term// ``}`` | | **|** | ``refl_{`` //Term// ``:`` //Term// ``}`` @@ -141,6 +144,7 @@ All other symbols are terminals. | | **|** | //Term3// | //Term1// | -> | //ParamDecl// ``->`` //Term1// | | **|** | ``Sigma`` ``(`` //Pattern// ``:`` //Term// ``)`` ``,`` //Term1// + | | **|** | ``Unit`` | | **|** | //Term2// ``=_{`` //Term// ``}`` //Term2// | | **|** | //Term2// ``=`` //Term2// | | **|** | ``\`` //[Param]// ``->`` //Term1// diff --git a/rzk/src/Language/Rzk/Syntax/Layout.hs b/rzk/src/Language/Rzk/Syntax/Layout.hs index 956008d03..72a94fbf9 100644 --- a/rzk/src/Language/Rzk/Syntax/Layout.hs +++ b/rzk/src/Language/Rzk/Syntax/Layout.hs @@ -42,11 +42,11 @@ layoutSep = List.nub $ TokSymbol ";" 29 : map (delimSep . snd) layoutWords parenOpen, parenClose :: [TokSymbol] parenOpen = [ TokSymbol "(" 16 - , TokSymbol "[" 42 + , TokSymbol "[" 43 ] parenClose = [ TokSymbol ")" 17 - , TokSymbol "]" 45 + , TokSymbol "]" 46 ] -- | Report an error during layout resolution. diff --git a/rzk/src/Language/Rzk/Syntax/Lex.hs b/rzk/src/Language/Rzk/Syntax/Lex.hs index 0b112257c..a974d3856 100644 --- a/rzk/src/Language/Rzk/Syntax/Lex.hs +++ b/rzk/src/Language/Rzk/Syntax/Lex.hs @@ -321,38 +321,38 @@ eitherResIdent tv s = treeFind resWords -- | The keywords and symbols of the language organized as binary search tree. resWords :: BTree resWords = - b "=" 32 - (b "(" 16 - (b "#end" 8 - (b "#compute-nf" 4 - (b "#check" 2 (b "#assume" 1 N N) (b "#compute" 3 N N)) - (b "#def" 6 (b "#compute-whnf" 5 N N) (b "#define" 7 N N))) - (b "#set-option" 12 - (b "#postulate" 10 (b "#lang" 9 N N) (b "#section" 11 N N)) - (b "#variable" 14 - (b "#unset-option" 13 N N) (b "#variables" 15 N N)))) - (b "1" 24 - (b "," 20 - (b "*" 18 (b ")" 17 N N) (b "*_1" 19 N N)) - (b "/\\" 22 (b "->" 21 N N) (b "0_2" 23 N N))) - (b ":=" 28 - (b "2" 26 (b "1_2" 25 N N) (b ":" 27 N N)) - (b "<" 30 (b ";" 29 N N) (b "<=" 31 N N))))) - (b "first" 48 - (b "TOPE" 40 - (b "BOT" 36 - (b "=_{" 34 (b "===" 33 N N) (b ">" 35 N N)) - (b "Sigma" 38 (b "CUBE" 37 N N) (b "TOP" 39 N N))) - (b "\\/" 44 - (b "[" 42 (b "U" 41 N N) (b "\\" 43 N N)) - (b "_" 46 (b "]" 45 N N) (b "as" 47 N N)))) - (b "uses" 56 - (b "refl" 52 - (b "recBOT" 50 (b "idJ" 49 N N) (b "recOR" 51 N N)) - (b "rzk-1" 54 (b "refl_{" 53 N N) (b "second" 55 N N))) - (b "}" 60 - (b "|" 58 (b "{" 57 N N) (b "|->" 59 N N)) - (b "\8594" 62 (b "\931" 61 N N) (b "\8721" 63 N N))))) + b "===" 33 + (b ")" 17 + (b "#lang" 9 + (b "#compute-whnf" 5 + (b "#compute" 3 + (b "#check" 2 (b "#assume" 1 N N) N) (b "#compute-nf" 4 N N)) + (b "#define" 7 (b "#def" 6 N N) (b "#end" 8 N N))) + (b "#unset-option" 13 + (b "#section" 11 (b "#postulate" 10 N N) (b "#set-option" 12 N N)) + (b "#variables" 15 (b "#variable" 14 N N) (b "(" 16 N N)))) + (b "1_2" 25 + (b "->" 21 + (b "*_1" 19 (b "*" 18 N N) (b "," 20 N N)) + (b "0_2" 23 (b "/\\" 22 N N) (b "1" 24 N N))) + (b ";" 29 + (b ":" 27 (b "2" 26 N N) (b ":=" 28 N N)) + (b "<=" 31 (b "<" 30 N N) (b "=" 32 N N))))) + (b "idJ" 50 + (b "Unit" 42 + (b "Sigma" 38 + (b "BOT" 36 (b ">" 35 (b "=_{" 34 N N) N) (b "CUBE" 37 N N)) + (b "TOPE" 40 (b "TOP" 39 N N) (b "U" 41 N N))) + (b "]" 46 + (b "\\" 44 (b "[" 43 N N) (b "\\/" 45 N N)) + (b "as" 48 (b "_" 47 N N) (b "first" 49 N N)))) + (b "uses" 58 + (b "refl_{" 54 + (b "recOR" 52 (b "recBOT" 51 N N) (b "refl" 53 N N)) + (b "second" 56 (b "rzk-1" 55 N N) (b "unit" 57 N N))) + (b "}" 62 + (b "|" 60 (b "{" 59 N N) (b "|->" 61 N N)) + (b "\8594" 64 (b "\931" 63 N N) (b "\8721" 65 N N))))) where b s n = B bs (TS bs n) where diff --git a/rzk/src/Language/Rzk/Syntax/Lex.x b/rzk/src/Language/Rzk/Syntax/Lex.x index 640c93b85..de16ac7e6 100644 --- a/rzk/src/Language/Rzk/Syntax/Lex.x +++ b/rzk/src/Language/Rzk/Syntax/Lex.x @@ -166,38 +166,38 @@ eitherResIdent tv s = treeFind resWords -- | The keywords and symbols of the language organized as binary search tree. resWords :: BTree resWords = - b "=" 32 - (b "(" 16 - (b "#end" 8 - (b "#compute-nf" 4 - (b "#check" 2 (b "#assume" 1 N N) (b "#compute" 3 N N)) - (b "#def" 6 (b "#compute-whnf" 5 N N) (b "#define" 7 N N))) - (b "#set-option" 12 - (b "#postulate" 10 (b "#lang" 9 N N) (b "#section" 11 N N)) - (b "#variable" 14 - (b "#unset-option" 13 N N) (b "#variables" 15 N N)))) - (b "1" 24 - (b "," 20 - (b "*" 18 (b ")" 17 N N) (b "*_1" 19 N N)) - (b "/\\" 22 (b "->" 21 N N) (b "0_2" 23 N N))) - (b ":=" 28 - (b "2" 26 (b "1_2" 25 N N) (b ":" 27 N N)) - (b "<" 30 (b ";" 29 N N) (b "<=" 31 N N))))) - (b "first" 48 - (b "TOPE" 40 - (b "BOT" 36 - (b "=_{" 34 (b "===" 33 N N) (b ">" 35 N N)) - (b "Sigma" 38 (b "CUBE" 37 N N) (b "TOP" 39 N N))) - (b "\\/" 44 - (b "[" 42 (b "U" 41 N N) (b "\\" 43 N N)) - (b "_" 46 (b "]" 45 N N) (b "as" 47 N N)))) - (b "uses" 56 - (b "refl" 52 - (b "recBOT" 50 (b "idJ" 49 N N) (b "recOR" 51 N N)) - (b "rzk-1" 54 (b "refl_{" 53 N N) (b "second" 55 N N))) - (b "}" 60 - (b "|" 58 (b "{" 57 N N) (b "|->" 59 N N)) - (b "\8594" 62 (b "\931" 61 N N) (b "\8721" 63 N N))))) + b "===" 33 + (b ")" 17 + (b "#lang" 9 + (b "#compute-whnf" 5 + (b "#compute" 3 + (b "#check" 2 (b "#assume" 1 N N) N) (b "#compute-nf" 4 N N)) + (b "#define" 7 (b "#def" 6 N N) (b "#end" 8 N N))) + (b "#unset-option" 13 + (b "#section" 11 (b "#postulate" 10 N N) (b "#set-option" 12 N N)) + (b "#variables" 15 (b "#variable" 14 N N) (b "(" 16 N N)))) + (b "1_2" 25 + (b "->" 21 + (b "*_1" 19 (b "*" 18 N N) (b "," 20 N N)) + (b "0_2" 23 (b "/\\" 22 N N) (b "1" 24 N N))) + (b ";" 29 + (b ":" 27 (b "2" 26 N N) (b ":=" 28 N N)) + (b "<=" 31 (b "<" 30 N N) (b "=" 32 N N))))) + (b "idJ" 50 + (b "Unit" 42 + (b "Sigma" 38 + (b "BOT" 36 (b ">" 35 (b "=_{" 34 N N) N) (b "CUBE" 37 N N)) + (b "TOPE" 40 (b "TOP" 39 N N) (b "U" 41 N N))) + (b "]" 46 + (b "\\" 44 (b "[" 43 N N) (b "\\/" 45 N N)) + (b "as" 48 (b "_" 47 N N) (b "first" 49 N N)))) + (b "uses" 58 + (b "refl_{" 54 + (b "recOR" 52 (b "recBOT" 51 N N) (b "refl" 53 N N)) + (b "second" 56 (b "rzk-1" 55 N N) (b "unit" 57 N N))) + (b "}" 62 + (b "|" 60 (b "{" 59 N N) (b "|->" 61 N N)) + (b "\8594" 64 (b "\931" 63 N N) (b "\8721" 65 N N))))) where b s n = B bs (TS bs n) where diff --git a/rzk/src/Language/Rzk/Syntax/Par.hs b/rzk/src/Language/Rzk/Syntax/Par.hs index c83be91fd..c5e7af57f 100644 --- a/rzk/src/Language/Rzk/Syntax/Par.hs +++ b/rzk/src/Language/Rzk/Syntax/Par.hs @@ -267,40 +267,40 @@ happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x happyExpList :: HappyAddr -happyExpList = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x40\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x40\x00\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x03\xbf\x02\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x03\xbf\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x03\xbf\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x4b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x03\xbf\x02\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x03\x3e\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x03\x3e\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x07\x3e\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x07\x3e\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x40\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x03\xbf\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x40\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x40\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x03\xbf\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x03\xbf\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x40\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x08\x00\x40\x00\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x10\x80\x00\x00\x04\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x08\x00\x40\x00\x02\x02\x00\x00\x00\x00\x00\x00\xe0\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x0b\xbf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# +happyExpList = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\xf3\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x08\x20\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x02\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x80\x00\x0a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x20\x80\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xe0\xb7\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xec\x00\x9f\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xe0\x37\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x0e\xf8\x0d\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x03\x7e\x03\x18\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xec\x80\xdf\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x0e\xf8\x0d\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x01\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x2e\xf0\x09\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe9\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x03\x7e\x0b\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x80\x00\x0a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xec\x00\x9f\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x0e\xf0\x09\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x20\x80\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x2e\xf0\x09\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x0b\x7c\x02\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbb\xc0\x27\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x20\x80\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x02\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x08\x20\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x80\x00\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x08\x20\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x02\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xe0\x37\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x0e\xf8\x0d\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x08\x20\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x02\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x20\x80\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x80\x00\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xe0\x37\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x0e\xf8\x0d\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x03\x7e\x03\x18\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xec\x80\xdf\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbb\xc0\x27\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x02\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x02\x00\x20\x80\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x10\x80\x00\x00\x08\xa0\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x20\x00\x00\x02\x28\x20\x00\x00\x00\x00\x00\x00\x00\xfe\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xe0\x37\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# {-# NOINLINE happyExpListPerState #-} happyExpListPerState st = token_strs_expected - where token_strs = ["error","%dummy","%start_pModule_internal","%start_pHoleIdent_internal","%start_pVarIdent_internal","%start_pListVarIdent_internal","%start_pLanguageDecl_internal","%start_pLanguage_internal","%start_pCommand_internal","%start_pListCommand_internal","%start_pDeclUsedVars_internal","%start_pSectionName_internal","%start_pPattern_internal","%start_pListPattern_internal","%start_pParam_internal","%start_pListParam_internal","%start_pParamDecl_internal","%start_pRestriction_internal","%start_pListRestriction_internal","%start_pTerm7_internal","%start_pTerm5_internal","%start_pTerm4_internal","%start_pTerm3_internal","%start_pTerm2_internal","%start_pTerm1_internal","%start_pTerm6_internal","%start_pTerm_internal","%start_pListTerm_internal","String","VarIdentToken","HoleIdentToken","Module","HoleIdent","VarIdent","ListVarIdent","LanguageDecl","Language","Command","ListCommand","DeclUsedVars","SectionName","Pattern","ListPattern","Param","ListParam","ParamDecl","Restriction","ListRestriction","Term7","Term5","Term4","Term3","Term2","Term1","Term6","Term","ListTerm","'#assume'","'#check'","'#compute'","'#compute-nf'","'#compute-whnf'","'#def'","'#define'","'#end'","'#lang'","'#postulate'","'#section'","'#set-option'","'#unset-option'","'#variable'","'#variables'","'('","')'","'*'","'*_1'","','","'->'","'/\\\\'","'0_2'","'1'","'1_2'","'2'","':'","':='","';'","'<'","'<='","'='","'==='","'=_{'","'>'","'BOT'","'CUBE'","'Sigma'","'TOP'","'TOPE'","'U'","'['","'\\\\'","'\\\\/'","']'","'_'","'as'","'first'","'idJ'","'recBOT'","'recOR'","'refl'","'refl_{'","'rzk-1'","'second'","'uses'","'{'","'|'","'|->'","'}'","'\931'","'\8594'","'\8721'","L_quoted","L_VarIdentToken","L_HoleIdentToken","%eof"] - bit_start = st Prelude.* 124 - bit_end = (st Prelude.+ 1) Prelude.* 124 + where token_strs = ["error","%dummy","%start_pModule_internal","%start_pHoleIdent_internal","%start_pVarIdent_internal","%start_pListVarIdent_internal","%start_pLanguageDecl_internal","%start_pLanguage_internal","%start_pCommand_internal","%start_pListCommand_internal","%start_pDeclUsedVars_internal","%start_pSectionName_internal","%start_pPattern_internal","%start_pListPattern_internal","%start_pParam_internal","%start_pListParam_internal","%start_pParamDecl_internal","%start_pRestriction_internal","%start_pListRestriction_internal","%start_pTerm7_internal","%start_pTerm5_internal","%start_pTerm4_internal","%start_pTerm3_internal","%start_pTerm2_internal","%start_pTerm1_internal","%start_pTerm6_internal","%start_pTerm_internal","%start_pListTerm_internal","String","VarIdentToken","HoleIdentToken","Module","HoleIdent","VarIdent","ListVarIdent","LanguageDecl","Language","Command","ListCommand","DeclUsedVars","SectionName","Pattern","ListPattern","Param","ListParam","ParamDecl","Restriction","ListRestriction","Term7","Term5","Term4","Term3","Term2","Term1","Term6","Term","ListTerm","'#assume'","'#check'","'#compute'","'#compute-nf'","'#compute-whnf'","'#def'","'#define'","'#end'","'#lang'","'#postulate'","'#section'","'#set-option'","'#unset-option'","'#variable'","'#variables'","'('","')'","'*'","'*_1'","','","'->'","'/\\\\'","'0_2'","'1'","'1_2'","'2'","':'","':='","';'","'<'","'<='","'='","'==='","'=_{'","'>'","'BOT'","'CUBE'","'Sigma'","'TOP'","'TOPE'","'U'","'Unit'","'['","'\\\\'","'\\\\/'","']'","'_'","'as'","'first'","'idJ'","'recBOT'","'recOR'","'refl'","'refl_{'","'rzk-1'","'second'","'unit'","'uses'","'{'","'|'","'|->'","'}'","'\931'","'\8594'","'\8721'","L_quoted","L_VarIdentToken","L_HoleIdentToken","%eof"] + bit_start = st Prelude.* 126 + bit_end = (st Prelude.+ 1) Prelude.* 126 read_bit = readArrayBit happyExpList bits = Prelude.map read_bit [bit_start..bit_end Prelude.- 1] - bits_indexed = Prelude.zip bits [0..123] + bits_indexed = Prelude.zip bits [0..125] token_strs_expected = Prelude.concatMap f bits_indexed f (Prelude.False, _) = [] f (Prelude.True, nr) = [token_strs Prelude.!! nr] happyActOffsets :: HappyAddr -happyActOffsets = HappyA# "\xfa\xff\xca\xff\xd0\xff\xd0\xff\x3d\x00\xeb\xff\xe5\x06\xe5\x06\x24\x00\x28\x00\x27\x00\x27\x00\x53\x00\x53\x00\x77\x00\x47\x00\x47\x00\x4b\x01\xff\x00\xff\x00\xff\x00\xff\x00\x47\x00\xff\x00\x47\x00\x47\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\xff\x00\x00\xfe\xff\x67\x00\x5f\x00\x3b\x00\x00\x00\xa7\x00\x85\x00\x4a\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x00\x00\x53\x00\x4b\x01\x96\x00\x00\x00\x9d\x00\x00\x00\x47\x00\x4b\x01\x34\x00\xa3\x00\xa6\x00\x00\x00\x00\x00\x78\x00\xf1\xff\x47\x00\x21\x00\x78\x00\x78\x00\x25\x01\x78\x00\x78\x00\xf3\xff\x78\x00\xa9\x00\x83\x00\x8e\x00\x9f\x00\x9f\x00\x25\x01\x00\x00\x00\x00\x53\x00\x9f\x00\x57\x00\x00\x00\x57\x00\x9f\x00\x57\x00\x9f\x00\x57\x00\x9f\x00\x00\x00\x9f\x00\x9f\x00\xc4\x00\xc7\x00\xa4\x00\xb4\x00\x47\x00\x47\x00\x47\x00\x47\x00\xb4\x00\xb4\x00\xb4\x00\xb4\x00\xbf\x00\xbf\x00\xc1\x00\xc1\x00\xc8\x00\xc8\x00\x00\x00\xc8\x00\xdb\x00\xd9\x00\xd0\x00\xd0\x00\xd0\x00\xd0\x00\xe5\x06\x00\x00\x00\x00\x03\x01\x07\x01\x0e\x01\x00\x00\x0c\x01\x1c\x01\x02\x01\x02\x01\x02\x01\x00\x00\x00\x00\x00\x00\x2a\x01\x2b\x01\xe5\x06\xfa\x00\x3d\x01\x00\x00\x39\x01\x0c\x00\x41\x01\x00\x00\x00\x00\x47\x00\x47\x00\x47\x00\xff\x00\xff\x00\x47\x00\x18\x00\x57\x00\x57\x00\x44\x01\x57\x00\x00\x00\xec\xff\x47\x00\x47\x00\x00\x00\x55\x01\x57\x00\x56\x01\x51\x01\x52\x01\x47\x00\x47\x00\xff\x00\xff\x00\xff\x00\xff\x00\x47\x00\x47\x00\x00\x00\x00\x00\x5f\x01\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x47\x00\x47\x00\x53\x01\x47\x00\x66\x01\x75\x01\xf2\xff\x47\x00\x00\x00\xf9\xff\x47\x00\x6c\x01\x90\x01\x00\x00\x47\x00\x70\x01\x00\x00\x25\x01\x00\x00\x00\x00\x92\x01\x47\x00\x57\x00\x47\x00\xaf\x01\x00\x00\x47\x00\x47\x00\x64\x00\x94\x00\x27\x01\xe5\x06\xa3\x01\x47\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x01\xcc\x01\x47\x00\xcd\x01\x47\x00\xd0\x01\x47\x00\x00\x00\x00\x00\x00\x00\xc1\x01\xf5\x01\xf9\x01\x00\x00\xff\x00\xfa\x01\x47\x00\x47\x00\x2a\x00\x47\x00\xd2\x01\x47\x00\x00\x00\x47\x00\x00\x00\x47\x00\xe9\x01\x00\x02\x0f\x02\x00\x00\x00\x00\x00\x00\x10\x02\x18\x02\x1c\x02\x00\x00\x20\x02\x47\x00\x00\x00\x21\x02\x23\x02\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x1b\x02\x47\x00\x2a\x02\x47\x00\x00\x00\x47\x00\x06\x02\x00\x00\x00\x00\x36\x02\x47\x00\x3b\x02\x47\x00\x30\x02\x44\x02\x49\x02\x31\x02\x3e\x02\x47\x00\x47\x00\x69\x02\x47\x00\x6a\x02\x6f\x02\x47\x00\x00\x00\x47\x00\x47\x00\x00\x00\x00\x00\x47\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x02\x47\x00\x47\x00\x00\x00\x7f\x02\x8d\x02\x00\x00\x00\x00\x47\x00\x8f\x02\x47\x00\x93\x02\x00\x00\x00\x00"# +happyActOffsets = HappyA# "\x03\x00\xce\xff\xdc\xff\xdc\xff\x25\x00\x04\x00\xf9\x06\xf9\x06\x0f\x00\x10\x00\x28\x00\x28\x00\x98\x00\x98\x00\x7d\x00\x4b\x00\x4b\x00\x47\x01\xf9\x00\xf9\x00\xf9\x00\xf9\x00\x4b\x00\xf9\x00\x4b\x00\x4b\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\xff\x00\x00\x01\x00\x40\x00\x41\x00\xee\xff\x00\x00\xa4\x00\x6e\x00\x43\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x00\x47\x01\x81\x00\x00\x00\x88\x00\x00\x00\x4b\x00\x47\x01\x00\x00\x5a\x00\x9a\x00\x9c\x00\x00\x00\x00\x00\x80\x00\xf1\xff\x4b\x00\x56\x00\x80\x00\x80\x00\x20\x01\x80\x00\x80\x00\xf4\xff\x80\x00\xa6\x00\x89\x00\x93\x00\xa1\x00\xa1\x00\x20\x01\x00\x00\x00\x00\x98\x00\xa1\x00\x6a\x00\x00\x00\x00\x00\x6a\x00\xa1\x00\x6a\x00\xa1\x00\x6a\x00\xa1\x00\x00\x00\xa1\x00\xa1\x00\xce\x00\xd0\x00\xae\x00\xb2\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\xb2\x00\xb2\x00\xb2\x00\xb2\x00\xcc\x00\xcc\x00\xd9\x00\xd9\x00\xda\x00\xda\x00\x00\x00\xda\x00\xee\x00\xf8\x00\xfa\x00\xfa\x00\xfa\x00\xfa\x00\xf9\x06\x00\x00\x00\x00\x23\x01\x26\x01\x28\x01\x00\x00\x2a\x01\x2f\x01\x15\x01\x15\x01\x15\x01\x00\x00\x00\x00\x00\x00\x32\x01\x3d\x01\xf9\x06\x18\x01\x48\x01\x00\x00\x42\x01\x0d\x00\x4d\x01\x00\x00\x00\x00\x4b\x00\x4b\x00\x4b\x00\xf9\x00\xf9\x00\x4b\x00\x33\x00\x6a\x00\x6a\x00\x4e\x01\x6a\x00\x00\x00\xea\xff\x4b\x00\x4b\x00\x00\x00\x58\x01\x6a\x00\x5f\x01\x5b\x01\x5d\x01\x4b\x00\x4b\x00\xf9\x00\xf9\x00\xf9\x00\xf9\x00\x4b\x00\x4b\x00\x00\x00\x00\x00\x50\x01\x50\x01\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x4b\x00\x4b\x00\x63\x01\x4b\x00\x6f\x01\x73\x01\xfd\xff\x4b\x00\x00\x00\xf9\xff\x4b\x00\x6c\x01\x7d\x01\x00\x00\x4b\x00\x4f\x01\x00\x00\x20\x01\x00\x00\x00\x00\x60\x01\x4b\x00\x6a\x00\x4b\x00\x8f\x01\x00\x00\x4b\x00\x4b\x00\x56\x01\x57\x01\x5a\x01\xf9\x06\x61\x01\x4b\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x01\x89\x01\x4b\x00\x8a\x01\x4b\x00\x8b\x01\x4b\x00\x00\x00\x00\x00\x00\x00\x66\x01\x96\x01\x97\x01\x00\x00\xf9\x00\xb4\x01\x4b\x00\x4b\x00\x3d\x00\x4b\x00\x88\x01\x4b\x00\x00\x00\x4b\x00\x00\x00\x4b\x00\xb1\x01\xc6\x01\xc7\x01\x00\x00\x00\x00\x00\x00\xc8\x01\xcb\x01\xe6\x01\x00\x00\xc9\x01\x4b\x00\x00\x00\xca\x01\xec\x01\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xc0\x01\x4b\x00\xe2\x01\x4b\x00\x00\x00\x4b\x00\xbc\x01\x00\x00\x00\x00\xe4\x01\x4b\x00\xe5\x01\x4b\x00\xc4\x01\xf1\x01\x01\x02\xe7\x01\xe8\x01\x4b\x00\x4b\x00\x0c\x02\x4b\x00\x12\x02\x14\x02\x4b\x00\x00\x00\x4b\x00\x4b\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x01\x4b\x00\x4b\x00\x00\x00\x26\x02\x2a\x02\x00\x00\x00\x00\x4b\x00\x32\x02\x4b\x00\x39\x02\x00\x00\x00\x00"# happyGotoOffsets :: HappyAddr -happyGotoOffsets = HappyA# "\x0b\x00\x6f\x00\x4e\x00\xc2\x00\xa2\x02\xb0\x02\xbb\x02\x2f\x00\xae\x02\x12\x00\xd2\x00\x95\x00\xf4\x06\x43\x01\x70\x06\xe8\x01\x9c\x01\xfc\x00\x77\x06\x59\x06\x74\x01\x23\x06\x93\x05\xb0\x00\x03\x02\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x01\x00\x00\x00\x00\x0e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x06\x9e\x06\x00\x00\x00\x00\x00\x00\x00\x00\x29\x02\xb3\x06\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x06\x34\x02\x00\x00\x00\x00\x00\x00\xb8\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x06\x00\x00\x00\x00\xbe\x06\x00\x00\x08\x02\x00\x00\x76\x01\x00\x00\x2e\x02\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x00\x4f\x02\x5a\x02\x75\x02\x80\x02\x92\x00\xd1\x00\x46\x01\xed\x00\xc7\x02\xc8\x02\x5c\x01\x08\x01\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x02\xbc\x01\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x02\xc0\x02\xc4\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\xdf\x01\x00\x00\x00\x00\x00\x00\x2e\x02\x00\x00\x00\x00\x00\x00\xb7\x01\x9b\x02\xc2\x01\xdc\x00\x2a\x06\xa6\x02\x00\x00\x55\x02\x7a\x02\x00\x00\x7b\x02\x00\x00\x00\x00\xdd\x01\xc1\x02\x00\x00\x00\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x8e\x01\x9d\x05\x31\x06\x52\x06\x92\x06\x99\x06\xb7\x05\xc1\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x02\xe7\x02\xf2\x02\x00\x00\xdb\x05\x00\x00\x00\x00\x00\x00\x0d\x03\x00\x00\x00\x00\x18\x03\x00\x00\x00\x00\x00\x00\x33\x03\x00\x00\x00\x00\xb8\x06\x00\x00\x00\x00\x00\x00\x3e\x03\xa1\x02\x59\x03\x00\x00\x00\x00\x64\x03\x7f\x03\xc3\x06\xd0\x06\xd5\x06\x21\x01\xd3\x02\x8a\x03\xa5\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x03\x00\x00\xcb\x03\x00\x00\xd6\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x06\x00\x00\xf1\x03\xfc\x03\x00\x00\x17\x04\x00\x00\x22\x04\x00\x00\x3d\x04\x00\x00\x48\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x04\x00\x00\x89\x04\x00\x00\x94\x04\x00\x00\xaf\x04\xb9\x01\x00\x00\x00\x00\x00\x00\xba\x04\x00\x00\xd5\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x04\xfb\x04\x00\x00\xe5\x05\x00\x00\x00\x00\x06\x05\x00\x00\xff\x05\x09\x06\x00\x00\x00\x00\x21\x05\x00\x00\x2c\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x05\x52\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x05\x00\x00\x78\x05\x00\x00\x00\x00\x00\x00"# +happyGotoOffsets = HappyA# "\x14\x00\xa7\x00\x02\x00\x67\x00\x44\x02\x46\x02\x57\x02\x5d\x00\x41\x02\x54\x00\x94\x02\x22\x02\x08\x07\xc5\x00\x91\x06\x02\x02\xb6\x01\xed\x00\x98\x06\x8a\x06\x6c\x06\x3d\x06\xad\x05\xcd\x06\x1d\x02\x9a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\x00\x00\x00\x00\x00\x28\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x01\x22\x01\x00\x00\x00\x00\x00\x00\x00\x00\x43\x02\xd7\x06\x00\x00\x95\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x06\x4e\x02\x00\x00\x00\x00\x00\x00\xde\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x06\x00\x00\x00\x00\x72\x01\x00\x00\x48\x02\x00\x00\x00\x00\xba\x02\x00\x00\x6e\x02\x00\x00\xbb\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x69\x02\x74\x02\x8f\x02\x9a\x02\x2a\x00\xde\x00\xf3\x00\x86\x00\x51\x02\x61\x02\xfd\x00\xbe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x02\x66\x02\x67\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x01\x13\x01\x00\x00\x00\x00\x00\x00\x6e\x02\x00\x00\x00\x00\x00\x00\xd1\x01\xb5\x02\xdc\x01\xd2\x06\x44\x06\xc0\x02\x00\x00\xe0\x02\xe1\x02\x00\x00\x06\x03\x00\x00\x00\x00\xf7\x01\xdb\x02\x00\x00\x00\x00\x07\x03\x00\x00\x00\x00\x00\x00\xa8\x01\xb7\x05\x4b\x06\x73\x06\xaf\x06\xb6\x06\xd1\x05\xdb\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe6\x02\x01\x03\x0c\x03\x00\x00\xf5\x05\x00\x00\x00\x00\x00\x00\x27\x03\x00\x00\x00\x00\x32\x03\x00\x00\x00\x00\x00\x00\x4d\x03\x00\x00\x00\x00\xde\x06\x00\x00\x00\x00\x00\x00\x58\x03\x2c\x03\x73\x03\x00\x00\x00\x00\x7e\x03\x99\x03\x87\x01\xe4\x06\xe9\x06\x2b\x01\x77\x02\xa4\x03\xbf\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\x03\x00\x00\xe5\x03\x00\x00\xf0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x06\x00\x00\x0b\x04\x16\x04\x00\x00\x31\x04\x00\x00\x3c\x04\x00\x00\x57\x04\x00\x00\x62\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x04\x00\x00\xa3\x04\x00\x00\xae\x04\x00\x00\xc9\x04\x9b\x00\x00\x00\x00\x00\x00\x00\xd4\x04\x00\x00\xef\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x04\x15\x05\x00\x00\xff\x05\x00\x00\x00\x00\x20\x05\x00\x00\x19\x06\x23\x06\x00\x00\x00\x00\x3b\x05\x00\x00\x46\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x05\x6c\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x87\x05\x00\x00\x92\x05\x00\x00\x00\x00\x00\x00"# happyAdjustOffset :: Happy_GHC_Exts.Int# -> Happy_GHC_Exts.Int# happyAdjustOffset off = off happyDefActions :: HappyAddr -happyDefActions = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\xff\xc8\xff\xc7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5\xff\xe0\xff\xe1\xff\x9f\xff\x9e\xff\x00\x00\x86\xff\x98\xff\x96\xff\x94\xff\x8e\xff\x84\xff\x9b\xff\x83\xff\x00\x00\x00\x00\xae\xff\xac\xff\xaf\xff\xab\xff\xad\xff\x00\x00\xa9\xff\xb1\xff\x00\x00\xaa\xff\xb0\xff\xb2\xff\x00\x00\x00\x00\x00\x00\xa8\xff\x00\x00\xa3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\xff\xe3\xff\x00\x00\x00\x00\x00\x00\x8e\xff\x00\x00\x00\x00\x9b\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb4\xff\x00\x00\x00\x00\x00\x00\x00\x00\xbb\xff\xc4\xff\xc0\xff\xbd\xff\x00\x00\x00\x00\xc5\xff\x00\x00\x00\x00\xc2\xff\x00\x00\x00\x00\x00\x00\xc6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\xff\x00\x00\x00\x00\xdf\xff\x00\x00\x00\x00\x00\x00\x00\x00\xcb\xff\xe2\xff\xde\xff\x00\x00\x00\x00\x00\x00\xda\xff\x00\x00\x00\x00\xc8\xff\xc8\xff\xc8\xff\xd7\xff\xd6\xff\xd8\xff\x00\x00\x00\x00\xcb\xff\x00\x00\x00\x00\xc1\xff\x00\x00\xc2\xff\x00\x00\xbc\xff\x89\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x87\xff\x00\x00\x00\x00\x00\x00\x88\xff\x00\x00\x00\x00\x00\x00\x9e\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8d\xff\x93\xff\x9a\xff\x99\xff\x97\xff\x95\xff\x85\xff\x82\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x9d\xff\x00\x00\x00\x00\x90\xff\x9c\xff\xb3\xff\xb5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\xff\x00\x00\x00\x00\x00\x00\xdd\xff\xd1\xff\xd2\xff\xdb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\xff\xd3\xff\xc9\xff\x00\x00\x00\x00\x00\x00\x8a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\xff\x00\x00\x8f\xff\x00\x00\x00\x00\x00\x00\x00\x00\xba\xff\xb8\xff\xa5\xff\x00\x00\x00\x00\x00\x00\xa1\xff\x00\x00\x00\x00\xb9\xff\x00\x00\x00\x00\xa4\xff\x91\xff\xbf\xff\xc3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\xff\x00\x00\xc7\xff\xd0\xff\xd5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\xff\x00\x00\x00\x00\xbe\xff\xcc\xff\x00\x00\xce\xff\x00\x00\xcf\xff\xcd\xff\x8b\xff\x8c\xff\x00\x00\x00\x00\x00\x00\x92\xff\x00\x00\x00\x00\xb7\xff\xa6\xff\x00\x00\x00\x00\x00\x00\x00\x00\xa0\xff"# +happyDefActions = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\xff\xc8\xff\xc7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5\xff\xe0\xff\xe1\xff\x9d\xff\x9c\xff\x00\x00\x83\xff\x96\xff\x94\xff\x92\xff\x8b\xff\x81\xff\x99\xff\x80\xff\x00\x00\x00\x00\xad\xff\xab\xff\xae\xff\xaa\xff\xac\xff\x00\x00\xa8\xff\xb0\xff\x00\x00\xa9\xff\xaf\xff\xb1\xff\x8f\xff\x00\x00\x00\x00\x00\x00\xa7\xff\x00\x00\xa1\xff\x00\x00\x00\x00\xa2\xff\x00\x00\x00\x00\x00\x00\xe4\xff\xe3\xff\x00\x00\x00\x00\x00\x00\x8b\xff\x00\x00\x00\x00\x99\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb3\xff\x00\x00\x00\x00\x00\x00\x00\x00\xba\xff\xc3\xff\xbf\xff\xbc\xff\x00\x00\x00\x00\xc5\xff\xc4\xff\x00\x00\x00\x00\xc1\xff\x00\x00\x00\x00\x00\x00\xc6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\xff\x00\x00\x00\x00\xdf\xff\x00\x00\x00\x00\x00\x00\x00\x00\xcb\xff\xe2\xff\xde\xff\x00\x00\x00\x00\x00\x00\xda\xff\x00\x00\x00\x00\xc8\xff\xc8\xff\xc8\xff\xd7\xff\xd6\xff\xd8\xff\x00\x00\x00\x00\xcb\xff\x00\x00\x00\x00\xc0\xff\x00\x00\xc1\xff\x00\x00\xbb\xff\x86\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\xff\x00\x00\x00\x00\x00\x00\x85\xff\x00\x00\x00\x00\x00\x00\x9c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xff\x91\xff\x98\xff\x97\xff\x95\xff\x93\xff\x82\xff\x7f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x9b\xff\x00\x00\x00\x00\x8d\xff\x9a\xff\xb2\xff\xb4\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\xff\x00\x00\x00\x00\x00\x00\xdd\xff\xd1\xff\xd2\xff\xdb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\xff\xd3\xff\xc9\xff\x00\x00\x00\x00\x00\x00\x87\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\xff\x00\x00\x8c\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb9\xff\xb7\xff\xa4\xff\x00\x00\x00\x00\x00\x00\x9f\xff\x00\x00\x00\x00\xb8\xff\x00\x00\x00\x00\xa3\xff\x8e\xff\xbe\xff\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\xff\x00\x00\xc7\xff\xd0\xff\xd5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\xff\x00\x00\x00\x00\xbd\xff\xcc\xff\x00\x00\xce\xff\x00\x00\xcf\xff\xcd\xff\x88\xff\x89\xff\x00\x00\x00\x00\x00\x00\x90\xff\x00\x00\x00\x00\xb6\xff\xa5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x9e\xff"# happyCheck :: HappyAddr -happyCheck = HappyA# "\xff\xff\x10\x00\x15\x00\x09\x00\x13\x00\x12\x00\x14\x00\x1b\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x42\x00\x14\x00\x03\x00\x1e\x00\x12\x00\x41\x00\x07\x00\x01\x00\x1b\x00\x24\x00\x25\x00\x05\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x10\x00\x1f\x00\x0c\x00\x21\x00\x14\x00\x36\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x10\x00\x3c\x00\x11\x00\x13\x00\x3e\x00\x14\x00\x3b\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x41\x00\x42\x00\x43\x00\x1e\x00\x43\x00\x10\x00\x09\x00\x0a\x00\x2e\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x2b\x00\x22\x00\x10\x00\x2e\x00\x09\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x41\x00\x37\x00\x01\x00\x39\x00\x09\x00\x0a\x00\x05\x00\x3d\x00\x2e\x00\x3f\x00\x10\x00\x41\x00\x42\x00\x13\x00\x20\x00\x38\x00\x22\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x2e\x00\x10\x00\x3a\x00\x1e\x00\x3c\x00\x10\x00\x41\x00\x41\x00\x2f\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x02\x00\x2b\x00\x04\x00\x10\x00\x41\x00\x40\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x16\x00\x37\x00\x1b\x00\x39\x00\x2e\x00\x09\x00\x0a\x00\x3d\x00\x2e\x00\x3f\x00\x10\x00\x41\x00\x42\x00\x13\x00\x2c\x00\x39\x00\x43\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x2e\x00\x01\x00\x41\x00\x1e\x00\x01\x00\x05\x00\x41\x00\x14\x00\x05\x00\x24\x00\x25\x00\x39\x00\x27\x00\x28\x00\x29\x00\x10\x00\x0d\x00\x0e\x00\x10\x00\x41\x00\x10\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x10\x00\x37\x00\x1b\x00\x39\x00\x01\x00\x02\x00\x10\x00\x04\x00\x05\x00\x10\x00\x10\x00\x41\x00\x42\x00\x13\x00\x43\x00\x15\x00\x14\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x2e\x00\x01\x00\x14\x00\x1e\x00\x43\x00\x05\x00\x06\x00\x3b\x00\x1a\x00\x24\x00\x25\x00\x39\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x01\x00\x01\x00\x10\x00\x41\x00\x05\x00\x05\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x01\x00\x02\x00\x0d\x00\x04\x00\x05\x00\x43\x00\x10\x00\x1d\x00\x3e\x00\x13\x00\x43\x00\x41\x00\x42\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x01\x00\x14\x00\x1e\x00\x05\x00\x05\x00\x06\x00\x41\x00\x1a\x00\x24\x00\x25\x00\x0c\x00\x27\x00\x28\x00\x29\x00\x01\x00\x02\x00\x40\x00\x04\x00\x05\x00\x41\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x01\x00\x37\x00\x43\x00\x39\x00\x05\x00\x06\x00\x10\x00\x14\x00\x36\x00\x13\x00\x43\x00\x41\x00\x42\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x41\x00\x01\x00\x02\x00\x1e\x00\x04\x00\x05\x00\x1d\x00\x01\x00\x1b\x00\x24\x00\x25\x00\x05\x00\x27\x00\x28\x00\x29\x00\x1b\x00\x09\x00\x0a\x00\x20\x00\x0d\x00\x14\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x10\x00\x37\x00\x10\x00\x13\x00\x1d\x00\x38\x00\x41\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x41\x00\x42\x00\x1b\x00\x1e\x00\x01\x00\x1b\x00\x1b\x00\x01\x00\x05\x00\x24\x00\x25\x00\x05\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x0d\x00\x14\x00\x0f\x00\x10\x00\x1b\x00\x2e\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x10\x00\x1b\x00\x01\x00\x13\x00\x1b\x00\x39\x00\x05\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x41\x00\x42\x00\x41\x00\x1e\x00\x15\x00\x15\x00\x1b\x00\x1b\x00\x1b\x00\x24\x00\x25\x00\x12\x00\x27\x00\x28\x00\x29\x00\x01\x00\x02\x00\x01\x00\x04\x00\x05\x00\x14\x00\x05\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x01\x00\x02\x00\x0d\x00\x04\x00\x05\x00\x11\x00\x1b\x00\x14\x00\x15\x00\x16\x00\x17\x00\x41\x00\x42\x00\x1a\x00\x01\x00\x02\x00\x11\x00\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x01\x00\x02\x00\x11\x00\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1b\x00\x3c\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x01\x00\x04\x00\x05\x00\x01\x00\x05\x00\x2d\x00\x11\x00\x05\x00\x06\x00\x01\x00\x02\x00\x0c\x00\x04\x00\x05\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x01\x00\x04\x00\x05\x00\x40\x00\x05\x00\x06\x00\x08\x00\x1b\x00\x1b\x00\x01\x00\x02\x00\x1b\x00\x04\x00\x05\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x12\x00\x3a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x11\x00\x04\x00\x05\x00\x01\x00\x11\x00\x11\x00\x23\x00\x05\x00\x3c\x00\x01\x00\x02\x00\x11\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0e\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x11\x00\x11\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\x01\x00\x14\x00\x11\x00\x11\x00\x05\x00\x11\x00\x01\x00\x02\x00\x1c\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0e\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x1c\x00\x41\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x1c\x00\x04\x00\x05\x00\x01\x00\x01\x00\x1c\x00\x14\x00\x05\x00\x05\x00\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x3c\x00\x3c\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x3a\x00\x04\x00\x05\x00\x01\x00\x01\x00\x14\x00\x14\x00\x05\x00\x05\x00\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x3c\x00\x14\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x11\x00\x04\x00\x05\x00\x01\x00\x01\x00\x14\x00\x11\x00\x05\x00\x05\x00\x01\x00\x02\x00\x07\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x08\x00\x0b\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x09\x00\x04\x00\x05\x00\x00\x00\x00\x00\x0b\x00\x08\x00\x0b\x00\xff\xff\x01\x00\x02\x00\x0b\x00\x04\x00\x05\x00\x11\x00\x00\x00\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\xff\xff\x01\x00\x02\x00\x1a\x00\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\x01\x00\x04\x00\x05\x00\xff\xff\x05\x00\x01\x00\x02\x00\x11\x00\x04\x00\x05\x00\x14\x00\xff\xff\x0d\x00\xff\xff\x0f\x00\x10\x00\x1a\x00\x14\x00\x15\x00\xff\xff\xff\xff\x11\x00\xff\xff\x1a\x00\x14\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x1a\x00\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x14\x00\x15\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x14\x00\x15\x00\xff\xff\xff\xff\xff\xff\x14\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x01\x00\xff\xff\xff\xff\x14\x00\x05\x00\xff\xff\xff\xff\x0d\x00\x14\x00\x0f\x00\x10\x00\xff\xff\x0d\x00\x01\x00\x0f\x00\x10\x00\xff\xff\x05\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\xff\xff\x0d\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x0d\x00\xff\xff\x0f\x00\x10\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"# +happyCheck = HappyA# "\xff\xff\x10\x00\x15\x00\x01\x00\x13\x00\x1b\x00\x12\x00\x05\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x09\x00\x14\x00\x20\x00\x1e\x00\x22\x00\x14\x00\x44\x00\x12\x00\x1b\x00\x24\x00\x25\x00\x03\x00\x27\x00\x28\x00\x29\x00\x07\x00\x2b\x00\x10\x00\x30\x00\x43\x00\x1f\x00\x14\x00\x21\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x3e\x00\x10\x00\x39\x00\x01\x00\x13\x00\x40\x00\x09\x00\x05\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x43\x00\x44\x00\x45\x00\x1e\x00\x10\x00\x45\x00\x3d\x00\x37\x00\x2f\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x11\x00\x2c\x00\x39\x00\x14\x00\x2f\x00\x3a\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x43\x00\x38\x00\x39\x00\x43\x00\x3b\x00\x01\x00\x16\x00\x2f\x00\x3f\x00\x05\x00\x41\x00\x10\x00\x43\x00\x44\x00\x13\x00\x42\x00\x0c\x00\x39\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x09\x00\x0a\x00\x01\x00\x1e\x00\x10\x00\x43\x00\x05\x00\x06\x00\x2d\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x20\x00\x2c\x00\x22\x00\x3c\x00\x10\x00\x3e\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x14\x00\x38\x00\x39\x00\x10\x00\x3b\x00\x01\x00\x45\x00\x2f\x00\x3f\x00\x05\x00\x41\x00\x10\x00\x43\x00\x44\x00\x13\x00\x10\x00\x0c\x00\x39\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x10\x00\x2f\x00\x01\x00\x1e\x00\x01\x00\x43\x00\x05\x00\x06\x00\x05\x00\x24\x00\x25\x00\x39\x00\x27\x00\x28\x00\x29\x00\x0c\x00\x10\x00\x02\x00\x10\x00\x04\x00\x10\x00\x43\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x10\x00\x38\x00\x39\x00\x13\x00\x3b\x00\x15\x00\x14\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x43\x00\x44\x00\x1e\x00\x05\x00\x06\x00\x45\x00\x01\x00\x2f\x00\x24\x00\x25\x00\x05\x00\x27\x00\x28\x00\x29\x00\x45\x00\x2b\x00\x3d\x00\x39\x00\x0d\x00\x3b\x00\x0f\x00\x10\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x43\x00\x01\x00\x39\x00\x10\x00\x01\x00\x05\x00\x06\x00\x10\x00\x05\x00\x40\x00\x13\x00\x45\x00\x43\x00\x44\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1d\x00\x01\x00\x02\x00\x1e\x00\x04\x00\x05\x00\x45\x00\x01\x00\x43\x00\x24\x00\x25\x00\x05\x00\x27\x00\x28\x00\x29\x00\x01\x00\x02\x00\x01\x00\x04\x00\x05\x00\x14\x00\x05\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x10\x00\x38\x00\x39\x00\x13\x00\x3b\x00\x42\x00\x14\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x43\x00\x44\x00\x1e\x00\x05\x00\x06\x00\x09\x00\x0a\x00\x43\x00\x24\x00\x25\x00\x45\x00\x27\x00\x28\x00\x29\x00\x01\x00\x02\x00\x37\x00\x04\x00\x05\x00\x09\x00\x0a\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x10\x00\x38\x00\x39\x00\x13\x00\x09\x00\x0a\x00\x14\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x43\x00\x43\x00\x44\x00\x1e\x00\x45\x00\x1d\x00\x1b\x00\x01\x00\x1b\x00\x24\x00\x25\x00\x05\x00\x27\x00\x28\x00\x29\x00\x20\x00\x2b\x00\x1d\x00\x1b\x00\x0d\x00\x3a\x00\x0f\x00\x10\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x10\x00\x1b\x00\x39\x00\x13\x00\x43\x00\x14\x00\x1b\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x12\x00\x43\x00\x44\x00\x1e\x00\x10\x00\x10\x00\x1b\x00\x1b\x00\x10\x00\x24\x00\x25\x00\x15\x00\x27\x00\x28\x00\x29\x00\x1b\x00\x1b\x00\x01\x00\x15\x00\x1b\x00\x1b\x00\x05\x00\x1b\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x1b\x00\x0d\x00\x39\x00\x0f\x00\x10\x00\x14\x00\x11\x00\x2f\x00\x2f\x00\x1b\x00\x01\x00\x2f\x00\x43\x00\x44\x00\x05\x00\x3e\x00\x2e\x00\x39\x00\x39\x00\x3b\x00\x3b\x00\x39\x00\x0d\x00\x3b\x00\x0f\x00\x10\x00\x1b\x00\x43\x00\x43\x00\x01\x00\x02\x00\x43\x00\x04\x00\x05\x00\x11\x00\x08\x00\x3c\x00\x42\x00\x1b\x00\x1b\x00\x1b\x00\x11\x00\x11\x00\x01\x00\x02\x00\x11\x00\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x01\x00\x02\x00\x11\x00\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x11\x00\x3e\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x23\x00\x04\x00\x05\x00\x11\x00\x11\x00\x11\x00\x11\x00\x11\x00\x1c\x00\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\x11\x00\x1c\x00\x43\x00\x1c\x00\x1c\x00\x3e\x00\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x12\x00\x14\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\x01\x00\x3c\x00\x3e\x00\x14\x00\x05\x00\x14\x00\x01\x00\x02\x00\x3e\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0e\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x14\x00\x11\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\x01\x00\x11\x00\x07\x00\x0b\x00\x05\x00\x08\x00\x01\x00\x02\x00\x00\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0e\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x09\x00\x00\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x08\x00\x04\x00\x05\x00\x01\x00\x0b\x00\x0b\x00\x0b\x00\x05\x00\xff\xff\x01\x00\x02\x00\x00\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0e\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x01\x00\x01\x00\xff\xff\xff\xff\x05\x00\x05\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\x0d\x00\x0d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x01\x00\x01\x00\xff\xff\xff\xff\x05\x00\x05\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\x0d\x00\x0d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x01\x00\x01\x00\xff\xff\xff\xff\x05\x00\x05\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\x0d\x00\x0d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x01\x00\x01\x00\xff\xff\xff\xff\x05\x00\x05\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\x0d\x00\x0d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\x0d\x00\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x01\x00\x02\x00\x1a\x00\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\xff\xff\x11\x00\xff\xff\x1a\x00\x14\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x1a\x00\x14\x00\x15\x00\xff\xff\xff\xff\x01\x00\x02\x00\x1a\x00\x04\x00\x05\x00\xff\xff\x11\x00\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x14\x00\x15\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x14\x00\x15\x00\xff\xff\xff\xff\x01\x00\x02\x00\x1a\x00\x04\x00\x05\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\xff\xff\x01\x00\x14\x00\x1a\x00\xff\xff\x05\x00\x01\x00\x14\x00\x1a\x00\xff\xff\x05\x00\xff\xff\xff\xff\x0d\x00\x14\x00\x0f\x00\x10\x00\xff\xff\x0d\x00\xff\xff\x0f\x00\x10\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"# happyTable :: HappyAddr -happyTable = HappyA# "\x00\x00\x47\x00\xb4\x00\x79\x00\x2c\x00\x9c\x00\xfb\x00\xc6\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x44\x00\xd5\x00\x7d\x00\x31\x00\x9c\x00\x43\x00\x7e\x00\x1c\x00\xf9\x00\x32\x00\x33\x00\x61\x00\x35\x00\x36\x00\x37\x00\x99\x00\x60\x00\xb2\x00\x62\x00\xb3\x00\xd5\x00\x77\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x2b\x00\xc7\x00\xcc\x00\x2c\x00\xb5\x00\xcd\x00\x9a\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x43\x00\x44\x00\xff\xff\x31\x00\xff\xff\x60\x00\x65\x00\x66\x00\x5b\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x9d\x00\x38\x00\x9e\x00\xa3\x00\xad\x00\x79\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x43\x00\x3f\x00\x1c\x00\x40\x00\x65\x00\x7f\x00\x7b\x00\x41\x00\x5b\x00\x42\x00\x2b\x00\x43\x00\x44\x00\x2c\x00\x9d\x00\x65\x00\x9e\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x5b\x00\x5a\x00\x0b\x01\x31\x00\x0c\x01\x60\x00\x43\x00\x43\x00\xaf\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x1d\x00\x38\x00\x7c\x00\x5a\x00\x43\x00\x1c\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xb1\x00\x3f\x00\xec\x00\x40\x00\x5b\x00\x65\x00\xd7\x00\x41\x00\x5b\x00\x42\x00\x2b\x00\x43\x00\x44\x00\x2c\x00\xb0\x00\x5c\x00\xff\xff\x2d\x00\x2e\x00\x2f\x00\x30\x00\x5b\x00\x1c\x00\x43\x00\x31\x00\x1c\x00\x89\x00\x43\x00\xae\x00\x55\x00\x32\x00\x33\x00\x5c\x00\x35\x00\x36\x00\x37\x00\xaa\x00\x5d\x00\x5e\x00\x5a\x00\x43\x00\xa7\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xa6\x00\x3f\x00\xea\x00\x40\x00\x1c\x00\x1d\x00\xa1\x00\x1e\x00\x1f\x00\xa0\x00\x47\x00\x43\x00\x44\x00\x2c\x00\xff\xff\xbb\xff\x9b\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x5b\x00\x1c\x00\x21\x00\x31\x00\xff\xff\x79\x00\x7a\x00\x9a\x00\x45\x00\x32\x00\x33\x00\x5c\x00\x35\x00\x36\x00\x37\x00\x99\x00\x1c\x00\x1c\x00\x91\x00\x43\x00\x88\x00\x55\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x1c\x00\x1d\x00\x60\x00\x1e\x00\x1f\x00\xff\xff\x2b\x00\x90\x00\xbb\xff\x2c\x00\xff\xff\x43\x00\x44\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x1c\x00\x1c\x00\x21\x00\x31\x00\x61\x00\x79\x00\x8e\x00\x43\x00\xcf\x00\x32\x00\x33\x00\x86\x00\x35\x00\x36\x00\x37\x00\x1c\x00\x1d\x00\x1c\x00\x1e\x00\x1f\x00\x43\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x1c\x00\x3f\x00\xff\xff\x40\x00\x79\x00\x82\x00\x47\x00\x4e\x00\x77\x00\x2c\x00\xff\xff\x43\x00\x44\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x43\x00\x1c\x00\x1d\x00\x31\x00\x1e\x00\x1f\x00\xe2\x00\x1c\x00\xe1\x00\x32\x00\x33\x00\x55\x00\x35\x00\x36\x00\x37\x00\xe0\x00\x65\x00\xe5\x00\xdf\x00\xa1\x00\x97\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x47\x00\x3f\x00\x5a\x00\x2c\x00\xde\x00\x65\x00\x43\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x43\x00\x44\x00\xe8\x00\x31\x00\x1c\x00\xda\x00\xd9\x00\x1c\x00\x55\x00\x32\x00\x33\x00\x87\x00\x35\x00\x36\x00\x37\x00\x99\x00\x56\x00\xd5\x00\x57\x00\x58\x00\xd6\x00\x5b\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x47\x00\xd4\x00\x1c\x00\x2c\x00\xc9\x00\x5c\x00\x83\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x43\x00\x44\x00\x43\x00\x31\x00\xc2\x00\xc0\x00\xbf\x00\xbe\x00\xff\x00\x32\x00\x33\x00\x9c\x00\x35\x00\x36\x00\x37\x00\x1c\x00\x1d\x00\x1c\x00\x1e\x00\x1f\x00\xfd\x00\x55\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x1c\x00\x1d\x00\x93\x00\x1e\x00\x1f\x00\xfc\x00\xf7\x00\x21\x00\x22\x00\x23\x00\x4b\x00\x43\x00\x44\x00\x4a\x00\x1c\x00\x1d\x00\x20\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x1c\x00\x1d\x00\x20\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xbc\x00\xf6\x00\xf4\x00\x20\x00\x4f\x00\x50\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x51\x00\x1c\x00\x1d\x00\x1c\x00\x1e\x00\x1f\x00\x1c\x00\x61\x00\xf3\x00\xef\x00\x79\x00\x80\x00\x1c\x00\x1d\x00\x1a\x01\x1e\x00\x1f\x00\x20\x00\x4f\x00\xd2\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x51\x00\x20\x00\x4f\x00\xd0\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x51\x00\x1c\x00\x1d\x00\x1c\x00\x1e\x00\x1f\x00\x1c\x00\x79\x00\xd6\x00\x1a\x01\x19\x01\x17\x01\x1c\x00\x1d\x00\x15\x01\x1e\x00\x1f\x00\x20\x00\x4f\x00\xc3\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xc4\x00\x20\x00\x52\x00\x13\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x51\x00\x1c\x00\x1d\x00\x12\x01\x1e\x00\x1f\x00\x1c\x00\x11\x01\x0f\x01\x05\x01\x55\x00\x09\x01\x1c\x00\x1d\x00\x04\x01\x1e\x00\xab\x00\x20\x00\x94\x00\x95\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x44\x00\x20\x00\x03\x01\x28\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x9e\x00\x1c\x00\x1d\x00\x27\x01\x1e\x00\x1f\x00\x1c\x00\x26\x01\x25\x01\x23\x01\x55\x00\x22\x01\x1c\x00\x1d\x00\x20\x01\x1e\x00\x1f\x00\x20\x00\x5d\x00\x92\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xa4\x00\x20\x00\x1e\x01\x43\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x9e\x00\x1c\x00\x1d\x00\x34\x01\x1e\x00\x1f\x00\x1c\x00\x1c\x00\x32\x01\x2f\x01\x55\x00\x55\x00\x1c\x00\x1d\x00\x2e\x01\x1e\x00\x1f\x00\x20\x00\x91\x00\xca\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x8d\x00\x20\x00\x30\x01\x2d\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x8c\x00\x1c\x00\x1d\x00\x2c\x01\x1e\x00\x1f\x00\x1c\x00\x1c\x00\x29\x01\x3b\x01\x55\x00\x55\x00\x1c\x00\x1d\x00\x3a\x01\x1e\x00\x1f\x00\x20\x00\xc9\x00\xc7\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x8b\x00\x20\x00\x3f\x01\x41\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x8a\x00\x1c\x00\x1d\x00\x40\x01\x1e\x00\x1f\x00\x1c\x00\x1c\x00\x43\x01\x45\x01\x55\x00\x55\x00\x1c\x00\x1d\x00\x77\x00\x1e\x00\x1f\x00\x20\x00\xc0\x00\xf0\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xd1\x00\x20\x00\x75\x00\x63\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xcd\x00\x1c\x00\x1d\x00\x74\x00\x1e\x00\x1f\x00\x85\x00\x84\x00\xdc\x00\x81\x00\xdb\x00\x00\x00\x1c\x00\x1d\x00\xda\x00\x1e\x00\x1f\x00\x20\x00\xe4\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xc2\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x01\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xf9\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xf7\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xf4\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xf1\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xef\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xed\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xec\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xe3\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xe2\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x17\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x15\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x13\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x0d\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x0c\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x09\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x07\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x06\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x05\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x23\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x20\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x1e\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x1c\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x1b\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x32\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x30\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x2a\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x29\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x38\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x35\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x34\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x3d\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x3c\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x41\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x43\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x47\x00\x48\x00\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x47\x00\xbb\x00\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x47\x00\xb6\x00\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x47\x00\xb5\x00\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x47\x00\xfd\x00\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x47\x00\x3b\x01\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x47\x00\x37\x01\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x47\x00\x36\x01\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x49\x00\x00\x00\x4a\x00\x21\x00\x22\x00\x23\x00\x24\x00\xce\x00\x00\x00\x4a\x00\x21\x00\x22\x00\x23\x00\x24\x00\xba\x00\x00\x00\x4a\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x0f\x01\x00\x00\x4a\x00\x21\x00\x22\x00\x23\x00\xb9\x00\x00\x00\x00\x00\x4a\x00\x21\x00\x22\x00\x4c\x00\x00\x00\x1c\x00\x1d\x00\x4a\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1c\x00\x1e\x00\x1f\x00\x00\x00\x55\x00\x1c\x00\x1d\x00\x53\x00\x1e\x00\x1f\x00\x21\x00\x00\x00\x56\x00\x00\x00\x57\x00\xa8\x00\x54\x00\x21\x00\x4d\x00\x00\x00\x00\x00\xaa\x00\x00\x00\x4a\x00\x21\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x54\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x21\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x21\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xa7\x00\x4a\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x55\x00\x1c\x00\x00\x00\x00\x00\xa3\x00\x55\x00\x00\x00\x00\x00\x56\x00\x97\x00\x57\x00\x96\x00\x00\x00\x56\x00\x1c\x00\x57\x00\xea\x00\x00\x00\x55\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x00\x00\x57\x00\xe8\x00\x00\x00\x56\x00\x00\x00\x57\x00\xe6\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# +happyTable = HappyA# "\x00\x00\x49\x00\xb7\x00\x1c\x00\x2c\x00\xc9\x00\x9f\x00\x7e\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x7c\x00\xd8\x00\xa0\x00\x31\x00\xa1\x00\xfe\x00\x46\x00\x9f\x00\xfc\x00\x32\x00\x33\x00\x80\x00\x35\x00\x36\x00\x37\x00\x81\x00\x9c\x00\x63\x00\xb2\x00\x45\x00\xb5\x00\xd8\x00\xb6\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xca\x00\x2b\x00\x41\x00\x1c\x00\x2c\x00\xb8\x00\x7c\x00\x8c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x45\x00\x46\x00\xff\xff\x31\x00\x63\x00\xff\xff\x9d\x00\x7a\x00\x5d\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xcf\x00\x39\x00\x5e\x00\xd0\x00\xb0\x00\x68\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x45\x00\x40\x00\x41\x00\x45\x00\x42\x00\x1c\x00\xb4\x00\x5d\x00\x43\x00\x64\x00\x44\x00\x2b\x00\x45\x00\x46\x00\x2c\x00\x1c\x00\x65\x00\x5e\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x68\x00\x69\x00\x1c\x00\x31\x00\xa6\x00\x45\x00\x7c\x00\x7d\x00\xb3\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xa0\x00\x39\x00\xa1\x00\x0e\x01\x63\x00\x0f\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xb1\x00\x40\x00\x41\x00\xad\x00\x42\x00\x1c\x00\xff\xff\x5d\x00\x43\x00\x64\x00\x44\x00\x2b\x00\x45\x00\x46\x00\x2c\x00\xaa\x00\x89\x00\x5e\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xa9\x00\x5d\x00\x1c\x00\x31\x00\x1c\x00\x45\x00\x7c\x00\x91\x00\x64\x00\x32\x00\x33\x00\x5e\x00\x35\x00\x36\x00\x37\x00\x1d\x01\x5c\x00\x1d\x00\xa4\x00\x7f\x00\xa3\x00\x45\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x49\x00\x40\x00\x41\x00\x2c\x00\x42\x00\xba\xff\x9e\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x1c\x00\x45\x00\x46\x00\x31\x00\x7c\x00\x85\x00\xff\xff\x1c\x00\x5d\x00\x32\x00\x33\x00\x57\x00\x35\x00\x36\x00\x37\x00\xff\xff\x9c\x00\x9d\x00\x5e\x00\x58\x00\x5f\x00\x59\x00\x5a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x45\x00\x1c\x00\x41\x00\x94\x00\x1c\x00\x7c\x00\x83\x00\x2b\x00\x8b\x00\xba\xff\x2c\x00\xff\xff\x45\x00\x46\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x93\x00\x1c\x00\x1d\x00\x31\x00\x1e\x00\x1f\x00\xff\xff\x1c\x00\x45\x00\x32\x00\x33\x00\x8a\x00\x35\x00\x36\x00\x37\x00\x1c\x00\x1d\x00\x1c\x00\x1e\x00\x1f\x00\x50\x00\x86\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x49\x00\x40\x00\x41\x00\x2c\x00\x42\x00\x1c\x00\x9a\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x1c\x00\x45\x00\x46\x00\x31\x00\x7c\x00\xd9\x00\x68\x00\x82\x00\x45\x00\x32\x00\x33\x00\xff\xff\x35\x00\x36\x00\x37\x00\x1c\x00\x1d\x00\x7a\x00\x1e\x00\x1f\x00\x68\x00\xda\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x49\x00\x40\x00\x41\x00\x2c\x00\x68\x00\xe8\x00\xaa\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x45\x00\x45\x00\x46\x00\x31\x00\xff\xff\xe5\x00\xe4\x00\x1c\x00\xe3\x00\x32\x00\x33\x00\x57\x00\x35\x00\x36\x00\x37\x00\xe2\x00\x9c\x00\xe1\x00\xdd\x00\x58\x00\x68\x00\x59\x00\xab\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x49\x00\xdc\x00\x41\x00\x2c\x00\x45\x00\xd8\x00\xd9\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x9f\x00\x45\x00\x46\x00\x31\x00\x5c\x00\x5c\x00\xd7\x00\xcc\x00\x5c\x00\x32\x00\x33\x00\xc5\x00\x35\x00\x36\x00\x37\x00\xef\x00\xed\x00\x1c\x00\xc3\x00\xeb\x00\xc2\x00\x57\x00\xc1\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x02\x01\x58\x00\x41\x00\x59\x00\x99\x00\x00\x01\xff\x00\x5d\x00\x5d\x00\xfa\x00\x1c\x00\x5d\x00\x45\x00\x46\x00\x57\x00\xf7\x00\xf6\x00\x5e\x00\x5e\x00\x5f\x00\x5f\x00\x5e\x00\x58\x00\x5f\x00\x59\x00\xed\x00\xf9\x00\x45\x00\x45\x00\x1c\x00\x1d\x00\x45\x00\x1e\x00\x1f\x00\xf2\x00\x1d\x01\x16\x01\x1c\x00\x1c\x01\x1a\x01\x18\x01\x15\x01\x14\x01\x1c\x00\x1d\x00\x20\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x1c\x00\x1d\x00\x20\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xbf\x00\x12\x01\x0c\x01\x20\x00\x51\x00\x52\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x53\x00\x1c\x00\x1d\x00\x08\x01\x1e\x00\x1f\x00\x07\x01\x06\x01\x2b\x01\x28\x01\x26\x01\x23\x01\x1c\x00\x1d\x00\x2a\x01\x1e\x00\x1f\x00\x20\x00\x51\x00\xd5\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x53\x00\x20\x00\x51\x00\xd3\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x53\x00\x1c\x00\x1d\x00\x29\x01\x1e\x00\x1f\x00\x25\x01\x21\x01\x45\x00\x37\x01\x35\x01\x33\x01\x1c\x00\x1d\x00\x32\x01\x1e\x00\x1f\x00\x20\x00\x51\x00\xc6\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xc7\x00\x20\x00\x54\x00\x31\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x53\x00\x1c\x00\x1d\x00\x2c\x01\x1e\x00\x1f\x00\x1c\x00\x2f\x01\x30\x01\x3e\x01\x57\x00\x3d\x01\x1c\x00\x1d\x00\x42\x01\x1e\x00\xae\x00\x20\x00\x60\x00\x61\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x46\x00\x20\x00\x44\x01\x43\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xa1\x00\x1c\x00\x1d\x00\x46\x01\x1e\x00\x1f\x00\x1c\x00\x48\x01\x7a\x00\x66\x00\x57\x00\x78\x00\x1c\x00\x1d\x00\x88\x00\x1e\x00\x1f\x00\x20\x00\x97\x00\x98\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xa7\x00\x20\x00\x77\x00\x87\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xa1\x00\x1c\x00\x1d\x00\x84\x00\x1e\x00\x1f\x00\x1c\x00\xdf\x00\xde\x00\xdd\x00\x57\x00\x00\x00\x1c\x00\x1d\x00\xe7\x00\x1e\x00\x1f\x00\x20\x00\x60\x00\x95\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x90\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x8f\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x57\x00\x57\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x63\x00\xa4\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x8e\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x8d\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x57\x00\x57\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x96\x00\x94\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xd4\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xd0\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x57\x00\x57\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\xcd\x00\xcc\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xc5\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x04\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x57\x00\x57\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\xca\x00\xc3\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x03\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x02\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x57\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\xf3\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xfc\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xfa\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xf7\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xf4\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xf2\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xf0\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xef\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xe6\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xe5\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x1a\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x18\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x16\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x10\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x0c\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x0a\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x09\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x08\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x26\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x23\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x21\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x1f\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x1e\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x35\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x33\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x2d\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x2c\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x3b\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x38\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x37\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x40\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x3f\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x44\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x46\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x49\x00\x4a\x00\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x49\x00\xbe\x00\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x49\x00\xb9\x00\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x49\x00\xb8\x00\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x49\x00\x00\x01\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x49\x00\x3e\x01\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x49\x00\x3a\x01\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x49\x00\x39\x01\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x4b\x00\x00\x00\x4c\x00\x21\x00\x22\x00\x23\x00\x24\x00\xd1\x00\x00\x00\x4c\x00\x21\x00\x22\x00\x23\x00\x24\x00\xbd\x00\x00\x00\x4c\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x12\x01\x00\x00\x4c\x00\x21\x00\x22\x00\x23\x00\x4d\x00\x00\x00\x00\x00\x4c\x00\x21\x00\x22\x00\x23\x00\xbc\x00\x1c\x00\x1d\x00\x4c\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x4e\x00\x00\x00\x55\x00\x00\x00\x4c\x00\x21\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x56\x00\x21\x00\x4f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x4c\x00\x1e\x00\x1f\x00\x00\x00\xad\x00\x1c\x00\x1d\x00\x21\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x56\x00\x00\x00\x00\x00\x00\x00\x21\x00\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x21\x00\xba\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x4c\x00\x1e\x00\x1f\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x21\x00\x1e\x00\x1f\x00\x00\x00\x1c\x00\x21\x00\x47\x00\x00\x00\x57\x00\x1c\x00\xa6\x00\xd2\x00\x00\x00\x57\x00\x00\x00\x00\x00\x58\x00\x9a\x00\x59\x00\xeb\x00\x00\x00\x58\x00\x00\x00\x59\x00\xe9\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x00\x00\x00\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# -happyReduceArr = Happy_Data_Array.array (26, 125) [ +happyReduceArr = Happy_Data_Array.array (26, 128) [ (26 , happyReduce_26), (27 , happyReduce_27), (28 , happyReduce_28), @@ -400,10 +400,13 @@ happyReduceArr = Happy_Data_Array.array (26, 125) [ (122 , happyReduce_122), (123 , happyReduce_123), (124 , happyReduce_124), - (125 , happyReduce_125) + (125 , happyReduce_125), + (126 , happyReduce_126), + (127 , happyReduce_127), + (128 , happyReduce_128) ] -happy_n_terms = 68 :: Prelude.Int +happy_n_terms = 70 :: Prelude.Int happy_n_nonterms = 29 :: Prelude.Int happyReduce_26 = happySpecReduce_1 0# happyReduction_26 @@ -761,13 +764,20 @@ happyReduction_58 happy_x_1 happyReduce_59 = happySpecReduce_1 13# happyReduction_59 happyReduction_59 happy_x_1 + = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn42 + ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.PatternUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) + )} + +happyReduce_60 = happySpecReduce_1 13# happyReduction_60 +happyReduction_60 happy_x_1 = case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) -> happyIn42 ((fst happy_var_1, Language.Rzk.Syntax.Abs.PatternVar (fst happy_var_1) (snd happy_var_1)) )} -happyReduce_60 = happyReduce 5# 13# happyReduction_60 -happyReduction_60 (happy_x_5 `HappyStk` +happyReduce_61 = happyReduce 5# 13# happyReduction_61 +happyReduction_61 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` @@ -780,15 +790,15 @@ happyReduction_60 (happy_x_5 `HappyStk` ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.PatternPair (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4)) ) `HappyStk` happyRest}}} -happyReduce_61 = happySpecReduce_1 14# happyReduction_61 -happyReduction_61 happy_x_1 +happyReduce_62 = happySpecReduce_1 14# happyReduction_62 +happyReduction_62 happy_x_1 = case happyOut42 happy_x_1 of { (HappyWrap42 happy_var_1) -> happyIn43 ((fst happy_var_1, (:[]) (snd happy_var_1)) )} -happyReduce_62 = happySpecReduce_2 14# happyReduction_62 -happyReduction_62 happy_x_2 +happyReduce_63 = happySpecReduce_2 14# happyReduction_63 +happyReduction_63 happy_x_2 happy_x_1 = case happyOut42 happy_x_1 of { (HappyWrap42 happy_var_1) -> case happyOut43 happy_x_2 of { (HappyWrap43 happy_var_2) -> @@ -796,15 +806,15 @@ happyReduction_62 happy_x_2 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2)) )}} -happyReduce_63 = happySpecReduce_1 15# happyReduction_63 -happyReduction_63 happy_x_1 +happyReduce_64 = happySpecReduce_1 15# happyReduction_64 +happyReduction_64 happy_x_1 = case happyOut42 happy_x_1 of { (HappyWrap42 happy_var_1) -> happyIn44 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ParamPattern (fst happy_var_1) (snd happy_var_1)) )} -happyReduce_64 = happyReduce 5# 15# happyReduction_64 -happyReduction_64 (happy_x_5 `HappyStk` +happyReduce_65 = happyReduce 5# 15# happyReduction_65 +happyReduction_65 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` @@ -817,8 +827,8 @@ happyReduction_64 (happy_x_5 `HappyStk` ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4)) ) `HappyStk` happyRest}}} -happyReduce_65 = happyReduce 7# 15# happyReduction_65 -happyReduction_65 (happy_x_7 `HappyStk` +happyReduce_66 = happyReduce 7# 15# happyReduction_66 +happyReduction_66 (happy_x_7 `HappyStk` happy_x_6 `HappyStk` happy_x_5 `HappyStk` happy_x_4 `HappyStk` @@ -834,15 +844,15 @@ happyReduction_65 (happy_x_7 `HappyStk` ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6)) ) `HappyStk` happyRest}}}} -happyReduce_66 = happySpecReduce_1 16# happyReduction_66 -happyReduction_66 happy_x_1 +happyReduce_67 = happySpecReduce_1 16# happyReduction_67 +happyReduction_67 happy_x_1 = case happyOut44 happy_x_1 of { (HappyWrap44 happy_var_1) -> happyIn45 ((fst happy_var_1, (:[]) (snd happy_var_1)) )} -happyReduce_67 = happySpecReduce_2 16# happyReduction_67 -happyReduction_67 happy_x_2 +happyReduce_68 = happySpecReduce_2 16# happyReduction_68 +happyReduction_68 happy_x_2 happy_x_1 = case happyOut44 happy_x_1 of { (HappyWrap44 happy_var_1) -> case happyOut45 happy_x_2 of { (HappyWrap45 happy_var_2) -> @@ -850,15 +860,15 @@ happyReduction_67 happy_x_2 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2)) )}} -happyReduce_68 = happySpecReduce_1 17# happyReduction_68 -happyReduction_68 happy_x_1 +happyReduce_69 = happySpecReduce_1 17# happyReduction_69 +happyReduction_69 happy_x_1 = case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) -> happyIn46 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ParamType (fst happy_var_1) (snd happy_var_1)) )} -happyReduce_69 = happyReduce 5# 17# happyReduction_69 -happyReduction_69 (happy_x_5 `HappyStk` +happyReduce_70 = happyReduce 5# 17# happyReduction_70 +happyReduction_70 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` @@ -870,8 +880,8 @@ happyReduction_69 (happy_x_5 `HappyStk` ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamWildcardType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_4)) ) `HappyStk` happyRest}} -happyReduce_70 = happyReduce 5# 17# happyReduction_70 -happyReduction_70 (happy_x_5 `HappyStk` +happyReduce_71 = happyReduce 5# 17# happyReduction_71 +happyReduction_71 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` @@ -884,8 +894,8 @@ happyReduction_70 (happy_x_5 `HappyStk` ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamVarType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4)) ) `HappyStk` happyRest}}} -happyReduce_71 = happyReduce 5# 17# happyReduction_71 -happyReduction_71 (happy_x_5 `HappyStk` +happyReduce_72 = happyReduce 5# 17# happyReduction_72 +happyReduction_72 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` @@ -898,8 +908,8 @@ happyReduction_71 (happy_x_5 `HappyStk` ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.paramVarType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4)) ) `HappyStk` happyRest}}} -happyReduce_72 = happyReduce 9# 17# happyReduction_72 -happyReduction_72 (happy_x_9 `HappyStk` +happyReduce_73 = happyReduce 9# 17# happyReduction_73 +happyReduction_73 (happy_x_9 `HappyStk` happy_x_8 `HappyStk` happy_x_7 `HappyStk` happy_x_6 `HappyStk` @@ -917,8 +927,8 @@ happyReduction_72 (happy_x_9 `HappyStk` ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamVarShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8)) ) `HappyStk` happyRest}}}} -happyReduce_73 = happyReduce 7# 17# happyReduction_73 -happyReduction_73 (happy_x_7 `HappyStk` +happyReduce_74 = happyReduce 7# 17# happyReduction_74 +happyReduction_74 (happy_x_7 `HappyStk` happy_x_6 `HappyStk` happy_x_5 `HappyStk` happy_x_4 `HappyStk` @@ -934,8 +944,8 @@ happyReduction_73 (happy_x_7 `HappyStk` ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.paramVarShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6)) ) `HappyStk` happyRest}}}} -happyReduce_74 = happySpecReduce_3 18# happyReduction_74 -happyReduction_74 happy_x_3 +happyReduce_75 = happySpecReduce_3 18# happyReduction_75 +happyReduction_75 happy_x_3 happy_x_2 happy_x_1 = case happyOut56 happy_x_1 of { (HappyWrap56 happy_var_1) -> @@ -944,15 +954,15 @@ happyReduction_74 happy_x_3 ((fst happy_var_1, Language.Rzk.Syntax.Abs.Restriction (fst happy_var_1) (snd happy_var_1) (snd happy_var_3)) )}} -happyReduce_75 = happySpecReduce_1 19# happyReduction_75 -happyReduction_75 happy_x_1 +happyReduce_76 = happySpecReduce_1 19# happyReduction_76 +happyReduction_76 happy_x_1 = case happyOut47 happy_x_1 of { (HappyWrap47 happy_var_1) -> happyIn48 ((fst happy_var_1, (:[]) (snd happy_var_1)) )} -happyReduce_76 = happySpecReduce_3 19# happyReduction_76 -happyReduction_76 happy_x_3 +happyReduce_77 = happySpecReduce_3 19# happyReduction_77 +happyReduction_77 happy_x_3 happy_x_2 happy_x_1 = case happyOut47 happy_x_1 of { (HappyWrap47 happy_var_1) -> @@ -961,85 +971,85 @@ happyReduction_76 happy_x_3 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3)) )}} -happyReduce_77 = happySpecReduce_1 20# happyReduction_77 -happyReduction_77 happy_x_1 - = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn49 - ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Universe (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) - )} - happyReduce_78 = happySpecReduce_1 20# happyReduction_78 happyReduction_78 happy_x_1 = case happyOutTok happy_x_1 of { happy_var_1 -> happyIn49 - ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.UniverseCube (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) + ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Universe (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) )} happyReduce_79 = happySpecReduce_1 20# happyReduction_79 happyReduction_79 happy_x_1 = case happyOutTok happy_x_1 of { happy_var_1 -> happyIn49 - ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.UniverseTope (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) + ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.UniverseCube (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) )} happyReduce_80 = happySpecReduce_1 20# happyReduction_80 happyReduction_80 happy_x_1 = case happyOutTok happy_x_1 of { happy_var_1 -> happyIn49 - ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) + ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.UniverseTope (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) )} happyReduce_81 = happySpecReduce_1 20# happyReduction_81 happyReduction_81 happy_x_1 = case happyOutTok happy_x_1 of { happy_var_1 -> happyIn49 - ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnitStar (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) + ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) )} happyReduce_82 = happySpecReduce_1 20# happyReduction_82 happyReduction_82 happy_x_1 = case happyOutTok happy_x_1 of { happy_var_1 -> happyIn49 - ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) + ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnitStar (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) )} happyReduce_83 = happySpecReduce_1 20# happyReduction_83 happyReduction_83 happy_x_1 = case happyOutTok happy_x_1 of { happy_var_1 -> happyIn49 - ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2_0 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) + ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) )} happyReduce_84 = happySpecReduce_1 20# happyReduction_84 happyReduction_84 happy_x_1 = case happyOutTok happy_x_1 of { happy_var_1 -> happyIn49 - ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2_1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) + ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2_0 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) )} happyReduce_85 = happySpecReduce_1 20# happyReduction_85 happyReduction_85 happy_x_1 = case happyOutTok happy_x_1 of { happy_var_1 -> happyIn49 - ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeTop (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) + ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2_1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) )} happyReduce_86 = happySpecReduce_1 20# happyReduction_86 happyReduction_86 happy_x_1 = case happyOutTok happy_x_1 of { happy_var_1 -> happyIn49 - ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) + ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeTop (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) )} happyReduce_87 = happySpecReduce_1 20# happyReduction_87 happyReduction_87 happy_x_1 = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn49 + ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) + )} + +happyReduce_88 = happySpecReduce_1 20# happyReduction_88 +happyReduction_88 happy_x_1 + = case happyOutTok happy_x_1 of { happy_var_1 -> happyIn49 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.RecBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) )} -happyReduce_88 = happyReduce 4# 20# happyReduction_88 -happyReduction_88 (happy_x_4 `HappyStk` +happyReduce_89 = happyReduce 4# 20# happyReduction_89 +happyReduction_89 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` @@ -1050,8 +1060,8 @@ happyReduction_88 (happy_x_4 `HappyStk` ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.RecOr (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3)) ) `HappyStk` happyRest}} -happyReduce_89 = happyReduce 10# 20# happyReduction_89 -happyReduction_89 (happy_x_10 `HappyStk` +happyReduce_90 = happyReduce 10# 20# happyReduction_90 +happyReduction_90 (happy_x_10 `HappyStk` happy_x_9 `HappyStk` happy_x_8 `HappyStk` happy_x_7 `HappyStk` @@ -1071,8 +1081,8 @@ happyReduction_89 (happy_x_10 `HappyStk` ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.recOr (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7) (snd happy_var_9)) ) `HappyStk` happyRest}}}}} -happyReduce_90 = happyReduce 5# 20# happyReduction_90 -happyReduction_90 (happy_x_5 `HappyStk` +happyReduce_91 = happyReduce 5# 20# happyReduction_91 +happyReduction_91 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` @@ -1085,8 +1095,8 @@ happyReduction_90 (happy_x_5 `HappyStk` ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.typeExtension (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4)) ) `HappyStk` happyRest}}} -happyReduce_91 = happyReduce 5# 20# happyReduction_91 -happyReduction_91 (happy_x_5 `HappyStk` +happyReduce_92 = happyReduce 5# 20# happyReduction_92 +happyReduction_92 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` @@ -1099,15 +1109,22 @@ happyReduction_91 (happy_x_5 `HappyStk` ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Pair (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4)) ) `HappyStk` happyRest}}} -happyReduce_92 = happySpecReduce_1 20# happyReduction_92 -happyReduction_92 happy_x_1 +happyReduce_93 = happySpecReduce_1 20# happyReduction_93 +happyReduction_93 happy_x_1 + = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn49 + ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Unit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) + )} + +happyReduce_94 = happySpecReduce_1 20# happyReduction_94 +happyReduction_94 happy_x_1 = case happyOutTok happy_x_1 of { happy_var_1 -> happyIn49 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Refl (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) )} -happyReduce_93 = happySpecReduce_3 20# happyReduction_93 -happyReduction_93 happy_x_3 +happyReduce_95 = happySpecReduce_3 20# happyReduction_95 +happyReduction_95 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { happy_var_1 -> @@ -1116,8 +1133,8 @@ happyReduction_93 happy_x_3 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ReflTerm (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2)) )}} -happyReduce_94 = happyReduce 5# 20# happyReduction_94 -happyReduction_94 (happy_x_5 `HappyStk` +happyReduce_96 = happyReduce 5# 20# happyReduction_96 +happyReduction_96 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` @@ -1130,8 +1147,8 @@ happyReduction_94 (happy_x_5 `HappyStk` ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ReflTermType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4)) ) `HappyStk` happyRest}}} -happyReduce_95 = happyReduce 14# 20# happyReduction_95 -happyReduction_95 (happy_x_14 `HappyStk` +happyReduce_97 = happyReduce 14# 20# happyReduction_97 +happyReduction_97 (happy_x_14 `HappyStk` happy_x_13 `HappyStk` happy_x_12 `HappyStk` happy_x_11 `HappyStk` @@ -1157,22 +1174,22 @@ happyReduction_95 (happy_x_14 `HappyStk` ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.IdJ (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7) (snd happy_var_9) (snd happy_var_11) (snd happy_var_13)) ) `HappyStk` happyRest}}}}}}} -happyReduce_96 = happySpecReduce_1 20# happyReduction_96 -happyReduction_96 happy_x_1 +happyReduce_98 = happySpecReduce_1 20# happyReduction_98 +happyReduction_98 happy_x_1 = case happyOut33 happy_x_1 of { (HappyWrap33 happy_var_1) -> happyIn49 ((fst happy_var_1, Language.Rzk.Syntax.Abs.Hole (fst happy_var_1) (snd happy_var_1)) )} -happyReduce_97 = happySpecReduce_1 20# happyReduction_97 -happyReduction_97 happy_x_1 +happyReduce_99 = happySpecReduce_1 20# happyReduction_99 +happyReduction_99 happy_x_1 = case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) -> happyIn49 ((fst happy_var_1, Language.Rzk.Syntax.Abs.Var (fst happy_var_1) (snd happy_var_1)) )} -happyReduce_98 = happySpecReduce_3 20# happyReduction_98 -happyReduction_98 happy_x_3 +happyReduce_100 = happySpecReduce_3 20# happyReduction_100 +happyReduction_100 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { happy_var_1 -> @@ -1181,8 +1198,8 @@ happyReduction_98 happy_x_3 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), (snd happy_var_2)) )}} -happyReduce_99 = happySpecReduce_3 21# happyReduction_99 -happyReduction_99 happy_x_3 +happyReduce_101 = happySpecReduce_3 21# happyReduction_101 +happyReduction_101 happy_x_3 happy_x_2 happy_x_1 = case happyOut50 happy_x_1 of { (HappyWrap50 happy_var_1) -> @@ -1191,15 +1208,15 @@ happyReduction_99 happy_x_3 ((fst happy_var_1, Language.Rzk.Syntax.Abs.CubeProduct (fst happy_var_1) (snd happy_var_1) (snd happy_var_3)) )}} -happyReduce_100 = happySpecReduce_1 21# happyReduction_100 -happyReduction_100 happy_x_1 +happyReduce_102 = happySpecReduce_1 21# happyReduction_102 +happyReduction_102 happy_x_1 = case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) -> happyIn50 ((fst happy_var_1, (snd happy_var_1)) )} -happyReduce_101 = happySpecReduce_3 22# happyReduction_101 -happyReduction_101 happy_x_3 +happyReduce_103 = happySpecReduce_3 22# happyReduction_103 +happyReduction_103 happy_x_3 happy_x_2 happy_x_1 = case happyOut50 happy_x_1 of { (HappyWrap50 happy_var_1) -> @@ -1208,8 +1225,8 @@ happyReduction_101 happy_x_3 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3)) )}} -happyReduce_102 = happySpecReduce_3 22# happyReduction_102 -happyReduction_102 happy_x_3 +happyReduce_104 = happySpecReduce_3 22# happyReduction_104 +happyReduction_104 happy_x_3 happy_x_2 happy_x_1 = case happyOut50 happy_x_1 of { (HappyWrap50 happy_var_1) -> @@ -1218,15 +1235,15 @@ happyReduction_102 happy_x_3 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeLEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3)) )}} -happyReduce_103 = happySpecReduce_1 22# happyReduction_103 -happyReduction_103 happy_x_1 +happyReduce_105 = happySpecReduce_1 22# happyReduction_105 +happyReduction_105 happy_x_1 = case happyOut50 happy_x_1 of { (HappyWrap50 happy_var_1) -> happyIn51 ((fst happy_var_1, (snd happy_var_1)) )} -happyReduce_104 = happySpecReduce_3 23# happyReduction_104 -happyReduction_104 happy_x_3 +happyReduce_106 = happySpecReduce_3 23# happyReduction_106 +happyReduction_106 happy_x_3 happy_x_2 happy_x_1 = case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) -> @@ -1235,15 +1252,15 @@ happyReduction_104 happy_x_3 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeAnd (fst happy_var_1) (snd happy_var_1) (snd happy_var_3)) )}} -happyReduce_105 = happySpecReduce_1 23# happyReduction_105 -happyReduction_105 happy_x_1 +happyReduce_107 = happySpecReduce_1 23# happyReduction_107 +happyReduction_107 happy_x_1 = case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) -> happyIn52 ((fst happy_var_1, (snd happy_var_1)) )} -happyReduce_106 = happySpecReduce_3 24# happyReduction_106 -happyReduction_106 happy_x_3 +happyReduce_108 = happySpecReduce_3 24# happyReduction_108 +happyReduction_108 happy_x_3 happy_x_2 happy_x_1 = case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> @@ -1252,15 +1269,15 @@ happyReduction_106 happy_x_3 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeOr (fst happy_var_1) (snd happy_var_1) (snd happy_var_3)) )}} -happyReduce_107 = happySpecReduce_1 24# happyReduction_107 -happyReduction_107 happy_x_1 +happyReduce_109 = happySpecReduce_1 24# happyReduction_109 +happyReduction_109 happy_x_1 = case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> happyIn53 ((fst happy_var_1, (snd happy_var_1)) )} -happyReduce_108 = happySpecReduce_3 25# happyReduction_108 -happyReduction_108 happy_x_3 +happyReduce_110 = happySpecReduce_3 25# happyReduction_110 +happyReduction_110 happy_x_3 happy_x_2 happy_x_1 = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) -> @@ -1269,8 +1286,8 @@ happyReduction_108 happy_x_3 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeFun (fst happy_var_1) (snd happy_var_1) (snd happy_var_3)) )}} -happyReduce_109 = happyReduce 8# 25# happyReduction_109 -happyReduction_109 (happy_x_8 `HappyStk` +happyReduce_111 = happyReduce 8# 25# happyReduction_111 +happyReduction_111 (happy_x_8 `HappyStk` happy_x_7 `HappyStk` happy_x_6 `HappyStk` happy_x_5 `HappyStk` @@ -1287,8 +1304,15 @@ happyReduction_109 (happy_x_8 `HappyStk` ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TypeSigma (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8)) ) `HappyStk` happyRest}}}} -happyReduce_110 = happyReduce 5# 25# happyReduction_110 -happyReduction_110 (happy_x_5 `HappyStk` +happyReduce_112 = happySpecReduce_1 25# happyReduction_112 +happyReduction_112 happy_x_1 + = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn54 + ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TypeUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1))) + )} + +happyReduce_113 = happyReduce 5# 25# happyReduction_113 +happyReduction_113 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` @@ -1301,8 +1325,8 @@ happyReduction_110 (happy_x_5 `HappyStk` ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeId (fst happy_var_1) (snd happy_var_1) (snd happy_var_3) (snd happy_var_5)) ) `HappyStk` happyRest}}} -happyReduce_111 = happySpecReduce_3 25# happyReduction_111 -happyReduction_111 happy_x_3 +happyReduce_114 = happySpecReduce_3 25# happyReduction_114 +happyReduction_114 happy_x_3 happy_x_2 happy_x_1 = case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) -> @@ -1311,8 +1335,8 @@ happyReduction_111 happy_x_3 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeIdSimple (fst happy_var_1) (snd happy_var_1) (snd happy_var_3)) )}} -happyReduce_112 = happyReduce 4# 25# happyReduction_112 -happyReduction_112 (happy_x_4 `HappyStk` +happyReduce_115 = happyReduce 4# 25# happyReduction_115 +happyReduction_115 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` @@ -1324,15 +1348,15 @@ happyReduction_112 (happy_x_4 `HappyStk` ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Lambda (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4)) ) `HappyStk` happyRest}}} -happyReduce_113 = happySpecReduce_1 25# happyReduction_113 -happyReduction_113 happy_x_1 +happyReduce_116 = happySpecReduce_1 25# happyReduction_116 +happyReduction_116 happy_x_1 = case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) -> happyIn54 ((fst happy_var_1, (snd happy_var_1)) )} -happyReduce_114 = happySpecReduce_3 25# happyReduction_114 -happyReduction_114 happy_x_3 +happyReduce_117 = happySpecReduce_3 25# happyReduction_117 +happyReduction_117 happy_x_3 happy_x_2 happy_x_1 = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) -> @@ -1341,8 +1365,8 @@ happyReduction_114 happy_x_3 ((fst happy_var_1, Language.Rzk.Syntax.Abs.unicode_TypeFun (fst happy_var_1) (snd happy_var_1) (snd happy_var_3)) )}} -happyReduce_115 = happyReduce 8# 25# happyReduction_115 -happyReduction_115 (happy_x_8 `HappyStk` +happyReduce_118 = happyReduce 8# 25# happyReduction_118 +happyReduction_118 (happy_x_8 `HappyStk` happy_x_7 `HappyStk` happy_x_6 `HappyStk` happy_x_5 `HappyStk` @@ -1359,8 +1383,8 @@ happyReduction_115 (happy_x_8 `HappyStk` ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.unicode_TypeSigma (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8)) ) `HappyStk` happyRest}}}} -happyReduce_116 = happyReduce 8# 25# happyReduction_116 -happyReduction_116 (happy_x_8 `HappyStk` +happyReduce_119 = happyReduce 8# 25# happyReduction_119 +happyReduction_119 (happy_x_8 `HappyStk` happy_x_7 `HappyStk` happy_x_6 `HappyStk` happy_x_5 `HappyStk` @@ -1377,8 +1401,8 @@ happyReduction_116 (happy_x_8 `HappyStk` ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.unicode_TypeSigmaAlt (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8)) ) `HappyStk` happyRest}}}} -happyReduce_117 = happyReduce 4# 26# happyReduction_117 -happyReduction_117 (happy_x_4 `HappyStk` +happyReduce_120 = happyReduce 4# 26# happyReduction_120 +happyReduction_120 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` @@ -1389,8 +1413,8 @@ happyReduction_117 (happy_x_4 `HappyStk` ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeRestricted (fst happy_var_1) (snd happy_var_1) (snd happy_var_3)) ) `HappyStk` happyRest}} -happyReduce_118 = happySpecReduce_2 26# happyReduction_118 -happyReduction_118 happy_x_2 +happyReduce_121 = happySpecReduce_2 26# happyReduction_121 +happyReduction_121 happy_x_2 happy_x_1 = case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) -> case happyOut49 happy_x_2 of { (HappyWrap49 happy_var_2) -> @@ -1398,8 +1422,8 @@ happyReduction_118 happy_x_2 ((fst happy_var_1, Language.Rzk.Syntax.Abs.App (fst happy_var_1) (snd happy_var_1) (snd happy_var_2)) )}} -happyReduce_119 = happySpecReduce_2 26# happyReduction_119 -happyReduction_119 happy_x_2 +happyReduce_122 = happySpecReduce_2 26# happyReduction_122 +happyReduction_122 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { happy_var_1 -> case happyOut49 happy_x_2 of { (HappyWrap49 happy_var_2) -> @@ -1407,8 +1431,8 @@ happyReduction_119 happy_x_2 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.First (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2)) )}} -happyReduce_120 = happySpecReduce_2 26# happyReduction_120 -happyReduction_120 happy_x_2 +happyReduce_123 = happySpecReduce_2 26# happyReduction_123 +happyReduction_123 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { happy_var_1 -> case happyOut49 happy_x_2 of { (HappyWrap49 happy_var_2) -> @@ -1416,15 +1440,15 @@ happyReduction_120 happy_x_2 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Second (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2)) )}} -happyReduce_121 = happySpecReduce_1 26# happyReduction_121 -happyReduction_121 happy_x_1 +happyReduce_124 = happySpecReduce_1 26# happyReduction_124 +happyReduction_124 happy_x_1 = case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) -> happyIn55 ((fst happy_var_1, (snd happy_var_1)) )} -happyReduce_122 = happySpecReduce_3 27# happyReduction_122 -happyReduction_122 happy_x_3 +happyReduce_125 = happySpecReduce_3 27# happyReduction_125 +happyReduction_125 happy_x_3 happy_x_2 happy_x_1 = case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) -> @@ -1433,22 +1457,22 @@ happyReduction_122 happy_x_3 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeAsc (fst happy_var_1) (snd happy_var_1) (snd happy_var_3)) )}} -happyReduce_123 = happySpecReduce_1 27# happyReduction_123 -happyReduction_123 happy_x_1 +happyReduce_126 = happySpecReduce_1 27# happyReduction_126 +happyReduction_126 happy_x_1 = case happyOut54 happy_x_1 of { (HappyWrap54 happy_var_1) -> happyIn56 ((fst happy_var_1, (snd happy_var_1)) )} -happyReduce_124 = happySpecReduce_1 28# happyReduction_124 -happyReduction_124 happy_x_1 +happyReduce_127 = happySpecReduce_1 28# happyReduction_127 +happyReduction_127 happy_x_1 = case happyOut56 happy_x_1 of { (HappyWrap56 happy_var_1) -> happyIn57 ((fst happy_var_1, (:[]) (snd happy_var_1)) )} -happyReduce_125 = happySpecReduce_3 28# happyReduction_125 -happyReduction_125 happy_x_3 +happyReduce_128 = happySpecReduce_3 28# happyReduction_128 +happyReduction_128 happy_x_3 happy_x_2 happy_x_1 = case happyOut56 happy_x_1 of { (HappyWrap56 happy_var_1) -> @@ -1458,7 +1482,7 @@ happyReduction_125 happy_x_3 )}} happyNewToken action sts stk [] = - happyDoAction 67# notHappyAtAll action sts stk [] + happyDoAction 69# notHappyAtAll action sts stk [] happyNewToken action sts stk (tk:tks) = let cont i = happyDoAction i tk action sts stk tks in @@ -1526,13 +1550,15 @@ happyNewToken action sts stk (tk:tks) = PT _ (TS _ 61) -> cont 61#; PT _ (TS _ 62) -> cont 62#; PT _ (TS _ 63) -> cont 63#; - PT _ (TL _) -> cont 64#; - PT _ (T_VarIdentToken _) -> cont 65#; - PT _ (T_HoleIdentToken _) -> cont 66#; + PT _ (TS _ 64) -> cont 64#; + PT _ (TS _ 65) -> cont 65#; + PT _ (TL _) -> cont 66#; + PT _ (T_VarIdentToken _) -> cont 67#; + PT _ (T_HoleIdentToken _) -> cont 68#; _ -> happyError' ((tk:tks), []) } -happyError_ explist 67# tk tks = happyError' (tks, explist) +happyError_ explist 69# tk tks = happyError' (tks, explist) happyError_ explist _ tk tks = happyError' ((tk:tks), explist) happyThen :: () => Err a -> (a -> Err b) -> Err b diff --git a/rzk/src/Language/Rzk/Syntax/Par.info b/rzk/src/Language/Rzk/Syntax/Par.info index c3e70c696..e30272c7f 100644 --- a/rzk/src/Language/Rzk/Syntax/Par.info +++ b/rzk/src/Language/Rzk/Syntax/Par.info @@ -65,73 +65,76 @@ Grammar SectionName -> (56) SectionName -> VarIdent (57) Pattern -> '_' (58) - Pattern -> VarIdent (59) - Pattern -> '(' Pattern ',' Pattern ')' (60) - ListPattern -> Pattern (61) - ListPattern -> Pattern ListPattern (62) - Param -> Pattern (63) - Param -> '(' ListPattern ':' Term ')' (64) - Param -> '{' Pattern ':' Term '|' Term '}' (65) - ListParam -> Param (66) - ListParam -> Param ListParam (67) - ParamDecl -> Term6 (68) - ParamDecl -> '(' '_' ':' Term ')' (69) - ParamDecl -> '{' Pattern ':' Term '}' (70) - ParamDecl -> '(' VarIdent ':' Term ')' (71) - ParamDecl -> '{' '(' Pattern ':' Term ')' '|' Term '}' (72) - ParamDecl -> '{' Pattern ':' Term '|' Term '}' (73) - Restriction -> Term '|->' Term (74) - ListRestriction -> Restriction (75) - ListRestriction -> Restriction ',' ListRestriction (76) - Term7 -> 'U' (77) - Term7 -> 'CUBE' (78) - Term7 -> 'TOPE' (79) - Term7 -> '1' (80) - Term7 -> '*_1' (81) - Term7 -> '2' (82) - Term7 -> '0_2' (83) - Term7 -> '1_2' (84) - Term7 -> 'TOP' (85) - Term7 -> 'BOT' (86) - Term7 -> 'recBOT' (87) - Term7 -> 'recOR' '(' ListRestriction ')' (88) - Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' Term ')' (89) - Term7 -> '<' ParamDecl '->' Term '>' (90) - Term7 -> '(' Term ',' Term ')' (91) - Term7 -> 'refl' (92) - Term7 -> 'refl_{' Term '}' (93) - Term7 -> 'refl_{' Term ':' Term '}' (94) - Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' (95) - Term7 -> HoleIdent (96) - Term7 -> VarIdent (97) - Term7 -> '(' Term ')' (98) - Term5 -> Term5 '*' Term6 (99) - Term5 -> Term6 (100) - Term4 -> Term5 '===' Term5 (101) - Term4 -> Term5 '<=' Term5 (102) - Term4 -> Term5 (103) - Term3 -> Term4 '/\\' Term3 (104) - Term3 -> Term4 (105) - Term2 -> Term3 '\\/' Term2 (106) - Term2 -> Term3 (107) - Term1 -> ParamDecl '->' Term1 (108) - Term1 -> 'Sigma' '(' Pattern ':' Term ')' ',' Term1 (109) - Term1 -> Term2 '=_{' Term '}' Term2 (110) - Term1 -> Term2 '=' Term2 (111) - Term1 -> '\\' ListParam '->' Term1 (112) - Term1 -> Term2 (113) - Term1 -> ParamDecl '→' Term1 (114) - Term1 -> 'Σ' '(' Pattern ':' Term ')' ',' Term1 (115) - Term1 -> '∑' '(' Pattern ':' Term ')' ',' Term1 (116) - Term6 -> Term6 '[' ListRestriction ']' (117) - Term6 -> Term6 Term7 (118) - Term6 -> 'first' Term7 (119) - Term6 -> 'second' Term7 (120) - Term6 -> Term7 (121) - Term -> Term2 'as' Term1 (122) - Term -> Term1 (123) - ListTerm -> Term (124) - ListTerm -> Term ',' ListTerm (125) + Pattern -> 'unit' (59) + Pattern -> VarIdent (60) + Pattern -> '(' Pattern ',' Pattern ')' (61) + ListPattern -> Pattern (62) + ListPattern -> Pattern ListPattern (63) + Param -> Pattern (64) + Param -> '(' ListPattern ':' Term ')' (65) + Param -> '{' Pattern ':' Term '|' Term '}' (66) + ListParam -> Param (67) + ListParam -> Param ListParam (68) + ParamDecl -> Term6 (69) + ParamDecl -> '(' '_' ':' Term ')' (70) + ParamDecl -> '{' Pattern ':' Term '}' (71) + ParamDecl -> '(' VarIdent ':' Term ')' (72) + ParamDecl -> '{' '(' Pattern ':' Term ')' '|' Term '}' (73) + ParamDecl -> '{' Pattern ':' Term '|' Term '}' (74) + Restriction -> Term '|->' Term (75) + ListRestriction -> Restriction (76) + ListRestriction -> Restriction ',' ListRestriction (77) + Term7 -> 'U' (78) + Term7 -> 'CUBE' (79) + Term7 -> 'TOPE' (80) + Term7 -> '1' (81) + Term7 -> '*_1' (82) + Term7 -> '2' (83) + Term7 -> '0_2' (84) + Term7 -> '1_2' (85) + Term7 -> 'TOP' (86) + Term7 -> 'BOT' (87) + Term7 -> 'recBOT' (88) + Term7 -> 'recOR' '(' ListRestriction ')' (89) + Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' Term ')' (90) + Term7 -> '<' ParamDecl '->' Term '>' (91) + Term7 -> '(' Term ',' Term ')' (92) + Term7 -> 'unit' (93) + Term7 -> 'refl' (94) + Term7 -> 'refl_{' Term '}' (95) + Term7 -> 'refl_{' Term ':' Term '}' (96) + Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' (97) + Term7 -> HoleIdent (98) + Term7 -> VarIdent (99) + Term7 -> '(' Term ')' (100) + Term5 -> Term5 '*' Term6 (101) + Term5 -> Term6 (102) + Term4 -> Term5 '===' Term5 (103) + Term4 -> Term5 '<=' Term5 (104) + Term4 -> Term5 (105) + Term3 -> Term4 '/\\' Term3 (106) + Term3 -> Term4 (107) + Term2 -> Term3 '\\/' Term2 (108) + Term2 -> Term3 (109) + Term1 -> ParamDecl '->' Term1 (110) + Term1 -> 'Sigma' '(' Pattern ':' Term ')' ',' Term1 (111) + Term1 -> 'Unit' (112) + Term1 -> Term2 '=_{' Term '}' Term2 (113) + Term1 -> Term2 '=' Term2 (114) + Term1 -> '\\' ListParam '->' Term1 (115) + Term1 -> Term2 (116) + Term1 -> ParamDecl '→' Term1 (117) + Term1 -> 'Σ' '(' Pattern ':' Term ')' ',' Term1 (118) + Term1 -> '∑' '(' Pattern ':' Term ')' ',' Term1 (119) + Term6 -> Term6 '[' ListRestriction ']' (120) + Term6 -> Term6 Term7 (121) + Term6 -> 'first' Term7 (122) + Term6 -> 'second' Term7 (123) + Term6 -> Term7 (124) + Term -> Term2 'as' Term1 (125) + Term -> Term1 (126) + ListTerm -> Term (127) + ListTerm -> Term ',' ListTerm (128) ----------------------------------------------------------------------------- Terminals @@ -177,28 +180,30 @@ Terminals 'TOP' { PT _ (TS _ 39) } 'TOPE' { PT _ (TS _ 40) } 'U' { PT _ (TS _ 41) } - '[' { PT _ (TS _ 42) } - '\\' { PT _ (TS _ 43) } - '\\/' { PT _ (TS _ 44) } - ']' { PT _ (TS _ 45) } - '_' { PT _ (TS _ 46) } - 'as' { PT _ (TS _ 47) } - 'first' { PT _ (TS _ 48) } - 'idJ' { PT _ (TS _ 49) } - 'recBOT' { PT _ (TS _ 50) } - 'recOR' { PT _ (TS _ 51) } - 'refl' { PT _ (TS _ 52) } - 'refl_{' { PT _ (TS _ 53) } - 'rzk-1' { PT _ (TS _ 54) } - 'second' { PT _ (TS _ 55) } - 'uses' { PT _ (TS _ 56) } - '{' { PT _ (TS _ 57) } - '|' { PT _ (TS _ 58) } - '|->' { PT _ (TS _ 59) } - '}' { PT _ (TS _ 60) } - 'Σ' { PT _ (TS _ 61) } - '→' { PT _ (TS _ 62) } - '∑' { PT _ (TS _ 63) } + 'Unit' { PT _ (TS _ 42) } + '[' { PT _ (TS _ 43) } + '\\' { PT _ (TS _ 44) } + '\\/' { PT _ (TS _ 45) } + ']' { PT _ (TS _ 46) } + '_' { PT _ (TS _ 47) } + 'as' { PT _ (TS _ 48) } + 'first' { PT _ (TS _ 49) } + 'idJ' { PT _ (TS _ 50) } + 'recBOT' { PT _ (TS _ 51) } + 'recOR' { PT _ (TS _ 52) } + 'refl' { PT _ (TS _ 53) } + 'refl_{' { PT _ (TS _ 54) } + 'rzk-1' { PT _ (TS _ 55) } + 'second' { PT _ (TS _ 56) } + 'unit' { PT _ (TS _ 57) } + 'uses' { PT _ (TS _ 58) } + '{' { PT _ (TS _ 59) } + '|' { PT _ (TS _ 60) } + '|->' { PT _ (TS _ 61) } + '}' { PT _ (TS _ 62) } + 'Σ' { PT _ (TS _ 63) } + '→' { PT _ (TS _ 64) } + '∑' { PT _ (TS _ 65) } L_quoted { PT _ (TL _) } L_VarIdentToken{ PT _ (T_VarIdentToken _) } L_HoleIdentToken{ PT _ (T_HoleIdentToken _) } @@ -245,22 +250,22 @@ Non-terminals ListCommand rules 52, 53 DeclUsedVars rules 54, 55 SectionName rules 56, 57 - Pattern rules 58, 59, 60 - ListPattern rules 61, 62 - Param rules 63, 64, 65 - ListParam rules 66, 67 - ParamDecl rules 68, 69, 70, 71, 72, 73 - Restriction rule 74 - ListRestriction rules 75, 76 - Term7 rules 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98 - Term5 rules 99, 100 - Term4 rules 101, 102, 103 - Term3 rules 104, 105 - Term2 rules 106, 107 - Term1 rules 108, 109, 110, 111, 112, 113, 114, 115, 116 - Term6 rules 117, 118, 119, 120, 121 - Term rules 122, 123 - ListTerm rules 124, 125 + Pattern rules 58, 59, 60, 61 + ListPattern rules 62, 63 + Param rules 64, 65, 66 + ListParam rules 67, 68 + ParamDecl rules 69, 70, 71, 72, 73, 74 + Restriction rule 75 + ListRestriction rules 76, 77 + Term7 rules 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100 + Term5 rules 101, 102 + Term4 rules 103, 104, 105 + Term3 rules 106, 107 + Term2 rules 108, 109 + Term1 rules 110, 111, 112, 113, 114, 115, 116, 117, 118, 119 + Term6 rules 120, 121, 122, 123, 124 + Term rules 125, 126 + ListTerm rules 127, 128 ----------------------------------------------------------------------------- States @@ -269,170 +274,174 @@ State 0 %start_pModule_internal -> . Module (rule 0) - '#lang' shift, and enter state 120 + '#lang' shift, and enter state 123 - Module goto state 125 - LanguageDecl goto state 126 + Module goto state 128 + LanguageDecl goto state 129 State 1 %start_pHoleIdent_internal -> . HoleIdent (rule 1) - L_HoleIdentTokenshift, and enter state 67 + L_HoleIdentTokenshift, and enter state 69 HoleIdentToken goto state 29 - HoleIdent goto state 124 + HoleIdent goto state 127 State 2 %start_pVarIdent_internal -> . VarIdent (rule 2) - L_VarIdentTokenshift, and enter state 66 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 123 + VarIdent goto state 126 State 3 %start_pListVarIdent_internal -> . ListVarIdent (rule 3) - L_VarIdentTokenshift, and enter state 66 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 121 - ListVarIdent goto state 122 + VarIdent goto state 124 + ListVarIdent goto state 125 State 4 %start_pLanguageDecl_internal -> . LanguageDecl (rule 4) - '#lang' shift, and enter state 120 + '#lang' shift, and enter state 123 - LanguageDecl goto state 119 + LanguageDecl goto state 122 State 5 %start_pLanguage_internal -> . Language (rule 5) - 'rzk-1' shift, and enter state 118 + 'rzk-1' shift, and enter state 121 - Language goto state 117 + Language goto state 120 State 6 %start_pCommand_internal -> . Command (rule 6) - '#assume' shift, and enter state 103 - '#check' shift, and enter state 104 - '#compute' shift, and enter state 105 - '#compute-nf' shift, and enter state 106 - '#compute-whnf'shift, and enter state 107 - '#def' shift, and enter state 108 - '#define' shift, and enter state 109 - '#postulate' shift, and enter state 110 - '#section' shift, and enter state 111 - '#set-option' shift, and enter state 112 - '#unset-option'shift, and enter state 113 - '#variable' shift, and enter state 114 - '#variables' shift, and enter state 115 - - Command goto state 116 + '#assume' shift, and enter state 106 + '#check' shift, and enter state 107 + '#compute' shift, and enter state 108 + '#compute-nf' shift, and enter state 109 + '#compute-whnf'shift, and enter state 110 + '#def' shift, and enter state 111 + '#define' shift, and enter state 112 + '#postulate' shift, and enter state 113 + '#section' shift, and enter state 114 + '#set-option' shift, and enter state 115 + '#unset-option'shift, and enter state 116 + '#variable' shift, and enter state 117 + '#variables' shift, and enter state 118 + + Command goto state 119 State 7 %start_pListCommand_internal -> . ListCommand (rule 7) - '#assume' shift, and enter state 103 - '#check' shift, and enter state 104 - '#compute' shift, and enter state 105 - '#compute-nf' shift, and enter state 106 - '#compute-whnf'shift, and enter state 107 - '#def' shift, and enter state 108 - '#define' shift, and enter state 109 - '#postulate' shift, and enter state 110 - '#section' shift, and enter state 111 - '#set-option' shift, and enter state 112 - '#unset-option'shift, and enter state 113 - '#variable' shift, and enter state 114 - '#variables' shift, and enter state 115 + '#assume' shift, and enter state 106 + '#check' shift, and enter state 107 + '#compute' shift, and enter state 108 + '#compute-nf' shift, and enter state 109 + '#compute-whnf'shift, and enter state 110 + '#def' shift, and enter state 111 + '#define' shift, and enter state 112 + '#postulate' shift, and enter state 113 + '#section' shift, and enter state 114 + '#set-option' shift, and enter state 115 + '#unset-option'shift, and enter state 116 + '#variable' shift, and enter state 117 + '#variables' shift, and enter state 118 %eof reduce using rule 52 - Command goto state 101 - ListCommand goto state 102 + Command goto state 104 + ListCommand goto state 105 State 8 %start_pDeclUsedVars_internal -> . DeclUsedVars (rule 8) - 'uses' shift, and enter state 100 + 'uses' shift, and enter state 103 %eof reduce using rule 55 - DeclUsedVars goto state 99 + DeclUsedVars goto state 102 State 9 %start_pSectionName_internal -> . SectionName (rule 9) - L_VarIdentTokenshift, and enter state 66 + L_VarIdentTokenshift, and enter state 68 %eof reduce using rule 56 VarIdentToken goto state 28 - VarIdent goto state 97 - SectionName goto state 98 + VarIdent goto state 100 + SectionName goto state 101 State 10 %start_pPattern_internal -> . Pattern (rule 10) - '(' shift, and enter state 95 - '_' shift, and enter state 90 - L_VarIdentTokenshift, and enter state 66 + '(' shift, and enter state 98 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 96 + VarIdent goto state 87 + Pattern goto state 99 State 11 %start_pListPattern_internal -> . ListPattern (rule 11) - '(' shift, and enter state 95 - '_' shift, and enter state 90 - L_VarIdentTokenshift, and enter state 66 + '(' shift, and enter state 98 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 93 - ListPattern goto state 94 + VarIdent goto state 87 + Pattern goto state 96 + ListPattern goto state 97 State 12 %start_pParam_internal -> . Param (rule 12) - '(' shift, and enter state 89 - '_' shift, and enter state 90 - '{' shift, and enter state 91 - L_VarIdentTokenshift, and enter state 66 + '(' shift, and enter state 91 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + '{' shift, and enter state 94 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 86 - Param goto state 92 + VarIdent goto state 87 + Pattern goto state 88 + Param goto state 95 State 13 %start_pListParam_internal -> . ListParam (rule 13) - '(' shift, and enter state 89 - '_' shift, and enter state 90 - '{' shift, and enter state 91 - L_VarIdentTokenshift, and enter state 66 + '(' shift, and enter state 91 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + '{' shift, and enter state 94 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 86 - Param goto state 87 - ListParam goto state 88 + VarIdent goto state 87 + Pattern goto state 88 + Param goto state 89 + ListParam goto state 90 State 14 @@ -450,24 +459,25 @@ State 14 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 VarIdent goto state 31 - ParamDecl goto state 83 + ParamDecl goto state 85 Term7 goto state 33 - Term6 goto state 84 + Term6 goto state 86 State 15 @@ -486,26 +496,28 @@ State 15 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 VarIdent goto state 31 ParamDecl goto state 32 - Restriction goto state 82 + Restriction goto state 84 Term7 goto state 33 Term5 goto state 34 Term4 goto state 35 @@ -513,7 +525,7 @@ State 15 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 81 + Term goto state 83 State 16 @@ -532,27 +544,29 @@ State 16 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 VarIdent goto state 31 ParamDecl goto state 32 - Restriction goto state 79 - ListRestrictiongoto state 80 + Restriction goto state 81 + ListRestrictiongoto state 82 Term7 goto state 33 Term5 goto state 34 Term4 goto state 35 @@ -560,13 +574,13 @@ State 16 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 81 + Term goto state 83 State 17 %start_pTerm7_internal -> . Term7 (rule 17) - '(' shift, and enter state 70 + '(' shift, and enter state 72 '*_1' shift, and enter state 43 '0_2' shift, and enter state 44 '1' shift, and enter state 45 @@ -578,25 +592,26 @@ State 17 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'unit' shift, and enter state 64 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 VarIdent goto state 31 - Term7 goto state 78 + Term7 goto state 80 State 18 %start_pTerm5_internal -> . Term5 (rule 18) - '(' shift, and enter state 70 + '(' shift, and enter state 72 '*_1' shift, and enter state 43 '0_2' shift, and enter state 44 '1' shift, and enter state 45 @@ -608,29 +623,30 @@ State 18 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 VarIdent goto state 31 Term7 goto state 33 - Term5 goto state 77 - Term6 goto state 74 + Term5 goto state 79 + Term6 goto state 76 State 19 %start_pTerm4_internal -> . Term4 (rule 19) - '(' shift, and enter state 70 + '(' shift, and enter state 72 '*_1' shift, and enter state 43 '0_2' shift, and enter state 44 '1' shift, and enter state 45 @@ -642,15 +658,16 @@ State 19 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -658,14 +675,14 @@ State 19 VarIdent goto state 31 Term7 goto state 33 Term5 goto state 34 - Term4 goto state 76 - Term6 goto state 74 + Term4 goto state 78 + Term6 goto state 76 State 20 %start_pTerm3_internal -> . Term3 (rule 20) - '(' shift, and enter state 70 + '(' shift, and enter state 72 '*_1' shift, and enter state 43 '0_2' shift, and enter state 44 '1' shift, and enter state 45 @@ -677,15 +694,16 @@ State 20 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -694,14 +712,14 @@ State 20 Term7 goto state 33 Term5 goto state 34 Term4 goto state 35 - Term3 goto state 75 - Term6 goto state 74 + Term3 goto state 77 + Term6 goto state 76 State 21 %start_pTerm2_internal -> . Term2 (rule 21) - '(' shift, and enter state 70 + '(' shift, and enter state 72 '*_1' shift, and enter state 43 '0_2' shift, and enter state 44 '1' shift, and enter state 45 @@ -713,15 +731,16 @@ State 21 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -731,8 +750,8 @@ State 21 Term5 goto state 34 Term4 goto state 35 Term3 goto state 36 - Term2 goto state 73 - Term6 goto state 74 + Term2 goto state 75 + Term6 goto state 76 State 22 @@ -751,19 +770,21 @@ State 22 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -774,15 +795,15 @@ State 22 Term5 goto state 34 Term4 goto state 35 Term3 goto state 36 - Term2 goto state 71 - Term1 goto state 72 + Term2 goto state 73 + Term1 goto state 74 Term6 goto state 39 State 23 %start_pTerm6_internal -> . Term6 (rule 23) - '(' shift, and enter state 70 + '(' shift, and enter state 72 '*_1' shift, and enter state 43 '0_2' shift, and enter state 44 '1' shift, and enter state 45 @@ -794,22 +815,23 @@ State 23 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 VarIdent goto state 31 Term7 goto state 33 - Term6 goto state 69 + Term6 goto state 71 State 24 @@ -828,19 +850,21 @@ State 24 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -854,7 +878,7 @@ State 24 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 68 + Term goto state 70 State 25 @@ -873,19 +897,21 @@ State 25 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -957,6 +983,7 @@ State 28 'recOR' reduce using rule 31 'refl' reduce using rule 31 'refl_{' reduce using rule 31 + 'unit' reduce using rule 31 'uses' reduce using rule 31 '{' reduce using rule 31 '|' reduce using rule 31 @@ -1006,6 +1033,7 @@ State 29 'recOR' reduce using rule 30 'refl' reduce using rule 30 'refl_{' reduce using rule 30 + 'unit' reduce using rule 30 '|' reduce using rule 30 '|->' reduce using rule 30 '}' reduce using rule 30 @@ -1017,194 +1045,174 @@ State 29 State 30 - Term7 -> HoleIdent . (rule 96) + Term7 -> HoleIdent . (rule 98) - '(' reduce using rule 96 - ')' reduce using rule 96 - '*' reduce using rule 96 - '*_1' reduce using rule 96 - ',' reduce using rule 96 - '->' reduce using rule 96 - '/\\' reduce using rule 96 - '0_2' reduce using rule 96 - '1' reduce using rule 96 - '1_2' reduce using rule 96 - '2' reduce using rule 96 - ':' reduce using rule 96 - ':=' reduce using rule 96 - ';' reduce using rule 96 - '<' reduce using rule 96 - '<=' reduce using rule 96 - '=' reduce using rule 96 - '===' reduce using rule 96 - '=_{' reduce using rule 96 - '>' reduce using rule 96 - 'BOT' reduce using rule 96 - 'CUBE' reduce using rule 96 - 'TOP' reduce using rule 96 - 'TOPE' reduce using rule 96 - 'U' reduce using rule 96 - '[' reduce using rule 96 - '\\/' reduce using rule 96 - ']' reduce using rule 96 - 'as' reduce using rule 96 - 'idJ' reduce using rule 96 - 'recBOT' reduce using rule 96 - 'recOR' reduce using rule 96 - 'refl' reduce using rule 96 - 'refl_{' reduce using rule 96 - '|' reduce using rule 96 - '|->' reduce using rule 96 - '}' reduce using rule 96 - '→' reduce using rule 96 - L_VarIdentTokenreduce using rule 96 - L_HoleIdentTokenreduce using rule 96 - %eof reduce using rule 96 + '(' reduce using rule 98 + ')' reduce using rule 98 + '*' reduce using rule 98 + '*_1' reduce using rule 98 + ',' reduce using rule 98 + '->' reduce using rule 98 + '/\\' reduce using rule 98 + '0_2' reduce using rule 98 + '1' reduce using rule 98 + '1_2' reduce using rule 98 + '2' reduce using rule 98 + ':' reduce using rule 98 + ':=' reduce using rule 98 + ';' reduce using rule 98 + '<' reduce using rule 98 + '<=' reduce using rule 98 + '=' reduce using rule 98 + '===' reduce using rule 98 + '=_{' reduce using rule 98 + '>' reduce using rule 98 + 'BOT' reduce using rule 98 + 'CUBE' reduce using rule 98 + 'TOP' reduce using rule 98 + 'TOPE' reduce using rule 98 + 'U' reduce using rule 98 + '[' reduce using rule 98 + '\\/' reduce using rule 98 + ']' reduce using rule 98 + 'as' reduce using rule 98 + 'idJ' reduce using rule 98 + 'recBOT' reduce using rule 98 + 'recOR' reduce using rule 98 + 'refl' reduce using rule 98 + 'refl_{' reduce using rule 98 + 'unit' reduce using rule 98 + '|' reduce using rule 98 + '|->' reduce using rule 98 + '}' reduce using rule 98 + '→' reduce using rule 98 + L_VarIdentTokenreduce using rule 98 + L_HoleIdentTokenreduce using rule 98 + %eof reduce using rule 98 State 31 - Term7 -> VarIdent . (rule 97) + Term7 -> VarIdent . (rule 99) - '(' reduce using rule 97 - ')' reduce using rule 97 - '*' reduce using rule 97 - '*_1' reduce using rule 97 - ',' reduce using rule 97 - '->' reduce using rule 97 - '/\\' reduce using rule 97 - '0_2' reduce using rule 97 - '1' reduce using rule 97 - '1_2' reduce using rule 97 - '2' reduce using rule 97 - ':' reduce using rule 97 - ':=' reduce using rule 97 - ';' reduce using rule 97 - '<' reduce using rule 97 - '<=' reduce using rule 97 - '=' reduce using rule 97 - '===' reduce using rule 97 - '=_{' reduce using rule 97 - '>' reduce using rule 97 - 'BOT' reduce using rule 97 - 'CUBE' reduce using rule 97 - 'TOP' reduce using rule 97 - 'TOPE' reduce using rule 97 - 'U' reduce using rule 97 - '[' reduce using rule 97 - '\\/' reduce using rule 97 - ']' reduce using rule 97 - 'as' reduce using rule 97 - 'idJ' reduce using rule 97 - 'recBOT' reduce using rule 97 - 'recOR' reduce using rule 97 - 'refl' reduce using rule 97 - 'refl_{' reduce using rule 97 - '|' reduce using rule 97 - '|->' reduce using rule 97 - '}' reduce using rule 97 - '→' reduce using rule 97 - L_VarIdentTokenreduce using rule 97 - L_HoleIdentTokenreduce using rule 97 - %eof reduce using rule 97 + '(' reduce using rule 99 + ')' reduce using rule 99 + '*' reduce using rule 99 + '*_1' reduce using rule 99 + ',' reduce using rule 99 + '->' reduce using rule 99 + '/\\' reduce using rule 99 + '0_2' reduce using rule 99 + '1' reduce using rule 99 + '1_2' reduce using rule 99 + '2' reduce using rule 99 + ':' reduce using rule 99 + ':=' reduce using rule 99 + ';' reduce using rule 99 + '<' reduce using rule 99 + '<=' reduce using rule 99 + '=' reduce using rule 99 + '===' reduce using rule 99 + '=_{' reduce using rule 99 + '>' reduce using rule 99 + 'BOT' reduce using rule 99 + 'CUBE' reduce using rule 99 + 'TOP' reduce using rule 99 + 'TOPE' reduce using rule 99 + 'U' reduce using rule 99 + '[' reduce using rule 99 + '\\/' reduce using rule 99 + ']' reduce using rule 99 + 'as' reduce using rule 99 + 'idJ' reduce using rule 99 + 'recBOT' reduce using rule 99 + 'recOR' reduce using rule 99 + 'refl' reduce using rule 99 + 'refl_{' reduce using rule 99 + 'unit' reduce using rule 99 + '|' reduce using rule 99 + '|->' reduce using rule 99 + '}' reduce using rule 99 + '→' reduce using rule 99 + L_VarIdentTokenreduce using rule 99 + L_HoleIdentTokenreduce using rule 99 + %eof reduce using rule 99 State 32 - Term1 -> ParamDecl . '->' Term1 (rule 108) - Term1 -> ParamDecl . '→' Term1 (rule 114) + Term1 -> ParamDecl . '->' Term1 (rule 110) + Term1 -> ParamDecl . '→' Term1 (rule 117) - '->' shift, and enter state 179 - '→' shift, and enter state 180 + '->' shift, and enter state 182 + '→' shift, and enter state 183 State 33 - Term6 -> Term7 . (rule 121) - - '(' reduce using rule 121 - ')' reduce using rule 121 - '*' reduce using rule 121 - '*_1' reduce using rule 121 - ',' reduce using rule 121 - '->' reduce using rule 121 - '/\\' reduce using rule 121 - '0_2' reduce using rule 121 - '1' reduce using rule 121 - '1_2' reduce using rule 121 - '2' reduce using rule 121 - ':' reduce using rule 121 - ':=' reduce using rule 121 - ';' reduce using rule 121 - '<' reduce using rule 121 - '<=' reduce using rule 121 - '=' reduce using rule 121 - '===' reduce using rule 121 - '=_{' reduce using rule 121 - '>' reduce using rule 121 - 'BOT' reduce using rule 121 - 'CUBE' reduce using rule 121 - 'TOP' reduce using rule 121 - 'TOPE' reduce using rule 121 - 'U' reduce using rule 121 - '[' reduce using rule 121 - '\\/' reduce using rule 121 - ']' reduce using rule 121 - 'as' reduce using rule 121 - 'idJ' reduce using rule 121 - 'recBOT' reduce using rule 121 - 'recOR' reduce using rule 121 - 'refl' reduce using rule 121 - 'refl_{' reduce using rule 121 - '|' reduce using rule 121 - '|->' reduce using rule 121 - '}' reduce using rule 121 - '→' reduce using rule 121 - L_VarIdentTokenreduce using rule 121 - L_HoleIdentTokenreduce using rule 121 - %eof reduce using rule 121 + Term6 -> Term7 . (rule 124) + + '(' reduce using rule 124 + ')' reduce using rule 124 + '*' reduce using rule 124 + '*_1' reduce using rule 124 + ',' reduce using rule 124 + '->' reduce using rule 124 + '/\\' reduce using rule 124 + '0_2' reduce using rule 124 + '1' reduce using rule 124 + '1_2' reduce using rule 124 + '2' reduce using rule 124 + ':' reduce using rule 124 + ':=' reduce using rule 124 + ';' reduce using rule 124 + '<' reduce using rule 124 + '<=' reduce using rule 124 + '=' reduce using rule 124 + '===' reduce using rule 124 + '=_{' reduce using rule 124 + '>' reduce using rule 124 + 'BOT' reduce using rule 124 + 'CUBE' reduce using rule 124 + 'TOP' reduce using rule 124 + 'TOPE' reduce using rule 124 + 'U' reduce using rule 124 + '[' reduce using rule 124 + '\\/' reduce using rule 124 + ']' reduce using rule 124 + 'as' reduce using rule 124 + 'idJ' reduce using rule 124 + 'recBOT' reduce using rule 124 + 'recOR' reduce using rule 124 + 'refl' reduce using rule 124 + 'refl_{' reduce using rule 124 + 'unit' reduce using rule 124 + '|' reduce using rule 124 + '|->' reduce using rule 124 + '}' reduce using rule 124 + '→' reduce using rule 124 + L_VarIdentTokenreduce using rule 124 + L_HoleIdentTokenreduce using rule 124 + %eof reduce using rule 124 State 34 - Term5 -> Term5 . '*' Term6 (rule 99) - Term4 -> Term5 . '===' Term5 (rule 101) - Term4 -> Term5 . '<=' Term5 (rule 102) - Term4 -> Term5 . (rule 103) - - ')' reduce using rule 103 - '*' shift, and enter state 155 - ',' reduce using rule 103 - '/\\' reduce using rule 103 - ':' reduce using rule 103 - ':=' reduce using rule 103 - ';' reduce using rule 103 - '<=' shift, and enter state 177 - '=' reduce using rule 103 - '===' shift, and enter state 178 - '=_{' reduce using rule 103 - '>' reduce using rule 103 - '\\/' reduce using rule 103 - ']' reduce using rule 103 - 'as' reduce using rule 103 - '|' reduce using rule 103 - '|->' reduce using rule 103 - '}' reduce using rule 103 - %eof reduce using rule 103 - - -State 35 - - Term3 -> Term4 . '/\\' Term3 (rule 104) - Term3 -> Term4 . (rule 105) + Term5 -> Term5 . '*' Term6 (rule 101) + Term4 -> Term5 . '===' Term5 (rule 103) + Term4 -> Term5 . '<=' Term5 (rule 104) + Term4 -> Term5 . (rule 105) ')' reduce using rule 105 + '*' shift, and enter state 158 ',' reduce using rule 105 - '/\\' shift, and enter state 176 + '/\\' reduce using rule 105 ':' reduce using rule 105 ':=' reduce using rule 105 ';' reduce using rule 105 + '<=' shift, and enter state 180 '=' reduce using rule 105 + '===' shift, and enter state 181 '=_{' reduce using rule 105 '>' reduce using rule 105 '\\/' reduce using rule 105 @@ -1216,20 +1224,21 @@ State 35 %eof reduce using rule 105 -State 36 +State 35 - Term2 -> Term3 . '\\/' Term2 (rule 106) - Term2 -> Term3 . (rule 107) + Term3 -> Term4 . '/\\' Term3 (rule 106) + Term3 -> Term4 . (rule 107) ')' reduce using rule 107 ',' reduce using rule 107 + '/\\' shift, and enter state 179 ':' reduce using rule 107 ':=' reduce using rule 107 ';' reduce using rule 107 '=' reduce using rule 107 '=_{' reduce using rule 107 '>' reduce using rule 107 - '\\/' shift, and enter state 175 + '\\/' reduce using rule 107 ']' reduce using rule 107 'as' reduce using rule 107 '|' reduce using rule 107 @@ -1238,108 +1247,131 @@ State 36 %eof reduce using rule 107 +State 36 + + Term2 -> Term3 . '\\/' Term2 (rule 108) + Term2 -> Term3 . (rule 109) + + ')' reduce using rule 109 + ',' reduce using rule 109 + ':' reduce using rule 109 + ':=' reduce using rule 109 + ';' reduce using rule 109 + '=' reduce using rule 109 + '=_{' reduce using rule 109 + '>' reduce using rule 109 + '\\/' shift, and enter state 178 + ']' reduce using rule 109 + 'as' reduce using rule 109 + '|' reduce using rule 109 + '|->' reduce using rule 109 + '}' reduce using rule 109 + %eof reduce using rule 109 + + State 37 - Term1 -> Term2 . '=_{' Term '}' Term2 (rule 110) - Term1 -> Term2 . '=' Term2 (rule 111) - Term1 -> Term2 . (rule 113) - Term -> Term2 . 'as' Term1 (rule 122) + Term1 -> Term2 . '=_{' Term '}' Term2 (rule 113) + Term1 -> Term2 . '=' Term2 (rule 114) + Term1 -> Term2 . (rule 116) + Term -> Term2 . 'as' Term1 (rule 125) - ')' reduce using rule 113 - ',' reduce using rule 113 - ':' reduce using rule 113 - ':=' reduce using rule 113 - ';' reduce using rule 113 - '=' shift, and enter state 156 - '=_{' shift, and enter state 157 - '>' reduce using rule 113 - ']' reduce using rule 113 - 'as' shift, and enter state 174 - '|' reduce using rule 113 - '|->' reduce using rule 113 - '}' reduce using rule 113 - %eof reduce using rule 113 + ')' reduce using rule 116 + ',' reduce using rule 116 + ':' reduce using rule 116 + ':=' reduce using rule 116 + ';' reduce using rule 116 + '=' shift, and enter state 159 + '=_{' shift, and enter state 160 + '>' reduce using rule 116 + ']' reduce using rule 116 + 'as' shift, and enter state 177 + '|' reduce using rule 116 + '|->' reduce using rule 116 + '}' reduce using rule 116 + %eof reduce using rule 116 State 38 - Term -> Term1 . (rule 123) + Term -> Term1 . (rule 126) - ')' reduce using rule 123 - ',' reduce using rule 123 - ':' reduce using rule 123 - ':=' reduce using rule 123 - ';' reduce using rule 123 - '>' reduce using rule 123 - ']' reduce using rule 123 - '|' reduce using rule 123 - '|->' reduce using rule 123 - '}' reduce using rule 123 - %eof reduce using rule 123 + ')' reduce using rule 126 + ',' reduce using rule 126 + ':' reduce using rule 126 + ':=' reduce using rule 126 + ';' reduce using rule 126 + '>' reduce using rule 126 + ']' reduce using rule 126 + '|' reduce using rule 126 + '|->' reduce using rule 126 + '}' reduce using rule 126 + %eof reduce using rule 126 State 39 - ParamDecl -> Term6 . (rule 68) - Term5 -> Term6 . (rule 100) - Term6 -> Term6 . '[' ListRestriction ']' (rule 117) - Term6 -> Term6 . Term7 (rule 118) + ParamDecl -> Term6 . (rule 69) + Term5 -> Term6 . (rule 102) + Term6 -> Term6 . '[' ListRestriction ']' (rule 120) + Term6 -> Term6 . Term7 (rule 121) - '(' shift, and enter state 70 - ')' reduce using rule 100 - '*' reduce using rule 100 + '(' shift, and enter state 72 + ')' reduce using rule 102 + '*' reduce using rule 102 '*_1' shift, and enter state 43 - ',' reduce using rule 100 - '->' reduce using rule 68 - '/\\' reduce using rule 100 + ',' reduce using rule 102 + '->' reduce using rule 69 + '/\\' reduce using rule 102 '0_2' shift, and enter state 44 '1' shift, and enter state 45 '1_2' shift, and enter state 46 '2' shift, and enter state 47 - ':' reduce using rule 100 - ':=' reduce using rule 100 - ';' reduce using rule 100 + ':' reduce using rule 102 + ':=' reduce using rule 102 + ';' reduce using rule 102 '<' shift, and enter state 48 - '<=' reduce using rule 100 - '=' reduce using rule 100 - '===' reduce using rule 100 - '=_{' reduce using rule 100 - '>' reduce using rule 100 + '<=' reduce using rule 102 + '=' reduce using rule 102 + '===' reduce using rule 102 + '=_{' reduce using rule 102 + '>' reduce using rule 102 'BOT' shift, and enter state 49 'CUBE' shift, and enter state 50 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '[' shift, and enter state 152 - '\\/' reduce using rule 100 - ']' reduce using rule 100 - 'as' reduce using rule 100 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - '|' reduce using rule 100 - '|->' reduce using rule 100 - '}' reduce using rule 100 - '→' reduce using rule 68 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 - %eof reduce using rule 100 + '[' shift, and enter state 155 + '\\/' reduce using rule 102 + ']' reduce using rule 102 + 'as' reduce using rule 102 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'unit' shift, and enter state 64 + '|' reduce using rule 102 + '|->' reduce using rule 102 + '}' reduce using rule 102 + '→' reduce using rule 69 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 + %eof reduce using rule 102 VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 VarIdent goto state 31 - Term7 goto state 151 + Term7 goto state 154 State 40 - ListTerm -> Term . (rule 124) - ListTerm -> Term . ',' ListTerm (rule 125) + ListTerm -> Term . (rule 127) + ListTerm -> Term . ',' ListTerm (rule 128) - ',' shift, and enter state 173 - %eof reduce using rule 124 + ',' shift, and enter state 176 + %eof reduce using rule 127 State 41 @@ -1351,10 +1383,10 @@ State 41 State 42 - ParamDecl -> '(' . '_' ':' Term ')' (rule 69) - ParamDecl -> '(' . VarIdent ':' Term ')' (rule 71) - Term7 -> '(' . Term ',' Term ')' (rule 91) - Term7 -> '(' . Term ')' (rule 98) + ParamDecl -> '(' . '_' ':' Term ')' (rule 70) + ParamDecl -> '(' . VarIdent ':' Term ')' (rule 72) + Term7 -> '(' . Term ',' Term ')' (rule 92) + Term7 -> '(' . Term ')' (rule 100) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -1369,25 +1401,27 @@ State 42 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - '_' shift, and enter state 172 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + '_' shift, and enter state 175 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 - VarIdent goto state 171 + VarIdent goto state 174 ParamDecl goto state 32 Term7 goto state 33 Term5 goto state 34 @@ -1396,11 +1430,107 @@ State 42 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 158 + Term goto state 161 State 43 - Term7 -> '*_1' . (rule 81) + Term7 -> '*_1' . (rule 82) + + '(' reduce using rule 82 + ')' reduce using rule 82 + '*' reduce using rule 82 + '*_1' reduce using rule 82 + ',' reduce using rule 82 + '->' reduce using rule 82 + '/\\' reduce using rule 82 + '0_2' reduce using rule 82 + '1' reduce using rule 82 + '1_2' reduce using rule 82 + '2' reduce using rule 82 + ':' reduce using rule 82 + ':=' reduce using rule 82 + ';' reduce using rule 82 + '<' reduce using rule 82 + '<=' reduce using rule 82 + '=' reduce using rule 82 + '===' reduce using rule 82 + '=_{' reduce using rule 82 + '>' reduce using rule 82 + 'BOT' reduce using rule 82 + 'CUBE' reduce using rule 82 + 'TOP' reduce using rule 82 + 'TOPE' reduce using rule 82 + 'U' reduce using rule 82 + '[' reduce using rule 82 + '\\/' reduce using rule 82 + ']' reduce using rule 82 + 'as' reduce using rule 82 + 'idJ' reduce using rule 82 + 'recBOT' reduce using rule 82 + 'recOR' reduce using rule 82 + 'refl' reduce using rule 82 + 'refl_{' reduce using rule 82 + 'unit' reduce using rule 82 + '|' reduce using rule 82 + '|->' reduce using rule 82 + '}' reduce using rule 82 + '→' reduce using rule 82 + L_VarIdentTokenreduce using rule 82 + L_HoleIdentTokenreduce using rule 82 + %eof reduce using rule 82 + + +State 44 + + Term7 -> '0_2' . (rule 84) + + '(' reduce using rule 84 + ')' reduce using rule 84 + '*' reduce using rule 84 + '*_1' reduce using rule 84 + ',' reduce using rule 84 + '->' reduce using rule 84 + '/\\' reduce using rule 84 + '0_2' reduce using rule 84 + '1' reduce using rule 84 + '1_2' reduce using rule 84 + '2' reduce using rule 84 + ':' reduce using rule 84 + ':=' reduce using rule 84 + ';' reduce using rule 84 + '<' reduce using rule 84 + '<=' reduce using rule 84 + '=' reduce using rule 84 + '===' reduce using rule 84 + '=_{' reduce using rule 84 + '>' reduce using rule 84 + 'BOT' reduce using rule 84 + 'CUBE' reduce using rule 84 + 'TOP' reduce using rule 84 + 'TOPE' reduce using rule 84 + 'U' reduce using rule 84 + '[' reduce using rule 84 + '\\/' reduce using rule 84 + ']' reduce using rule 84 + 'as' reduce using rule 84 + 'idJ' reduce using rule 84 + 'recBOT' reduce using rule 84 + 'recOR' reduce using rule 84 + 'refl' reduce using rule 84 + 'refl_{' reduce using rule 84 + 'unit' reduce using rule 84 + '|' reduce using rule 84 + '|->' reduce using rule 84 + '}' reduce using rule 84 + '→' reduce using rule 84 + L_VarIdentTokenreduce using rule 84 + L_HoleIdentTokenreduce using rule 84 + %eof reduce using rule 84 + + +State 45 + + Term7 -> '1' . (rule 81) '(' reduce using rule 81 ')' reduce using rule 81 @@ -1436,6 +1566,7 @@ State 43 'recOR' reduce using rule 81 'refl' reduce using rule 81 'refl_{' reduce using rule 81 + 'unit' reduce using rule 81 '|' reduce using rule 81 '|->' reduce using rule 81 '}' reduce using rule 81 @@ -1445,9 +1576,57 @@ State 43 %eof reduce using rule 81 -State 44 +State 46 + + Term7 -> '1_2' . (rule 85) + + '(' reduce using rule 85 + ')' reduce using rule 85 + '*' reduce using rule 85 + '*_1' reduce using rule 85 + ',' reduce using rule 85 + '->' reduce using rule 85 + '/\\' reduce using rule 85 + '0_2' reduce using rule 85 + '1' reduce using rule 85 + '1_2' reduce using rule 85 + '2' reduce using rule 85 + ':' reduce using rule 85 + ':=' reduce using rule 85 + ';' reduce using rule 85 + '<' reduce using rule 85 + '<=' reduce using rule 85 + '=' reduce using rule 85 + '===' reduce using rule 85 + '=_{' reduce using rule 85 + '>' reduce using rule 85 + 'BOT' reduce using rule 85 + 'CUBE' reduce using rule 85 + 'TOP' reduce using rule 85 + 'TOPE' reduce using rule 85 + 'U' reduce using rule 85 + '[' reduce using rule 85 + '\\/' reduce using rule 85 + ']' reduce using rule 85 + 'as' reduce using rule 85 + 'idJ' reduce using rule 85 + 'recBOT' reduce using rule 85 + 'recOR' reduce using rule 85 + 'refl' reduce using rule 85 + 'refl_{' reduce using rule 85 + 'unit' reduce using rule 85 + '|' reduce using rule 85 + '|->' reduce using rule 85 + '}' reduce using rule 85 + '→' reduce using rule 85 + L_VarIdentTokenreduce using rule 85 + L_HoleIdentTokenreduce using rule 85 + %eof reduce using rule 85 + + +State 47 - Term7 -> '0_2' . (rule 83) + Term7 -> '2' . (rule 83) '(' reduce using rule 83 ')' reduce using rule 83 @@ -1483,6 +1662,7 @@ State 44 'recOR' reduce using rule 83 'refl' reduce using rule 83 'refl_{' reduce using rule 83 + 'unit' reduce using rule 83 '|' reduce using rule 83 '|->' reduce using rule 83 '}' reduce using rule 83 @@ -1492,185 +1672,148 @@ State 44 %eof reduce using rule 83 -State 45 +State 48 - Term7 -> '1' . (rule 80) + Term7 -> '<' . ParamDecl '->' Term '>' (rule 91) - '(' reduce using rule 80 - ')' reduce using rule 80 - '*' reduce using rule 80 - '*_1' reduce using rule 80 - ',' reduce using rule 80 - '->' reduce using rule 80 - '/\\' reduce using rule 80 - '0_2' reduce using rule 80 - '1' reduce using rule 80 - '1_2' reduce using rule 80 - '2' reduce using rule 80 - ':' reduce using rule 80 - ':=' reduce using rule 80 - ';' reduce using rule 80 - '<' reduce using rule 80 - '<=' reduce using rule 80 - '=' reduce using rule 80 - '===' reduce using rule 80 - '=_{' reduce using rule 80 - '>' reduce using rule 80 - 'BOT' reduce using rule 80 - 'CUBE' reduce using rule 80 - 'TOP' reduce using rule 80 - 'TOPE' reduce using rule 80 - 'U' reduce using rule 80 - '[' reduce using rule 80 - '\\/' reduce using rule 80 - ']' reduce using rule 80 - 'as' reduce using rule 80 - 'idJ' reduce using rule 80 - 'recBOT' reduce using rule 80 - 'recOR' reduce using rule 80 - 'refl' reduce using rule 80 - 'refl_{' reduce using rule 80 - '|' reduce using rule 80 - '|->' reduce using rule 80 - '}' reduce using rule 80 - '→' reduce using rule 80 - L_VarIdentTokenreduce using rule 80 - L_HoleIdentTokenreduce using rule 80 - %eof reduce using rule 80 + '(' shift, and enter state 42 + '*_1' shift, and enter state 43 + '0_2' shift, and enter state 44 + '1' shift, and enter state 45 + '1_2' shift, and enter state 46 + '2' shift, and enter state 47 + '<' shift, and enter state 48 + 'BOT' shift, and enter state 49 + 'CUBE' shift, and enter state 50 + 'TOP' shift, and enter state 52 + 'TOPE' shift, and enter state 53 + 'U' shift, and enter state 54 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 + VarIdentToken goto state 28 + HoleIdentToken goto state 29 + HoleIdent goto state 30 + VarIdent goto state 31 + ParamDecl goto state 173 + Term7 goto state 33 + Term6 goto state 86 -State 46 +State 49 - Term7 -> '1_2' . (rule 84) + Term7 -> 'BOT' . (rule 87) - '(' reduce using rule 84 - ')' reduce using rule 84 - '*' reduce using rule 84 - '*_1' reduce using rule 84 - ',' reduce using rule 84 - '->' reduce using rule 84 - '/\\' reduce using rule 84 - '0_2' reduce using rule 84 - '1' reduce using rule 84 - '1_2' reduce using rule 84 - '2' reduce using rule 84 - ':' reduce using rule 84 - ':=' reduce using rule 84 - ';' reduce using rule 84 - '<' reduce using rule 84 - '<=' reduce using rule 84 - '=' reduce using rule 84 - '===' reduce using rule 84 - '=_{' reduce using rule 84 - '>' reduce using rule 84 - 'BOT' reduce using rule 84 - 'CUBE' reduce using rule 84 - 'TOP' reduce using rule 84 - 'TOPE' reduce using rule 84 - 'U' reduce using rule 84 - '[' reduce using rule 84 - '\\/' reduce using rule 84 - ']' reduce using rule 84 - 'as' reduce using rule 84 - 'idJ' reduce using rule 84 - 'recBOT' reduce using rule 84 - 'recOR' reduce using rule 84 - 'refl' reduce using rule 84 - 'refl_{' reduce using rule 84 - '|' reduce using rule 84 - '|->' reduce using rule 84 - '}' reduce using rule 84 - '→' reduce using rule 84 - L_VarIdentTokenreduce using rule 84 - L_HoleIdentTokenreduce using rule 84 - %eof reduce using rule 84 + '(' reduce using rule 87 + ')' reduce using rule 87 + '*' reduce using rule 87 + '*_1' reduce using rule 87 + ',' reduce using rule 87 + '->' reduce using rule 87 + '/\\' reduce using rule 87 + '0_2' reduce using rule 87 + '1' reduce using rule 87 + '1_2' reduce using rule 87 + '2' reduce using rule 87 + ':' reduce using rule 87 + ':=' reduce using rule 87 + ';' reduce using rule 87 + '<' reduce using rule 87 + '<=' reduce using rule 87 + '=' reduce using rule 87 + '===' reduce using rule 87 + '=_{' reduce using rule 87 + '>' reduce using rule 87 + 'BOT' reduce using rule 87 + 'CUBE' reduce using rule 87 + 'TOP' reduce using rule 87 + 'TOPE' reduce using rule 87 + 'U' reduce using rule 87 + '[' reduce using rule 87 + '\\/' reduce using rule 87 + ']' reduce using rule 87 + 'as' reduce using rule 87 + 'idJ' reduce using rule 87 + 'recBOT' reduce using rule 87 + 'recOR' reduce using rule 87 + 'refl' reduce using rule 87 + 'refl_{' reduce using rule 87 + 'unit' reduce using rule 87 + '|' reduce using rule 87 + '|->' reduce using rule 87 + '}' reduce using rule 87 + '→' reduce using rule 87 + L_VarIdentTokenreduce using rule 87 + L_HoleIdentTokenreduce using rule 87 + %eof reduce using rule 87 -State 47 +State 50 - Term7 -> '2' . (rule 82) + Term7 -> 'CUBE' . (rule 79) - '(' reduce using rule 82 - ')' reduce using rule 82 - '*' reduce using rule 82 - '*_1' reduce using rule 82 - ',' reduce using rule 82 - '->' reduce using rule 82 - '/\\' reduce using rule 82 - '0_2' reduce using rule 82 - '1' reduce using rule 82 - '1_2' reduce using rule 82 - '2' reduce using rule 82 - ':' reduce using rule 82 - ':=' reduce using rule 82 - ';' reduce using rule 82 - '<' reduce using rule 82 - '<=' reduce using rule 82 - '=' reduce using rule 82 - '===' reduce using rule 82 - '=_{' reduce using rule 82 - '>' reduce using rule 82 - 'BOT' reduce using rule 82 - 'CUBE' reduce using rule 82 - 'TOP' reduce using rule 82 - 'TOPE' reduce using rule 82 - 'U' reduce using rule 82 - '[' reduce using rule 82 - '\\/' reduce using rule 82 - ']' reduce using rule 82 - 'as' reduce using rule 82 - 'idJ' reduce using rule 82 - 'recBOT' reduce using rule 82 - 'recOR' reduce using rule 82 - 'refl' reduce using rule 82 - 'refl_{' reduce using rule 82 - '|' reduce using rule 82 - '|->' reduce using rule 82 - '}' reduce using rule 82 - '→' reduce using rule 82 - L_VarIdentTokenreduce using rule 82 - L_HoleIdentTokenreduce using rule 82 - %eof reduce using rule 82 + '(' reduce using rule 79 + ')' reduce using rule 79 + '*' reduce using rule 79 + '*_1' reduce using rule 79 + ',' reduce using rule 79 + '->' reduce using rule 79 + '/\\' reduce using rule 79 + '0_2' reduce using rule 79 + '1' reduce using rule 79 + '1_2' reduce using rule 79 + '2' reduce using rule 79 + ':' reduce using rule 79 + ':=' reduce using rule 79 + ';' reduce using rule 79 + '<' reduce using rule 79 + '<=' reduce using rule 79 + '=' reduce using rule 79 + '===' reduce using rule 79 + '=_{' reduce using rule 79 + '>' reduce using rule 79 + 'BOT' reduce using rule 79 + 'CUBE' reduce using rule 79 + 'TOP' reduce using rule 79 + 'TOPE' reduce using rule 79 + 'U' reduce using rule 79 + '[' reduce using rule 79 + '\\/' reduce using rule 79 + ']' reduce using rule 79 + 'as' reduce using rule 79 + 'idJ' reduce using rule 79 + 'recBOT' reduce using rule 79 + 'recOR' reduce using rule 79 + 'refl' reduce using rule 79 + 'refl_{' reduce using rule 79 + 'unit' reduce using rule 79 + '|' reduce using rule 79 + '|->' reduce using rule 79 + '}' reduce using rule 79 + '→' reduce using rule 79 + L_VarIdentTokenreduce using rule 79 + L_HoleIdentTokenreduce using rule 79 + %eof reduce using rule 79 -State 48 +State 51 - Term7 -> '<' . ParamDecl '->' Term '>' (rule 90) + Term1 -> 'Sigma' . '(' Pattern ':' Term ')' ',' Term1 (rule 111) - '(' shift, and enter state 42 - '*_1' shift, and enter state 43 - '0_2' shift, and enter state 44 - '1' shift, and enter state 45 - '1_2' shift, and enter state 46 - '2' shift, and enter state 47 - '<' shift, and enter state 48 - 'BOT' shift, and enter state 49 - 'CUBE' shift, and enter state 50 - 'TOP' shift, and enter state 52 - 'TOPE' shift, and enter state 53 - 'U' shift, and enter state 54 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + '(' shift, and enter state 172 - VarIdentToken goto state 28 - HoleIdentToken goto state 29 - HoleIdent goto state 30 - VarIdent goto state 31 - ParamDecl goto state 170 - Term7 goto state 33 - Term6 goto state 84 -State 49 +State 52 - Term7 -> 'BOT' . (rule 86) + Term7 -> 'TOP' . (rule 86) '(' reduce using rule 86 ')' reduce using rule 86 @@ -1706,6 +1849,7 @@ State 49 'recOR' reduce using rule 86 'refl' reduce using rule 86 'refl_{' reduce using rule 86 + 'unit' reduce using rule 86 '|' reduce using rule 86 '|->' reduce using rule 86 '}' reduce using rule 86 @@ -1715,9 +1859,57 @@ State 49 %eof reduce using rule 86 -State 50 +State 53 + + Term7 -> 'TOPE' . (rule 80) + + '(' reduce using rule 80 + ')' reduce using rule 80 + '*' reduce using rule 80 + '*_1' reduce using rule 80 + ',' reduce using rule 80 + '->' reduce using rule 80 + '/\\' reduce using rule 80 + '0_2' reduce using rule 80 + '1' reduce using rule 80 + '1_2' reduce using rule 80 + '2' reduce using rule 80 + ':' reduce using rule 80 + ':=' reduce using rule 80 + ';' reduce using rule 80 + '<' reduce using rule 80 + '<=' reduce using rule 80 + '=' reduce using rule 80 + '===' reduce using rule 80 + '=_{' reduce using rule 80 + '>' reduce using rule 80 + 'BOT' reduce using rule 80 + 'CUBE' reduce using rule 80 + 'TOP' reduce using rule 80 + 'TOPE' reduce using rule 80 + 'U' reduce using rule 80 + '[' reduce using rule 80 + '\\/' reduce using rule 80 + ']' reduce using rule 80 + 'as' reduce using rule 80 + 'idJ' reduce using rule 80 + 'recBOT' reduce using rule 80 + 'recOR' reduce using rule 80 + 'refl' reduce using rule 80 + 'refl_{' reduce using rule 80 + 'unit' reduce using rule 80 + '|' reduce using rule 80 + '|->' reduce using rule 80 + '}' reduce using rule 80 + '→' reduce using rule 80 + L_VarIdentTokenreduce using rule 80 + L_HoleIdentTokenreduce using rule 80 + %eof reduce using rule 80 + + +State 54 - Term7 -> 'CUBE' . (rule 78) + Term7 -> 'U' . (rule 78) '(' reduce using rule 78 ')' reduce using rule 78 @@ -1753,6 +1945,7 @@ State 50 'recOR' reduce using rule 78 'refl' reduce using rule 78 'refl_{' reduce using rule 78 + 'unit' reduce using rule 78 '|' reduce using rule 78 '|->' reduce using rule 78 '}' reduce using rule 78 @@ -1762,174 +1955,44 @@ State 50 %eof reduce using rule 78 -State 51 +State 55 - Term1 -> 'Sigma' . '(' Pattern ':' Term ')' ',' Term1 (rule 109) + Term1 -> 'Unit' . (rule 112) - '(' shift, and enter state 169 + ')' reduce using rule 112 + ',' reduce using rule 112 + ':' reduce using rule 112 + ':=' reduce using rule 112 + ';' reduce using rule 112 + '>' reduce using rule 112 + ']' reduce using rule 112 + '|' reduce using rule 112 + '|->' reduce using rule 112 + '}' reduce using rule 112 + %eof reduce using rule 112 -State 52 +State 56 - Term7 -> 'TOP' . (rule 85) + Term1 -> '\\' . ListParam '->' Term1 (rule 115) - '(' reduce using rule 85 - ')' reduce using rule 85 - '*' reduce using rule 85 - '*_1' reduce using rule 85 - ',' reduce using rule 85 - '->' reduce using rule 85 - '/\\' reduce using rule 85 - '0_2' reduce using rule 85 - '1' reduce using rule 85 - '1_2' reduce using rule 85 - '2' reduce using rule 85 - ':' reduce using rule 85 - ':=' reduce using rule 85 - ';' reduce using rule 85 - '<' reduce using rule 85 - '<=' reduce using rule 85 - '=' reduce using rule 85 - '===' reduce using rule 85 - '=_{' reduce using rule 85 - '>' reduce using rule 85 - 'BOT' reduce using rule 85 - 'CUBE' reduce using rule 85 - 'TOP' reduce using rule 85 - 'TOPE' reduce using rule 85 - 'U' reduce using rule 85 - '[' reduce using rule 85 - '\\/' reduce using rule 85 - ']' reduce using rule 85 - 'as' reduce using rule 85 - 'idJ' reduce using rule 85 - 'recBOT' reduce using rule 85 - 'recOR' reduce using rule 85 - 'refl' reduce using rule 85 - 'refl_{' reduce using rule 85 - '|' reduce using rule 85 - '|->' reduce using rule 85 - '}' reduce using rule 85 - '→' reduce using rule 85 - L_VarIdentTokenreduce using rule 85 - L_HoleIdentTokenreduce using rule 85 - %eof reduce using rule 85 - - -State 53 - - Term7 -> 'TOPE' . (rule 79) - - '(' reduce using rule 79 - ')' reduce using rule 79 - '*' reduce using rule 79 - '*_1' reduce using rule 79 - ',' reduce using rule 79 - '->' reduce using rule 79 - '/\\' reduce using rule 79 - '0_2' reduce using rule 79 - '1' reduce using rule 79 - '1_2' reduce using rule 79 - '2' reduce using rule 79 - ':' reduce using rule 79 - ':=' reduce using rule 79 - ';' reduce using rule 79 - '<' reduce using rule 79 - '<=' reduce using rule 79 - '=' reduce using rule 79 - '===' reduce using rule 79 - '=_{' reduce using rule 79 - '>' reduce using rule 79 - 'BOT' reduce using rule 79 - 'CUBE' reduce using rule 79 - 'TOP' reduce using rule 79 - 'TOPE' reduce using rule 79 - 'U' reduce using rule 79 - '[' reduce using rule 79 - '\\/' reduce using rule 79 - ']' reduce using rule 79 - 'as' reduce using rule 79 - 'idJ' reduce using rule 79 - 'recBOT' reduce using rule 79 - 'recOR' reduce using rule 79 - 'refl' reduce using rule 79 - 'refl_{' reduce using rule 79 - '|' reduce using rule 79 - '|->' reduce using rule 79 - '}' reduce using rule 79 - '→' reduce using rule 79 - L_VarIdentTokenreduce using rule 79 - L_HoleIdentTokenreduce using rule 79 - %eof reduce using rule 79 - - -State 54 - - Term7 -> 'U' . (rule 77) - - '(' reduce using rule 77 - ')' reduce using rule 77 - '*' reduce using rule 77 - '*_1' reduce using rule 77 - ',' reduce using rule 77 - '->' reduce using rule 77 - '/\\' reduce using rule 77 - '0_2' reduce using rule 77 - '1' reduce using rule 77 - '1_2' reduce using rule 77 - '2' reduce using rule 77 - ':' reduce using rule 77 - ':=' reduce using rule 77 - ';' reduce using rule 77 - '<' reduce using rule 77 - '<=' reduce using rule 77 - '=' reduce using rule 77 - '===' reduce using rule 77 - '=_{' reduce using rule 77 - '>' reduce using rule 77 - 'BOT' reduce using rule 77 - 'CUBE' reduce using rule 77 - 'TOP' reduce using rule 77 - 'TOPE' reduce using rule 77 - 'U' reduce using rule 77 - '[' reduce using rule 77 - '\\/' reduce using rule 77 - ']' reduce using rule 77 - 'as' reduce using rule 77 - 'idJ' reduce using rule 77 - 'recBOT' reduce using rule 77 - 'recOR' reduce using rule 77 - 'refl' reduce using rule 77 - 'refl_{' reduce using rule 77 - '|' reduce using rule 77 - '|->' reduce using rule 77 - '}' reduce using rule 77 - '→' reduce using rule 77 - L_VarIdentTokenreduce using rule 77 - L_HoleIdentTokenreduce using rule 77 - %eof reduce using rule 77 - - -State 55 - - Term1 -> '\\' . ListParam '->' Term1 (rule 112) - - '(' shift, and enter state 89 - '_' shift, and enter state 90 - '{' shift, and enter state 91 - L_VarIdentTokenshift, and enter state 66 + '(' shift, and enter state 91 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + '{' shift, and enter state 94 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 86 - Param goto state 87 - ListParam goto state 168 + VarIdent goto state 87 + Pattern goto state 88 + Param goto state 89 + ListParam goto state 171 -State 56 +State 57 - Term6 -> 'first' . Term7 (rule 119) + Term6 -> 'first' . Term7 (rule 122) - '(' shift, and enter state 70 + '(' shift, and enter state 72 '*_1' shift, and enter state 43 '0_2' shift, and enter state 44 '1' shift, and enter state 45 @@ -1941,133 +2004,136 @@ State 56 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'unit' shift, and enter state 64 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 VarIdent goto state 31 - Term7 goto state 167 - -State 57 - - Term7 -> 'idJ' . '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' (rule 95) - - '(' shift, and enter state 166 - + Term7 goto state 170 State 58 - Term7 -> 'recBOT' . (rule 87) + Term7 -> 'idJ' . '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' (rule 97) - '(' reduce using rule 87 - ')' reduce using rule 87 - '*' reduce using rule 87 - '*_1' reduce using rule 87 - ',' reduce using rule 87 - '->' reduce using rule 87 - '/\\' reduce using rule 87 - '0_2' reduce using rule 87 - '1' reduce using rule 87 - '1_2' reduce using rule 87 - '2' reduce using rule 87 - ':' reduce using rule 87 - ':=' reduce using rule 87 - ';' reduce using rule 87 - '<' reduce using rule 87 - '<=' reduce using rule 87 - '=' reduce using rule 87 - '===' reduce using rule 87 - '=_{' reduce using rule 87 - '>' reduce using rule 87 - 'BOT' reduce using rule 87 - 'CUBE' reduce using rule 87 - 'TOP' reduce using rule 87 - 'TOPE' reduce using rule 87 - 'U' reduce using rule 87 - '[' reduce using rule 87 - '\\/' reduce using rule 87 - ']' reduce using rule 87 - 'as' reduce using rule 87 - 'idJ' reduce using rule 87 - 'recBOT' reduce using rule 87 - 'recOR' reduce using rule 87 - 'refl' reduce using rule 87 - 'refl_{' reduce using rule 87 - '|' reduce using rule 87 - '|->' reduce using rule 87 - '}' reduce using rule 87 - '→' reduce using rule 87 - L_VarIdentTokenreduce using rule 87 - L_HoleIdentTokenreduce using rule 87 - %eof reduce using rule 87 + '(' shift, and enter state 169 State 59 - Term7 -> 'recOR' . '(' ListRestriction ')' (rule 88) - Term7 -> 'recOR' . '(' Term ',' Term ',' Term ',' Term ')' (rule 89) + Term7 -> 'recBOT' . (rule 88) - '(' shift, and enter state 165 + '(' reduce using rule 88 + ')' reduce using rule 88 + '*' reduce using rule 88 + '*_1' reduce using rule 88 + ',' reduce using rule 88 + '->' reduce using rule 88 + '/\\' reduce using rule 88 + '0_2' reduce using rule 88 + '1' reduce using rule 88 + '1_2' reduce using rule 88 + '2' reduce using rule 88 + ':' reduce using rule 88 + ':=' reduce using rule 88 + ';' reduce using rule 88 + '<' reduce using rule 88 + '<=' reduce using rule 88 + '=' reduce using rule 88 + '===' reduce using rule 88 + '=_{' reduce using rule 88 + '>' reduce using rule 88 + 'BOT' reduce using rule 88 + 'CUBE' reduce using rule 88 + 'TOP' reduce using rule 88 + 'TOPE' reduce using rule 88 + 'U' reduce using rule 88 + '[' reduce using rule 88 + '\\/' reduce using rule 88 + ']' reduce using rule 88 + 'as' reduce using rule 88 + 'idJ' reduce using rule 88 + 'recBOT' reduce using rule 88 + 'recOR' reduce using rule 88 + 'refl' reduce using rule 88 + 'refl_{' reduce using rule 88 + 'unit' reduce using rule 88 + '|' reduce using rule 88 + '|->' reduce using rule 88 + '}' reduce using rule 88 + '→' reduce using rule 88 + L_VarIdentTokenreduce using rule 88 + L_HoleIdentTokenreduce using rule 88 + %eof reduce using rule 88 State 60 - Term7 -> 'refl' . (rule 92) + Term7 -> 'recOR' . '(' ListRestriction ')' (rule 89) + Term7 -> 'recOR' . '(' Term ',' Term ',' Term ',' Term ')' (rule 90) - '(' reduce using rule 92 - ')' reduce using rule 92 - '*' reduce using rule 92 - '*_1' reduce using rule 92 - ',' reduce using rule 92 - '->' reduce using rule 92 - '/\\' reduce using rule 92 - '0_2' reduce using rule 92 - '1' reduce using rule 92 - '1_2' reduce using rule 92 - '2' reduce using rule 92 - ':' reduce using rule 92 - ':=' reduce using rule 92 - ';' reduce using rule 92 - '<' reduce using rule 92 - '<=' reduce using rule 92 - '=' reduce using rule 92 - '===' reduce using rule 92 - '=_{' reduce using rule 92 - '>' reduce using rule 92 - 'BOT' reduce using rule 92 - 'CUBE' reduce using rule 92 - 'TOP' reduce using rule 92 - 'TOPE' reduce using rule 92 - 'U' reduce using rule 92 - '[' reduce using rule 92 - '\\/' reduce using rule 92 - ']' reduce using rule 92 - 'as' reduce using rule 92 - 'idJ' reduce using rule 92 - 'recBOT' reduce using rule 92 - 'recOR' reduce using rule 92 - 'refl' reduce using rule 92 - 'refl_{' reduce using rule 92 - '|' reduce using rule 92 - '|->' reduce using rule 92 - '}' reduce using rule 92 - '→' reduce using rule 92 - L_VarIdentTokenreduce using rule 92 - L_HoleIdentTokenreduce using rule 92 - %eof reduce using rule 92 + '(' shift, and enter state 168 State 61 - Term7 -> 'refl_{' . Term '}' (rule 93) - Term7 -> 'refl_{' . Term ':' Term '}' (rule 94) + Term7 -> 'refl' . (rule 94) + + '(' reduce using rule 94 + ')' reduce using rule 94 + '*' reduce using rule 94 + '*_1' reduce using rule 94 + ',' reduce using rule 94 + '->' reduce using rule 94 + '/\\' reduce using rule 94 + '0_2' reduce using rule 94 + '1' reduce using rule 94 + '1_2' reduce using rule 94 + '2' reduce using rule 94 + ':' reduce using rule 94 + ':=' reduce using rule 94 + ';' reduce using rule 94 + '<' reduce using rule 94 + '<=' reduce using rule 94 + '=' reduce using rule 94 + '===' reduce using rule 94 + '=_{' reduce using rule 94 + '>' reduce using rule 94 + 'BOT' reduce using rule 94 + 'CUBE' reduce using rule 94 + 'TOP' reduce using rule 94 + 'TOPE' reduce using rule 94 + 'U' reduce using rule 94 + '[' reduce using rule 94 + '\\/' reduce using rule 94 + ']' reduce using rule 94 + 'as' reduce using rule 94 + 'idJ' reduce using rule 94 + 'recBOT' reduce using rule 94 + 'recOR' reduce using rule 94 + 'refl' reduce using rule 94 + 'refl_{' reduce using rule 94 + 'unit' reduce using rule 94 + '|' reduce using rule 94 + '|->' reduce using rule 94 + '}' reduce using rule 94 + '→' reduce using rule 94 + L_VarIdentTokenreduce using rule 94 + L_HoleIdentTokenreduce using rule 94 + %eof reduce using rule 94 + + +State 62 + + Term7 -> 'refl_{' . Term '}' (rule 95) + Term7 -> 'refl_{' . Term ':' Term '}' (rule 96) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -2082,19 +2148,21 @@ State 61 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -2108,13 +2176,13 @@ State 61 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 164 + Term goto state 167 -State 62 +State 63 - Term6 -> 'second' . Term7 (rule 120) + Term6 -> 'second' . Term7 (rule 123) - '(' shift, and enter state 70 + '(' shift, and enter state 72 '*_1' shift, and enter state 43 '0_2' shift, and enter state 44 '1' shift, and enter state 45 @@ -2126,49 +2194,99 @@ State 62 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'unit' shift, and enter state 64 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 + + VarIdentToken goto state 28 + HoleIdentToken goto state 29 + HoleIdent goto state 30 + VarIdent goto state 31 + Term7 goto state 166 + +State 64 + + Term7 -> 'unit' . (rule 93) + + '(' reduce using rule 93 + ')' reduce using rule 93 + '*' reduce using rule 93 + '*_1' reduce using rule 93 + ',' reduce using rule 93 + '->' reduce using rule 93 + '/\\' reduce using rule 93 + '0_2' reduce using rule 93 + '1' reduce using rule 93 + '1_2' reduce using rule 93 + '2' reduce using rule 93 + ':' reduce using rule 93 + ':=' reduce using rule 93 + ';' reduce using rule 93 + '<' reduce using rule 93 + '<=' reduce using rule 93 + '=' reduce using rule 93 + '===' reduce using rule 93 + '=_{' reduce using rule 93 + '>' reduce using rule 93 + 'BOT' reduce using rule 93 + 'CUBE' reduce using rule 93 + 'TOP' reduce using rule 93 + 'TOPE' reduce using rule 93 + 'U' reduce using rule 93 + '[' reduce using rule 93 + '\\/' reduce using rule 93 + ']' reduce using rule 93 + 'as' reduce using rule 93 + 'idJ' reduce using rule 93 + 'recBOT' reduce using rule 93 + 'recOR' reduce using rule 93 + 'refl' reduce using rule 93 + 'refl_{' reduce using rule 93 + 'unit' reduce using rule 93 + '|' reduce using rule 93 + '|->' reduce using rule 93 + '}' reduce using rule 93 + '→' reduce using rule 93 + L_VarIdentTokenreduce using rule 93 + L_HoleIdentTokenreduce using rule 93 + %eof reduce using rule 93 - VarIdentToken goto state 28 - HoleIdentToken goto state 29 - HoleIdent goto state 30 - VarIdent goto state 31 - Term7 goto state 163 -State 63 +State 65 - ParamDecl -> '{' . Pattern ':' Term '}' (rule 70) - ParamDecl -> '{' . '(' Pattern ':' Term ')' '|' Term '}' (rule 72) - ParamDecl -> '{' . Pattern ':' Term '|' Term '}' (rule 73) + ParamDecl -> '{' . Pattern ':' Term '}' (rule 71) + ParamDecl -> '{' . '(' Pattern ':' Term ')' '|' Term '}' (rule 73) + ParamDecl -> '{' . Pattern ':' Term '|' Term '}' (rule 74) - '(' shift, and enter state 162 - '_' shift, and enter state 90 - L_VarIdentTokenshift, and enter state 66 + '(' shift, and enter state 165 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 161 + VarIdent goto state 87 + Pattern goto state 164 -State 64 +State 66 - Term1 -> 'Σ' . '(' Pattern ':' Term ')' ',' Term1 (rule 115) + Term1 -> 'Σ' . '(' Pattern ':' Term ')' ',' Term1 (rule 118) - '(' shift, and enter state 160 + '(' shift, and enter state 163 -State 65 +State 67 - Term1 -> '∑' . '(' Pattern ':' Term ')' ',' Term1 (rule 116) + Term1 -> '∑' . '(' Pattern ':' Term ')' ',' Term1 (rule 119) - '(' shift, and enter state 159 + '(' shift, and enter state 162 -State 66 +State 68 VarIdentToken -> L_VarIdentToken . (rule 27) @@ -2207,6 +2325,7 @@ State 66 'recOR' reduce using rule 27 'refl' reduce using rule 27 'refl_{' reduce using rule 27 + 'unit' reduce using rule 27 'uses' reduce using rule 27 '{' reduce using rule 27 '|' reduce using rule 27 @@ -2218,7 +2337,7 @@ State 66 %eof reduce using rule 27 -State 67 +State 69 HoleIdentToken -> L_HoleIdentToken . (rule 28) @@ -2256,6 +2375,7 @@ State 67 'recOR' reduce using rule 28 'refl' reduce using rule 28 'refl_{' reduce using rule 28 + 'unit' reduce using rule 28 '|' reduce using rule 28 '|->' reduce using rule 28 '}' reduce using rule 28 @@ -2265,20 +2385,20 @@ State 67 %eof reduce using rule 28 -State 68 +State 70 %start_pTerm_internal -> Term . (rule 24) %eof accept -State 69 +State 71 %start_pTerm6_internal -> Term6 . (rule 23) - Term6 -> Term6 . '[' ListRestriction ']' (rule 117) - Term6 -> Term6 . Term7 (rule 118) + Term6 -> Term6 . '[' ListRestriction ']' (rule 120) + Term6 -> Term6 . Term7 (rule 121) - '(' shift, and enter state 70 + '(' shift, and enter state 72 '*_1' shift, and enter state 43 '0_2' shift, and enter state 44 '1' shift, and enter state 45 @@ -2290,26 +2410,27 @@ State 69 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '[' shift, and enter state 152 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + '[' shift, and enter state 155 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'unit' shift, and enter state 64 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 %eof accept VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 VarIdent goto state 31 - Term7 goto state 151 + Term7 goto state 154 -State 70 +State 72 - Term7 -> '(' . Term ',' Term ')' (rule 91) - Term7 -> '(' . Term ')' (rule 98) + Term7 -> '(' . Term ',' Term ')' (rule 92) + Term7 -> '(' . Term ')' (rule 100) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -2324,19 +2445,21 @@ State 70 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -2350,173 +2473,174 @@ State 70 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 158 + Term goto state 161 -State 71 +State 73 - Term1 -> Term2 . '=_{' Term '}' Term2 (rule 110) - Term1 -> Term2 . '=' Term2 (rule 111) - Term1 -> Term2 . (rule 113) + Term1 -> Term2 . '=_{' Term '}' Term2 (rule 113) + Term1 -> Term2 . '=' Term2 (rule 114) + Term1 -> Term2 . (rule 116) - ')' reduce using rule 113 - ',' reduce using rule 113 - ':' reduce using rule 113 - ':=' reduce using rule 113 - ';' reduce using rule 113 - '=' shift, and enter state 156 - '=_{' shift, and enter state 157 - '>' reduce using rule 113 - ']' reduce using rule 113 - '|' reduce using rule 113 - '|->' reduce using rule 113 - '}' reduce using rule 113 - %eof reduce using rule 113 + ')' reduce using rule 116 + ',' reduce using rule 116 + ':' reduce using rule 116 + ':=' reduce using rule 116 + ';' reduce using rule 116 + '=' shift, and enter state 159 + '=_{' shift, and enter state 160 + '>' reduce using rule 116 + ']' reduce using rule 116 + '|' reduce using rule 116 + '|->' reduce using rule 116 + '}' reduce using rule 116 + %eof reduce using rule 116 -State 72 +State 74 %start_pTerm1_internal -> Term1 . (rule 22) %eof accept -State 73 +State 75 %start_pTerm2_internal -> Term2 . (rule 21) %eof accept -State 74 +State 76 - Term5 -> Term6 . (rule 100) - Term6 -> Term6 . '[' ListRestriction ']' (rule 117) - Term6 -> Term6 . Term7 (rule 118) + Term5 -> Term6 . (rule 102) + Term6 -> Term6 . '[' ListRestriction ']' (rule 120) + Term6 -> Term6 . Term7 (rule 121) - '(' shift, and enter state 70 - ')' reduce using rule 100 - '*' reduce using rule 100 + '(' shift, and enter state 72 + ')' reduce using rule 102 + '*' reduce using rule 102 '*_1' shift, and enter state 43 - ',' reduce using rule 100 - '/\\' reduce using rule 100 + ',' reduce using rule 102 + '/\\' reduce using rule 102 '0_2' shift, and enter state 44 '1' shift, and enter state 45 '1_2' shift, and enter state 46 '2' shift, and enter state 47 - ':' reduce using rule 100 - ':=' reduce using rule 100 - ';' reduce using rule 100 + ':' reduce using rule 102 + ':=' reduce using rule 102 + ';' reduce using rule 102 '<' shift, and enter state 48 - '<=' reduce using rule 100 - '=' reduce using rule 100 - '===' reduce using rule 100 - '=_{' reduce using rule 100 - '>' reduce using rule 100 + '<=' reduce using rule 102 + '=' reduce using rule 102 + '===' reduce using rule 102 + '=_{' reduce using rule 102 + '>' reduce using rule 102 'BOT' shift, and enter state 49 'CUBE' shift, and enter state 50 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '[' shift, and enter state 152 - '\\/' reduce using rule 100 - ']' reduce using rule 100 - 'as' reduce using rule 100 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - '|' reduce using rule 100 - '|->' reduce using rule 100 - '}' reduce using rule 100 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 - %eof reduce using rule 100 + '[' shift, and enter state 155 + '\\/' reduce using rule 102 + ']' reduce using rule 102 + 'as' reduce using rule 102 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'unit' shift, and enter state 64 + '|' reduce using rule 102 + '|->' reduce using rule 102 + '}' reduce using rule 102 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 + %eof reduce using rule 102 VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 VarIdent goto state 31 - Term7 goto state 151 + Term7 goto state 154 -State 75 +State 77 %start_pTerm3_internal -> Term3 . (rule 20) %eof accept -State 76 +State 78 %start_pTerm4_internal -> Term4 . (rule 19) %eof accept -State 77 +State 79 %start_pTerm5_internal -> Term5 . (rule 18) - Term5 -> Term5 . '*' Term6 (rule 99) + Term5 -> Term5 . '*' Term6 (rule 101) - '*' shift, and enter state 155 + '*' shift, and enter state 158 %eof accept -State 78 +State 80 %start_pTerm7_internal -> Term7 . (rule 17) %eof accept -State 79 +State 81 - ListRestriction -> Restriction . (rule 75) - ListRestriction -> Restriction . ',' ListRestriction (rule 76) + ListRestriction -> Restriction . (rule 76) + ListRestriction -> Restriction . ',' ListRestriction (rule 77) - ')' reduce using rule 75 - ',' shift, and enter state 154 - ']' reduce using rule 75 - %eof reduce using rule 75 + ')' reduce using rule 76 + ',' shift, and enter state 157 + ']' reduce using rule 76 + %eof reduce using rule 76 -State 80 +State 82 %start_pListRestriction_internal -> ListRestriction . (rule 16) %eof accept -State 81 +State 83 - Restriction -> Term . '|->' Term (rule 74) + Restriction -> Term . '|->' Term (rule 75) - '|->' shift, and enter state 153 + '|->' shift, and enter state 156 -State 82 +State 84 %start_pRestriction_internal -> Restriction . (rule 15) %eof accept -State 83 +State 85 %start_pParamDecl_internal -> ParamDecl . (rule 14) %eof accept -State 84 +State 86 - ParamDecl -> Term6 . (rule 68) - Term6 -> Term6 . '[' ListRestriction ']' (rule 117) - Term6 -> Term6 . Term7 (rule 118) + ParamDecl -> Term6 . (rule 69) + Term6 -> Term6 . '[' ListRestriction ']' (rule 120) + Term6 -> Term6 . Term7 (rule 121) - '(' shift, and enter state 70 + '(' shift, and enter state 72 '*_1' shift, and enter state 43 - '->' reduce using rule 68 + '->' reduce using rule 69 '0_2' shift, and enter state 44 '1' shift, and enter state 45 '1_2' shift, and enter state 46 @@ -2527,91 +2651,96 @@ State 84 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '[' shift, and enter state 152 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 - %eof reduce using rule 68 + '[' shift, and enter state 155 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'unit' shift, and enter state 64 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 + %eof reduce using rule 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 VarIdent goto state 31 - Term7 goto state 151 + Term7 goto state 154 -State 85 +State 87 - Pattern -> VarIdent . (rule 59) + Pattern -> VarIdent . (rule 60) - '(' reduce using rule 59 - ')' reduce using rule 59 - ',' reduce using rule 59 - '->' reduce using rule 59 - ':' reduce using rule 59 - '_' reduce using rule 59 - '{' reduce using rule 59 - L_VarIdentTokenreduce using rule 59 - %eof reduce using rule 59 + '(' reduce using rule 60 + ')' reduce using rule 60 + ',' reduce using rule 60 + '->' reduce using rule 60 + ':' reduce using rule 60 + '_' reduce using rule 60 + 'unit' reduce using rule 60 + '{' reduce using rule 60 + L_VarIdentTokenreduce using rule 60 + %eof reduce using rule 60 -State 86 +State 88 - Param -> Pattern . (rule 63) + Param -> Pattern . (rule 64) - '(' reduce using rule 63 - '->' reduce using rule 63 - ':' reduce using rule 63 - '_' reduce using rule 63 - '{' reduce using rule 63 - L_VarIdentTokenreduce using rule 63 - %eof reduce using rule 63 + '(' reduce using rule 64 + '->' reduce using rule 64 + ':' reduce using rule 64 + '_' reduce using rule 64 + 'unit' reduce using rule 64 + '{' reduce using rule 64 + L_VarIdentTokenreduce using rule 64 + %eof reduce using rule 64 -State 87 +State 89 - ListParam -> Param . (rule 66) - ListParam -> Param . ListParam (rule 67) + ListParam -> Param . (rule 67) + ListParam -> Param . ListParam (rule 68) - '(' shift, and enter state 89 - '->' reduce using rule 66 - ':' reduce using rule 66 - '_' shift, and enter state 90 - '{' shift, and enter state 91 - L_VarIdentTokenshift, and enter state 66 - %eof reduce using rule 66 + '(' shift, and enter state 91 + '->' reduce using rule 67 + ':' reduce using rule 67 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + '{' shift, and enter state 94 + L_VarIdentTokenshift, and enter state 68 + %eof reduce using rule 67 VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 86 - Param goto state 87 - ListParam goto state 150 + VarIdent goto state 87 + Pattern goto state 88 + Param goto state 89 + ListParam goto state 153 -State 88 +State 90 %start_pListParam_internal -> ListParam . (rule 13) %eof accept -State 89 +State 91 - Pattern -> '(' . Pattern ',' Pattern ')' (rule 60) - Param -> '(' . ListPattern ':' Term ')' (rule 64) + Pattern -> '(' . Pattern ',' Pattern ')' (rule 61) + Param -> '(' . ListPattern ':' Term ')' (rule 65) - '(' shift, and enter state 95 - '_' shift, and enter state 90 - L_VarIdentTokenshift, and enter state 66 + '(' shift, and enter state 98 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 148 - ListPattern goto state 149 + VarIdent goto state 87 + Pattern goto state 151 + ListPattern goto state 152 -State 90 +State 92 Pattern -> '_' . (rule 58) @@ -2621,73 +2750,93 @@ State 90 '->' reduce using rule 58 ':' reduce using rule 58 '_' reduce using rule 58 + 'unit' reduce using rule 58 '{' reduce using rule 58 L_VarIdentTokenreduce using rule 58 %eof reduce using rule 58 -State 91 +State 93 + + Pattern -> 'unit' . (rule 59) + + '(' reduce using rule 59 + ')' reduce using rule 59 + ',' reduce using rule 59 + '->' reduce using rule 59 + ':' reduce using rule 59 + '_' reduce using rule 59 + 'unit' reduce using rule 59 + '{' reduce using rule 59 + L_VarIdentTokenreduce using rule 59 + %eof reduce using rule 59 + + +State 94 - Param -> '{' . Pattern ':' Term '|' Term '}' (rule 65) + Param -> '{' . Pattern ':' Term '|' Term '}' (rule 66) - '(' shift, and enter state 95 - '_' shift, and enter state 90 - L_VarIdentTokenshift, and enter state 66 + '(' shift, and enter state 98 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 147 + VarIdent goto state 87 + Pattern goto state 150 -State 92 +State 95 %start_pParam_internal -> Param . (rule 12) %eof accept -State 93 +State 96 - ListPattern -> Pattern . (rule 61) - ListPattern -> Pattern . ListPattern (rule 62) + ListPattern -> Pattern . (rule 62) + ListPattern -> Pattern . ListPattern (rule 63) - '(' shift, and enter state 95 - ':' reduce using rule 61 - '_' shift, and enter state 90 - L_VarIdentTokenshift, and enter state 66 - %eof reduce using rule 61 + '(' shift, and enter state 98 + ':' reduce using rule 62 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + L_VarIdentTokenshift, and enter state 68 + %eof reduce using rule 62 VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 93 - ListPattern goto state 146 + VarIdent goto state 87 + Pattern goto state 96 + ListPattern goto state 149 -State 94 +State 97 %start_pListPattern_internal -> ListPattern . (rule 11) %eof accept -State 95 +State 98 - Pattern -> '(' . Pattern ',' Pattern ')' (rule 60) + Pattern -> '(' . Pattern ',' Pattern ')' (rule 61) - '(' shift, and enter state 95 - '_' shift, and enter state 90 - L_VarIdentTokenshift, and enter state 66 + '(' shift, and enter state 98 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 145 + VarIdent goto state 87 + Pattern goto state 148 -State 96 +State 99 %start_pPattern_internal -> Pattern . (rule 10) %eof accept -State 97 +State 100 SectionName -> VarIdent . (rule 57) @@ -2695,52 +2844,52 @@ State 97 %eof reduce using rule 57 -State 98 +State 101 %start_pSectionName_internal -> SectionName . (rule 9) %eof accept -State 99 +State 102 %start_pDeclUsedVars_internal -> DeclUsedVars . (rule 8) %eof accept -State 100 +State 103 DeclUsedVars -> 'uses' . '(' ListVarIdent ')' (rule 54) - '(' shift, and enter state 144 + '(' shift, and enter state 147 -State 101 +State 104 ListCommand -> Command . ';' ListCommand (rule 53) - ';' shift, and enter state 143 + ';' shift, and enter state 146 -State 102 +State 105 %start_pListCommand_internal -> ListCommand . (rule 7) %eof accept -State 103 +State 106 Command -> '#assume' . ListVarIdent ':' Term (rule 44) - L_VarIdentTokenshift, and enter state 66 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 121 - ListVarIdent goto state 142 + VarIdent goto state 124 + ListVarIdent goto state 145 -State 104 +State 107 Command -> '#check' . Term ':' Term (rule 38) @@ -2757,19 +2906,21 @@ State 104 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -2783,9 +2934,9 @@ State 104 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 141 + Term goto state 144 -State 105 +State 108 Command -> '#compute' . Term (rule 39) @@ -2802,19 +2953,21 @@ State 105 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -2828,9 +2981,9 @@ State 105 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 140 + Term goto state 143 -State 106 +State 109 Command -> '#compute-nf' . Term (rule 41) @@ -2847,19 +3000,21 @@ State 106 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -2873,9 +3028,9 @@ State 106 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 139 + Term goto state 142 -State 107 +State 110 Command -> '#compute-whnf' . Term (rule 40) @@ -2892,19 +3047,21 @@ State 107 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -2918,99 +3075,99 @@ State 107 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 138 + Term goto state 141 -State 108 +State 111 Command -> '#def' . VarIdent DeclUsedVars ListParam ':' Term ':=' Term (rule 50) Command -> '#def' . VarIdent DeclUsedVars ':' Term ':=' Term (rule 51) - L_VarIdentTokenshift, and enter state 66 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 137 + VarIdent goto state 140 -State 109 +State 112 Command -> '#define' . VarIdent DeclUsedVars ListParam ':' Term ':=' Term (rule 48) Command -> '#define' . VarIdent DeclUsedVars ':' Term ':=' Term (rule 49) - L_VarIdentTokenshift, and enter state 66 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 136 + VarIdent goto state 139 -State 110 +State 113 Command -> '#postulate' . VarIdent DeclUsedVars ListParam ':' Term (rule 42) Command -> '#postulate' . VarIdent DeclUsedVars ':' Term (rule 43) - L_VarIdentTokenshift, and enter state 66 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 135 + VarIdent goto state 138 -State 111 +State 114 Command -> '#section' . SectionName ';' ListCommand '#end' SectionName (rule 47) ';' reduce using rule 56 - L_VarIdentTokenshift, and enter state 66 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 97 - SectionName goto state 134 + VarIdent goto state 100 + SectionName goto state 137 -State 112 +State 115 Command -> '#set-option' . String '=' String (rule 36) L_quoted shift, and enter state 27 - String goto state 133 + String goto state 136 -State 113 +State 116 Command -> '#unset-option' . String (rule 37) L_quoted shift, and enter state 27 - String goto state 132 + String goto state 135 -State 114 +State 117 Command -> '#variable' . VarIdent ':' Term (rule 45) - L_VarIdentTokenshift, and enter state 66 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 131 + VarIdent goto state 134 -State 115 +State 118 Command -> '#variables' . ListVarIdent ':' Term (rule 46) - L_VarIdentTokenshift, and enter state 66 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 121 - ListVarIdent goto state 130 + VarIdent goto state 124 + ListVarIdent goto state 133 -State 116 +State 119 %start_pCommand_internal -> Command . (rule 6) %eof accept -State 117 +State 120 %start_pLanguage_internal -> Language . (rule 5) %eof accept -State 118 +State 121 Language -> 'rzk-1' . (rule 35) @@ -3018,93 +3175,93 @@ State 118 %eof reduce using rule 35 -State 119 +State 122 %start_pLanguageDecl_internal -> LanguageDecl . (rule 4) %eof accept -State 120 +State 123 LanguageDecl -> '#lang' . Language ';' (rule 34) - 'rzk-1' shift, and enter state 118 + 'rzk-1' shift, and enter state 121 - Language goto state 129 + Language goto state 132 -State 121 +State 124 ListVarIdent -> VarIdent . (rule 32) ListVarIdent -> VarIdent . ListVarIdent (rule 33) ')' reduce using rule 32 ':' reduce using rule 32 - L_VarIdentTokenshift, and enter state 66 + L_VarIdentTokenshift, and enter state 68 %eof reduce using rule 32 VarIdentToken goto state 28 - VarIdent goto state 121 - ListVarIdent goto state 128 + VarIdent goto state 124 + ListVarIdent goto state 131 -State 122 +State 125 %start_pListVarIdent_internal -> ListVarIdent . (rule 3) %eof accept -State 123 +State 126 %start_pVarIdent_internal -> VarIdent . (rule 2) %eof accept -State 124 +State 127 %start_pHoleIdent_internal -> HoleIdent . (rule 1) %eof accept -State 125 +State 128 %start_pModule_internal -> Module . (rule 0) %eof accept -State 126 +State 129 Module -> LanguageDecl . ListCommand (rule 29) - '#assume' shift, and enter state 103 - '#check' shift, and enter state 104 - '#compute' shift, and enter state 105 - '#compute-nf' shift, and enter state 106 - '#compute-whnf'shift, and enter state 107 - '#def' shift, and enter state 108 - '#define' shift, and enter state 109 - '#postulate' shift, and enter state 110 - '#section' shift, and enter state 111 - '#set-option' shift, and enter state 112 - '#unset-option'shift, and enter state 113 - '#variable' shift, and enter state 114 - '#variables' shift, and enter state 115 + '#assume' shift, and enter state 106 + '#check' shift, and enter state 107 + '#compute' shift, and enter state 108 + '#compute-nf' shift, and enter state 109 + '#compute-whnf'shift, and enter state 110 + '#def' shift, and enter state 111 + '#define' shift, and enter state 112 + '#postulate' shift, and enter state 113 + '#section' shift, and enter state 114 + '#set-option' shift, and enter state 115 + '#unset-option'shift, and enter state 116 + '#variable' shift, and enter state 117 + '#variables' shift, and enter state 118 %eof reduce using rule 52 - Command goto state 101 - ListCommand goto state 127 + Command goto state 104 + ListCommand goto state 130 -State 127 +State 130 Module -> LanguageDecl ListCommand . (rule 29) %eof reduce using rule 29 -State 128 +State 131 ListVarIdent -> VarIdent ListVarIdent . (rule 33) @@ -3113,28 +3270,28 @@ State 128 %eof reduce using rule 33 -State 129 +State 132 LanguageDecl -> '#lang' Language . ';' (rule 34) - ';' shift, and enter state 225 + ';' shift, and enter state 228 -State 130 +State 133 Command -> '#variables' ListVarIdent . ':' Term (rule 46) - ':' shift, and enter state 224 + ':' shift, and enter state 227 -State 131 +State 134 Command -> '#variable' VarIdent . ':' Term (rule 45) - ':' shift, and enter state 223 + ':' shift, and enter state 226 -State 132 +State 135 Command -> '#unset-option' String . (rule 37) @@ -3142,21 +3299,21 @@ State 132 %eof reduce using rule 37 -State 133 +State 136 Command -> '#set-option' String . '=' String (rule 36) - '=' shift, and enter state 222 + '=' shift, and enter state 225 -State 134 +State 137 Command -> '#section' SectionName . ';' ListCommand '#end' SectionName (rule 47) - ';' shift, and enter state 221 + ';' shift, and enter state 224 -State 135 +State 138 Command -> '#postulate' VarIdent . DeclUsedVars ListParam ':' Term (rule 42) Command -> '#postulate' VarIdent . DeclUsedVars ':' Term (rule 43) @@ -3164,13 +3321,14 @@ State 135 '(' reduce using rule 55 ':' reduce using rule 55 '_' reduce using rule 55 - 'uses' shift, and enter state 100 + 'unit' reduce using rule 55 + 'uses' shift, and enter state 103 '{' reduce using rule 55 L_VarIdentTokenreduce using rule 55 - DeclUsedVars goto state 220 + DeclUsedVars goto state 223 -State 136 +State 139 Command -> '#define' VarIdent . DeclUsedVars ListParam ':' Term ':=' Term (rule 48) Command -> '#define' VarIdent . DeclUsedVars ':' Term ':=' Term (rule 49) @@ -3178,13 +3336,14 @@ State 136 '(' reduce using rule 55 ':' reduce using rule 55 '_' reduce using rule 55 - 'uses' shift, and enter state 100 + 'unit' reduce using rule 55 + 'uses' shift, and enter state 103 '{' reduce using rule 55 L_VarIdentTokenreduce using rule 55 - DeclUsedVars goto state 219 + DeclUsedVars goto state 222 -State 137 +State 140 Command -> '#def' VarIdent . DeclUsedVars ListParam ':' Term ':=' Term (rule 50) Command -> '#def' VarIdent . DeclUsedVars ':' Term ':=' Term (rule 51) @@ -3192,13 +3351,14 @@ State 137 '(' reduce using rule 55 ':' reduce using rule 55 '_' reduce using rule 55 - 'uses' shift, and enter state 100 + 'unit' reduce using rule 55 + 'uses' shift, and enter state 103 '{' reduce using rule 55 L_VarIdentTokenreduce using rule 55 - DeclUsedVars goto state 218 + DeclUsedVars goto state 221 -State 138 +State 141 Command -> '#compute-whnf' Term . (rule 40) @@ -3206,7 +3366,7 @@ State 138 %eof reduce using rule 40 -State 139 +State 142 Command -> '#compute-nf' Term . (rule 41) @@ -3214,7 +3374,7 @@ State 139 %eof reduce using rule 41 -State 140 +State 143 Command -> '#compute' Term . (rule 39) @@ -3222,158 +3382,160 @@ State 140 %eof reduce using rule 39 -State 141 +State 144 Command -> '#check' Term . ':' Term (rule 38) - ':' shift, and enter state 217 + ':' shift, and enter state 220 -State 142 +State 145 Command -> '#assume' ListVarIdent . ':' Term (rule 44) - ':' shift, and enter state 216 + ':' shift, and enter state 219 -State 143 +State 146 ListCommand -> Command ';' . ListCommand (rule 53) - '#assume' shift, and enter state 103 - '#check' shift, and enter state 104 - '#compute' shift, and enter state 105 - '#compute-nf' shift, and enter state 106 - '#compute-whnf'shift, and enter state 107 - '#def' shift, and enter state 108 - '#define' shift, and enter state 109 + '#assume' shift, and enter state 106 + '#check' shift, and enter state 107 + '#compute' shift, and enter state 108 + '#compute-nf' shift, and enter state 109 + '#compute-whnf'shift, and enter state 110 + '#def' shift, and enter state 111 + '#define' shift, and enter state 112 '#end' reduce using rule 52 - '#postulate' shift, and enter state 110 - '#section' shift, and enter state 111 - '#set-option' shift, and enter state 112 - '#unset-option'shift, and enter state 113 - '#variable' shift, and enter state 114 - '#variables' shift, and enter state 115 + '#postulate' shift, and enter state 113 + '#section' shift, and enter state 114 + '#set-option' shift, and enter state 115 + '#unset-option'shift, and enter state 116 + '#variable' shift, and enter state 117 + '#variables' shift, and enter state 118 %eof reduce using rule 52 - Command goto state 101 - ListCommand goto state 215 + Command goto state 104 + ListCommand goto state 218 -State 144 +State 147 DeclUsedVars -> 'uses' '(' . ListVarIdent ')' (rule 54) - L_VarIdentTokenshift, and enter state 66 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 121 - ListVarIdent goto state 214 + VarIdent goto state 124 + ListVarIdent goto state 217 -State 145 +State 148 - Pattern -> '(' Pattern . ',' Pattern ')' (rule 60) + Pattern -> '(' Pattern . ',' Pattern ')' (rule 61) - ',' shift, and enter state 212 + ',' shift, and enter state 215 -State 146 +State 149 - ListPattern -> Pattern ListPattern . (rule 62) + ListPattern -> Pattern ListPattern . (rule 63) - ':' reduce using rule 62 - %eof reduce using rule 62 + ':' reduce using rule 63 + %eof reduce using rule 63 -State 147 +State 150 - Param -> '{' Pattern . ':' Term '|' Term '}' (rule 65) + Param -> '{' Pattern . ':' Term '|' Term '}' (rule 66) - ':' shift, and enter state 213 + ':' shift, and enter state 216 -State 148 +State 151 - Pattern -> '(' Pattern . ',' Pattern ')' (rule 60) - ListPattern -> Pattern . (rule 61) - ListPattern -> Pattern . ListPattern (rule 62) + Pattern -> '(' Pattern . ',' Pattern ')' (rule 61) + ListPattern -> Pattern . (rule 62) + ListPattern -> Pattern . ListPattern (rule 63) - '(' shift, and enter state 95 - ',' shift, and enter state 212 - ':' reduce using rule 61 - '_' shift, and enter state 90 - L_VarIdentTokenshift, and enter state 66 + '(' shift, and enter state 98 + ',' shift, and enter state 215 + ':' reduce using rule 62 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 93 - ListPattern goto state 146 + VarIdent goto state 87 + Pattern goto state 96 + ListPattern goto state 149 -State 149 +State 152 - Param -> '(' ListPattern . ':' Term ')' (rule 64) + Param -> '(' ListPattern . ':' Term ')' (rule 65) - ':' shift, and enter state 211 + ':' shift, and enter state 214 -State 150 +State 153 - ListParam -> Param ListParam . (rule 67) + ListParam -> Param ListParam . (rule 68) - '->' reduce using rule 67 - ':' reduce using rule 67 - %eof reduce using rule 67 + '->' reduce using rule 68 + ':' reduce using rule 68 + %eof reduce using rule 68 -State 151 +State 154 - Term6 -> Term6 Term7 . (rule 118) + Term6 -> Term6 Term7 . (rule 121) - '(' reduce using rule 118 - ')' reduce using rule 118 - '*' reduce using rule 118 - '*_1' reduce using rule 118 - ',' reduce using rule 118 - '->' reduce using rule 118 - '/\\' reduce using rule 118 - '0_2' reduce using rule 118 - '1' reduce using rule 118 - '1_2' reduce using rule 118 - '2' reduce using rule 118 - ':' reduce using rule 118 - ':=' reduce using rule 118 - ';' reduce using rule 118 - '<' reduce using rule 118 - '<=' reduce using rule 118 - '=' reduce using rule 118 - '===' reduce using rule 118 - '=_{' reduce using rule 118 - '>' reduce using rule 118 - 'BOT' reduce using rule 118 - 'CUBE' reduce using rule 118 - 'TOP' reduce using rule 118 - 'TOPE' reduce using rule 118 - 'U' reduce using rule 118 - '[' reduce using rule 118 - '\\/' reduce using rule 118 - ']' reduce using rule 118 - 'as' reduce using rule 118 - 'idJ' reduce using rule 118 - 'recBOT' reduce using rule 118 - 'recOR' reduce using rule 118 - 'refl' reduce using rule 118 - 'refl_{' reduce using rule 118 - '|' reduce using rule 118 - '|->' reduce using rule 118 - '}' reduce using rule 118 - '→' reduce using rule 118 - L_VarIdentTokenreduce using rule 118 - L_HoleIdentTokenreduce using rule 118 - %eof reduce using rule 118 + '(' reduce using rule 121 + ')' reduce using rule 121 + '*' reduce using rule 121 + '*_1' reduce using rule 121 + ',' reduce using rule 121 + '->' reduce using rule 121 + '/\\' reduce using rule 121 + '0_2' reduce using rule 121 + '1' reduce using rule 121 + '1_2' reduce using rule 121 + '2' reduce using rule 121 + ':' reduce using rule 121 + ':=' reduce using rule 121 + ';' reduce using rule 121 + '<' reduce using rule 121 + '<=' reduce using rule 121 + '=' reduce using rule 121 + '===' reduce using rule 121 + '=_{' reduce using rule 121 + '>' reduce using rule 121 + 'BOT' reduce using rule 121 + 'CUBE' reduce using rule 121 + 'TOP' reduce using rule 121 + 'TOPE' reduce using rule 121 + 'U' reduce using rule 121 + '[' reduce using rule 121 + '\\/' reduce using rule 121 + ']' reduce using rule 121 + 'as' reduce using rule 121 + 'idJ' reduce using rule 121 + 'recBOT' reduce using rule 121 + 'recOR' reduce using rule 121 + 'refl' reduce using rule 121 + 'refl_{' reduce using rule 121 + 'unit' reduce using rule 121 + '|' reduce using rule 121 + '|->' reduce using rule 121 + '}' reduce using rule 121 + '→' reduce using rule 121 + L_VarIdentTokenreduce using rule 121 + L_HoleIdentTokenreduce using rule 121 + %eof reduce using rule 121 -State 152 +State 155 - Term6 -> Term6 '[' . ListRestriction ']' (rule 117) + Term6 -> Term6 '[' . ListRestriction ']' (rule 120) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -3388,27 +3550,29 @@ State 152 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 VarIdent goto state 31 ParamDecl goto state 32 - Restriction goto state 79 - ListRestrictiongoto state 210 + Restriction goto state 81 + ListRestrictiongoto state 213 Term7 goto state 33 Term5 goto state 34 Term4 goto state 35 @@ -3416,11 +3580,11 @@ State 152 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 81 + Term goto state 83 -State 153 +State 156 - Restriction -> Term '|->' . Term (rule 74) + Restriction -> Term '|->' . Term (rule 75) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -3435,19 +3599,21 @@ State 153 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -3461,11 +3627,11 @@ State 153 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 209 + Term goto state 212 -State 154 +State 157 - ListRestriction -> Restriction ',' . ListRestriction (rule 76) + ListRestriction -> Restriction ',' . ListRestriction (rule 77) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -3480,27 +3646,29 @@ State 154 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 VarIdent goto state 31 ParamDecl goto state 32 - Restriction goto state 79 - ListRestrictiongoto state 208 + Restriction goto state 81 + ListRestrictiongoto state 211 Term7 goto state 33 Term5 goto state 34 Term4 goto state 35 @@ -3508,13 +3676,13 @@ State 154 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 81 + Term goto state 83 -State 155 +State 158 - Term5 -> Term5 '*' . Term6 (rule 99) + Term5 -> Term5 '*' . Term6 (rule 101) - '(' shift, and enter state 70 + '(' shift, and enter state 72 '*_1' shift, and enter state 43 '0_2' shift, and enter state 44 '1' shift, and enter state 45 @@ -3526,28 +3694,29 @@ State 155 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 VarIdent goto state 31 Term7 goto state 33 - Term6 goto state 207 + Term6 goto state 210 -State 156 +State 159 - Term1 -> Term2 '=' . Term2 (rule 111) + Term1 -> Term2 '=' . Term2 (rule 114) - '(' shift, and enter state 70 + '(' shift, and enter state 72 '*_1' shift, and enter state 43 '0_2' shift, and enter state 44 '1' shift, and enter state 45 @@ -3559,15 +3728,16 @@ State 156 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -3577,12 +3747,12 @@ State 156 Term5 goto state 34 Term4 goto state 35 Term3 goto state 36 - Term2 goto state 206 - Term6 goto state 74 + Term2 goto state 209 + Term6 goto state 76 -State 157 +State 160 - Term1 -> Term2 '=_{' . Term '}' Term2 (rule 110) + Term1 -> Term2 '=_{' . Term '}' Term2 (rule 113) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -3597,148 +3767,154 @@ State 157 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 - - VarIdentToken goto state 28 - HoleIdentToken goto state 29 - HoleIdent goto state 30 - VarIdent goto state 31 - ParamDecl goto state 32 - Term7 goto state 33 - Term5 goto state 34 - Term4 goto state 35 - Term3 goto state 36 - Term2 goto state 37 - Term1 goto state 38 - Term6 goto state 39 - Term goto state 205 - -State 158 - - Term7 -> '(' Term . ',' Term ')' (rule 91) - Term7 -> '(' Term . ')' (rule 98) - - ')' shift, and enter state 203 - ',' shift, and enter state 204 - - -State 159 - - Term1 -> '∑' '(' . Pattern ':' Term ')' ',' Term1 (rule 116) - - '(' shift, and enter state 95 - '_' shift, and enter state 90 - L_VarIdentTokenshift, and enter state 66 - - VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 202 - -State 160 - - Term1 -> 'Σ' '(' . Pattern ':' Term ')' ',' Term1 (rule 115) - - '(' shift, and enter state 95 - '_' shift, and enter state 90 - L_VarIdentTokenshift, and enter state 66 - - VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 201 - -State 161 - - ParamDecl -> '{' Pattern . ':' Term '}' (rule 70) - ParamDecl -> '{' Pattern . ':' Term '|' Term '}' (rule 73) - - ':' shift, and enter state 200 - - -State 162 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 - Pattern -> '(' . Pattern ',' Pattern ')' (rule 60) - ParamDecl -> '{' '(' . Pattern ':' Term ')' '|' Term '}' (rule 72) - - '(' shift, and enter state 95 - '_' shift, and enter state 90 - L_VarIdentTokenshift, and enter state 66 - - VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 199 - -State 163 - - Term6 -> 'second' Term7 . (rule 120) - - '(' reduce using rule 120 - ')' reduce using rule 120 - '*' reduce using rule 120 - '*_1' reduce using rule 120 - ',' reduce using rule 120 - '->' reduce using rule 120 - '/\\' reduce using rule 120 - '0_2' reduce using rule 120 - '1' reduce using rule 120 - '1_2' reduce using rule 120 - '2' reduce using rule 120 - ':' reduce using rule 120 - ':=' reduce using rule 120 - ';' reduce using rule 120 - '<' reduce using rule 120 - '<=' reduce using rule 120 - '=' reduce using rule 120 - '===' reduce using rule 120 - '=_{' reduce using rule 120 - '>' reduce using rule 120 - 'BOT' reduce using rule 120 - 'CUBE' reduce using rule 120 - 'TOP' reduce using rule 120 - 'TOPE' reduce using rule 120 - 'U' reduce using rule 120 - '[' reduce using rule 120 - '\\/' reduce using rule 120 - ']' reduce using rule 120 - 'as' reduce using rule 120 - 'idJ' reduce using rule 120 - 'recBOT' reduce using rule 120 - 'recOR' reduce using rule 120 - 'refl' reduce using rule 120 - 'refl_{' reduce using rule 120 - '|' reduce using rule 120 - '|->' reduce using rule 120 - '}' reduce using rule 120 - '→' reduce using rule 120 - L_VarIdentTokenreduce using rule 120 - L_HoleIdentTokenreduce using rule 120 - %eof reduce using rule 120 + VarIdentToken goto state 28 + HoleIdentToken goto state 29 + HoleIdent goto state 30 + VarIdent goto state 31 + ParamDecl goto state 32 + Term7 goto state 33 + Term5 goto state 34 + Term4 goto state 35 + Term3 goto state 36 + Term2 goto state 37 + Term1 goto state 38 + Term6 goto state 39 + Term goto state 208 + +State 161 + + Term7 -> '(' Term . ',' Term ')' (rule 92) + Term7 -> '(' Term . ')' (rule 100) + + ')' shift, and enter state 206 + ',' shift, and enter state 207 +State 162 + + Term1 -> '∑' '(' . Pattern ':' Term ')' ',' Term1 (rule 119) + + '(' shift, and enter state 98 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + L_VarIdentTokenshift, and enter state 68 + + VarIdentToken goto state 28 + VarIdent goto state 87 + Pattern goto state 205 + +State 163 + + Term1 -> 'Σ' '(' . Pattern ':' Term ')' ',' Term1 (rule 118) + + '(' shift, and enter state 98 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + L_VarIdentTokenshift, and enter state 68 + + VarIdentToken goto state 28 + VarIdent goto state 87 + Pattern goto state 204 + State 164 - Term7 -> 'refl_{' Term . '}' (rule 93) - Term7 -> 'refl_{' Term . ':' Term '}' (rule 94) + ParamDecl -> '{' Pattern . ':' Term '}' (rule 71) + ParamDecl -> '{' Pattern . ':' Term '|' Term '}' (rule 74) - ':' shift, and enter state 197 - '}' shift, and enter state 198 + ':' shift, and enter state 203 State 165 - Term7 -> 'recOR' '(' . ListRestriction ')' (rule 88) - Term7 -> 'recOR' '(' . Term ',' Term ',' Term ',' Term ')' (rule 89) + Pattern -> '(' . Pattern ',' Pattern ')' (rule 61) + ParamDecl -> '{' '(' . Pattern ':' Term ')' '|' Term '}' (rule 73) + + '(' shift, and enter state 98 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + L_VarIdentTokenshift, and enter state 68 + + VarIdentToken goto state 28 + VarIdent goto state 87 + Pattern goto state 202 + +State 166 + + Term6 -> 'second' Term7 . (rule 123) + + '(' reduce using rule 123 + ')' reduce using rule 123 + '*' reduce using rule 123 + '*_1' reduce using rule 123 + ',' reduce using rule 123 + '->' reduce using rule 123 + '/\\' reduce using rule 123 + '0_2' reduce using rule 123 + '1' reduce using rule 123 + '1_2' reduce using rule 123 + '2' reduce using rule 123 + ':' reduce using rule 123 + ':=' reduce using rule 123 + ';' reduce using rule 123 + '<' reduce using rule 123 + '<=' reduce using rule 123 + '=' reduce using rule 123 + '===' reduce using rule 123 + '=_{' reduce using rule 123 + '>' reduce using rule 123 + 'BOT' reduce using rule 123 + 'CUBE' reduce using rule 123 + 'TOP' reduce using rule 123 + 'TOPE' reduce using rule 123 + 'U' reduce using rule 123 + '[' reduce using rule 123 + '\\/' reduce using rule 123 + ']' reduce using rule 123 + 'as' reduce using rule 123 + 'idJ' reduce using rule 123 + 'recBOT' reduce using rule 123 + 'recOR' reduce using rule 123 + 'refl' reduce using rule 123 + 'refl_{' reduce using rule 123 + 'unit' reduce using rule 123 + '|' reduce using rule 123 + '|->' reduce using rule 123 + '}' reduce using rule 123 + '→' reduce using rule 123 + L_VarIdentTokenreduce using rule 123 + L_HoleIdentTokenreduce using rule 123 + %eof reduce using rule 123 + + +State 167 + + Term7 -> 'refl_{' Term . '}' (rule 95) + Term7 -> 'refl_{' Term . ':' Term '}' (rule 96) + + ':' shift, and enter state 200 + '}' shift, and enter state 201 + + +State 168 + + Term7 -> 'recOR' '(' . ListRestriction ')' (rule 89) + Term7 -> 'recOR' '(' . Term ',' Term ',' Term ',' Term ')' (rule 90) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -3753,27 +3929,29 @@ State 165 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 VarIdent goto state 31 ParamDecl goto state 32 - Restriction goto state 79 - ListRestrictiongoto state 195 + Restriction goto state 81 + ListRestrictiongoto state 198 Term7 goto state 33 Term5 goto state 34 Term4 goto state 35 @@ -3781,11 +3959,11 @@ State 165 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 196 + Term goto state 199 -State 166 +State 169 - Term7 -> 'idJ' '(' . Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' (rule 95) + Term7 -> 'idJ' '(' . Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' (rule 97) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -3800,19 +3978,21 @@ State 166 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -3826,131 +4006,134 @@ State 166 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 194 + Term goto state 197 -State 167 +State 170 - Term6 -> 'first' Term7 . (rule 119) + Term6 -> 'first' Term7 . (rule 122) - '(' reduce using rule 119 - ')' reduce using rule 119 - '*' reduce using rule 119 - '*_1' reduce using rule 119 - ',' reduce using rule 119 - '->' reduce using rule 119 - '/\\' reduce using rule 119 - '0_2' reduce using rule 119 - '1' reduce using rule 119 - '1_2' reduce using rule 119 - '2' reduce using rule 119 - ':' reduce using rule 119 - ':=' reduce using rule 119 - ';' reduce using rule 119 - '<' reduce using rule 119 - '<=' reduce using rule 119 - '=' reduce using rule 119 - '===' reduce using rule 119 - '=_{' reduce using rule 119 - '>' reduce using rule 119 - 'BOT' reduce using rule 119 - 'CUBE' reduce using rule 119 - 'TOP' reduce using rule 119 - 'TOPE' reduce using rule 119 - 'U' reduce using rule 119 - '[' reduce using rule 119 - '\\/' reduce using rule 119 - ']' reduce using rule 119 - 'as' reduce using rule 119 - 'idJ' reduce using rule 119 - 'recBOT' reduce using rule 119 - 'recOR' reduce using rule 119 - 'refl' reduce using rule 119 - 'refl_{' reduce using rule 119 - '|' reduce using rule 119 - '|->' reduce using rule 119 - '}' reduce using rule 119 - '→' reduce using rule 119 - L_VarIdentTokenreduce using rule 119 - L_HoleIdentTokenreduce using rule 119 - %eof reduce using rule 119 + '(' reduce using rule 122 + ')' reduce using rule 122 + '*' reduce using rule 122 + '*_1' reduce using rule 122 + ',' reduce using rule 122 + '->' reduce using rule 122 + '/\\' reduce using rule 122 + '0_2' reduce using rule 122 + '1' reduce using rule 122 + '1_2' reduce using rule 122 + '2' reduce using rule 122 + ':' reduce using rule 122 + ':=' reduce using rule 122 + ';' reduce using rule 122 + '<' reduce using rule 122 + '<=' reduce using rule 122 + '=' reduce using rule 122 + '===' reduce using rule 122 + '=_{' reduce using rule 122 + '>' reduce using rule 122 + 'BOT' reduce using rule 122 + 'CUBE' reduce using rule 122 + 'TOP' reduce using rule 122 + 'TOPE' reduce using rule 122 + 'U' reduce using rule 122 + '[' reduce using rule 122 + '\\/' reduce using rule 122 + ']' reduce using rule 122 + 'as' reduce using rule 122 + 'idJ' reduce using rule 122 + 'recBOT' reduce using rule 122 + 'recOR' reduce using rule 122 + 'refl' reduce using rule 122 + 'refl_{' reduce using rule 122 + 'unit' reduce using rule 122 + '|' reduce using rule 122 + '|->' reduce using rule 122 + '}' reduce using rule 122 + '→' reduce using rule 122 + L_VarIdentTokenreduce using rule 122 + L_HoleIdentTokenreduce using rule 122 + %eof reduce using rule 122 -State 168 +State 171 - Term1 -> '\\' ListParam . '->' Term1 (rule 112) + Term1 -> '\\' ListParam . '->' Term1 (rule 115) - '->' shift, and enter state 193 + '->' shift, and enter state 196 -State 169 +State 172 - Term1 -> 'Sigma' '(' . Pattern ':' Term ')' ',' Term1 (rule 109) + Term1 -> 'Sigma' '(' . Pattern ':' Term ')' ',' Term1 (rule 111) - '(' shift, and enter state 95 - '_' shift, and enter state 90 - L_VarIdentTokenshift, and enter state 66 + '(' shift, and enter state 98 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 192 + VarIdent goto state 87 + Pattern goto state 195 -State 170 +State 173 - Term7 -> '<' ParamDecl . '->' Term '>' (rule 90) + Term7 -> '<' ParamDecl . '->' Term '>' (rule 91) - '->' shift, and enter state 191 + '->' shift, and enter state 194 -State 171 +State 174 - ParamDecl -> '(' VarIdent . ':' Term ')' (rule 71) - Term7 -> VarIdent . (rule 97) + ParamDecl -> '(' VarIdent . ':' Term ')' (rule 72) + Term7 -> VarIdent . (rule 99) - '(' reduce using rule 97 - ')' reduce using rule 97 - '*' reduce using rule 97 - '*_1' reduce using rule 97 - ',' reduce using rule 97 - '->' reduce using rule 97 - '/\\' reduce using rule 97 - '0_2' reduce using rule 97 - '1' reduce using rule 97 - '1_2' reduce using rule 97 - '2' reduce using rule 97 - ':' shift, and enter state 190 - '<' reduce using rule 97 - '<=' reduce using rule 97 - '=' reduce using rule 97 - '===' reduce using rule 97 - '=_{' reduce using rule 97 - 'BOT' reduce using rule 97 - 'CUBE' reduce using rule 97 - 'TOP' reduce using rule 97 - 'TOPE' reduce using rule 97 - 'U' reduce using rule 97 - '[' reduce using rule 97 - '\\/' reduce using rule 97 - 'as' reduce using rule 97 - 'idJ' reduce using rule 97 - 'recBOT' reduce using rule 97 - 'recOR' reduce using rule 97 - 'refl' reduce using rule 97 - 'refl_{' reduce using rule 97 - '→' reduce using rule 97 - L_VarIdentTokenreduce using rule 97 - L_HoleIdentTokenreduce using rule 97 + '(' reduce using rule 99 + ')' reduce using rule 99 + '*' reduce using rule 99 + '*_1' reduce using rule 99 + ',' reduce using rule 99 + '->' reduce using rule 99 + '/\\' reduce using rule 99 + '0_2' reduce using rule 99 + '1' reduce using rule 99 + '1_2' reduce using rule 99 + '2' reduce using rule 99 + ':' shift, and enter state 193 + '<' reduce using rule 99 + '<=' reduce using rule 99 + '=' reduce using rule 99 + '===' reduce using rule 99 + '=_{' reduce using rule 99 + 'BOT' reduce using rule 99 + 'CUBE' reduce using rule 99 + 'TOP' reduce using rule 99 + 'TOPE' reduce using rule 99 + 'U' reduce using rule 99 + '[' reduce using rule 99 + '\\/' reduce using rule 99 + 'as' reduce using rule 99 + 'idJ' reduce using rule 99 + 'recBOT' reduce using rule 99 + 'recOR' reduce using rule 99 + 'refl' reduce using rule 99 + 'refl_{' reduce using rule 99 + 'unit' reduce using rule 99 + '→' reduce using rule 99 + L_VarIdentTokenreduce using rule 99 + L_HoleIdentTokenreduce using rule 99 -State 172 +State 175 - ParamDecl -> '(' '_' . ':' Term ')' (rule 69) + ParamDecl -> '(' '_' . ':' Term ')' (rule 70) - ':' shift, and enter state 189 + ':' shift, and enter state 192 -State 173 +State 176 - ListTerm -> Term ',' . ListTerm (rule 125) + ListTerm -> Term ',' . ListTerm (rule 128) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -3965,19 +4148,21 @@ State 173 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -3992,11 +4177,11 @@ State 173 Term1 goto state 38 Term6 goto state 39 Term goto state 40 - ListTerm goto state 188 + ListTerm goto state 191 -State 174 +State 177 - Term -> Term2 'as' . Term1 (rule 122) + Term -> Term2 'as' . Term1 (rule 125) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -4011,19 +4196,21 @@ State 174 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -4034,15 +4221,15 @@ State 174 Term5 goto state 34 Term4 goto state 35 Term3 goto state 36 - Term2 goto state 71 - Term1 goto state 187 + Term2 goto state 73 + Term1 goto state 190 Term6 goto state 39 -State 175 +State 178 - Term2 -> Term3 '\\/' . Term2 (rule 106) + Term2 -> Term3 '\\/' . Term2 (rule 108) - '(' shift, and enter state 70 + '(' shift, and enter state 72 '*_1' shift, and enter state 43 '0_2' shift, and enter state 44 '1' shift, and enter state 45 @@ -4054,15 +4241,16 @@ State 175 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -4072,14 +4260,14 @@ State 175 Term5 goto state 34 Term4 goto state 35 Term3 goto state 36 - Term2 goto state 186 - Term6 goto state 74 + Term2 goto state 189 + Term6 goto state 76 -State 176 +State 179 - Term3 -> Term4 '/\\' . Term3 (rule 104) + Term3 -> Term4 '/\\' . Term3 (rule 106) - '(' shift, and enter state 70 + '(' shift, and enter state 72 '*_1' shift, and enter state 43 '0_2' shift, and enter state 44 '1' shift, and enter state 45 @@ -4091,15 +4279,16 @@ State 176 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -4108,14 +4297,14 @@ State 176 Term7 goto state 33 Term5 goto state 34 Term4 goto state 35 - Term3 goto state 185 - Term6 goto state 74 + Term3 goto state 188 + Term6 goto state 76 -State 177 +State 180 - Term4 -> Term5 '<=' . Term5 (rule 102) + Term4 -> Term5 '<=' . Term5 (rule 104) - '(' shift, and enter state 70 + '(' shift, and enter state 72 '*_1' shift, and enter state 43 '0_2' shift, and enter state 44 '1' shift, and enter state 45 @@ -4127,29 +4316,30 @@ State 177 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 VarIdent goto state 31 Term7 goto state 33 - Term5 goto state 184 - Term6 goto state 74 + Term5 goto state 187 + Term6 goto state 76 -State 178 +State 181 - Term4 -> Term5 '===' . Term5 (rule 101) + Term4 -> Term5 '===' . Term5 (rule 103) - '(' shift, and enter state 70 + '(' shift, and enter state 72 '*_1' shift, and enter state 43 '0_2' shift, and enter state 44 '1' shift, and enter state 45 @@ -4161,27 +4351,28 @@ State 178 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 VarIdent goto state 31 Term7 goto state 33 - Term5 goto state 183 - Term6 goto state 74 + Term5 goto state 186 + Term6 goto state 76 -State 179 +State 182 - Term1 -> ParamDecl '->' . Term1 (rule 108) + Term1 -> ParamDecl '->' . Term1 (rule 110) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -4196,19 +4387,21 @@ State 179 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -4219,13 +4412,13 @@ State 179 Term5 goto state 34 Term4 goto state 35 Term3 goto state 36 - Term2 goto state 71 - Term1 goto state 182 + Term2 goto state 73 + Term1 goto state 185 Term6 goto state 39 -State 180 +State 183 - Term1 -> ParamDecl '→' . Term1 (rule 114) + Term1 -> ParamDecl '→' . Term1 (rule 117) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -4240,19 +4433,21 @@ State 180 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -4263,98 +4458,77 @@ State 180 Term5 goto state 34 Term4 goto state 35 Term3 goto state 36 - Term2 goto state 71 - Term1 goto state 181 + Term2 goto state 73 + Term1 goto state 184 Term6 goto state 39 -State 181 - - Term1 -> ParamDecl '→' Term1 . (rule 114) - - ')' reduce using rule 114 - ',' reduce using rule 114 - ':' reduce using rule 114 - ':=' reduce using rule 114 - ';' reduce using rule 114 - '>' reduce using rule 114 - ']' reduce using rule 114 - '|' reduce using rule 114 - '|->' reduce using rule 114 - '}' reduce using rule 114 - %eof reduce using rule 114 - - -State 182 +State 184 - Term1 -> ParamDecl '->' Term1 . (rule 108) + Term1 -> ParamDecl '→' Term1 . (rule 117) - ')' reduce using rule 108 - ',' reduce using rule 108 - ':' reduce using rule 108 - ':=' reduce using rule 108 - ';' reduce using rule 108 - '>' reduce using rule 108 - ']' reduce using rule 108 - '|' reduce using rule 108 - '|->' reduce using rule 108 - '}' reduce using rule 108 - %eof reduce using rule 108 + ')' reduce using rule 117 + ',' reduce using rule 117 + ':' reduce using rule 117 + ':=' reduce using rule 117 + ';' reduce using rule 117 + '>' reduce using rule 117 + ']' reduce using rule 117 + '|' reduce using rule 117 + '|->' reduce using rule 117 + '}' reduce using rule 117 + %eof reduce using rule 117 -State 183 +State 185 - Term5 -> Term5 . '*' Term6 (rule 99) - Term4 -> Term5 '===' Term5 . (rule 101) + Term1 -> ParamDecl '->' Term1 . (rule 110) - ')' reduce using rule 101 - '*' shift, and enter state 155 - ',' reduce using rule 101 - '/\\' reduce using rule 101 - ':' reduce using rule 101 - ':=' reduce using rule 101 - ';' reduce using rule 101 - '=' reduce using rule 101 - '=_{' reduce using rule 101 - '>' reduce using rule 101 - '\\/' reduce using rule 101 - ']' reduce using rule 101 - 'as' reduce using rule 101 - '|' reduce using rule 101 - '|->' reduce using rule 101 - '}' reduce using rule 101 - %eof reduce using rule 101 + ')' reduce using rule 110 + ',' reduce using rule 110 + ':' reduce using rule 110 + ':=' reduce using rule 110 + ';' reduce using rule 110 + '>' reduce using rule 110 + ']' reduce using rule 110 + '|' reduce using rule 110 + '|->' reduce using rule 110 + '}' reduce using rule 110 + %eof reduce using rule 110 -State 184 +State 186 - Term5 -> Term5 . '*' Term6 (rule 99) - Term4 -> Term5 '<=' Term5 . (rule 102) + Term5 -> Term5 . '*' Term6 (rule 101) + Term4 -> Term5 '===' Term5 . (rule 103) - ')' reduce using rule 102 - '*' shift, and enter state 155 - ',' reduce using rule 102 - '/\\' reduce using rule 102 - ':' reduce using rule 102 - ':=' reduce using rule 102 - ';' reduce using rule 102 - '=' reduce using rule 102 - '=_{' reduce using rule 102 - '>' reduce using rule 102 - '\\/' reduce using rule 102 - ']' reduce using rule 102 - 'as' reduce using rule 102 - '|' reduce using rule 102 - '|->' reduce using rule 102 - '}' reduce using rule 102 - %eof reduce using rule 102 + ')' reduce using rule 103 + '*' shift, and enter state 158 + ',' reduce using rule 103 + '/\\' reduce using rule 103 + ':' reduce using rule 103 + ':=' reduce using rule 103 + ';' reduce using rule 103 + '=' reduce using rule 103 + '=_{' reduce using rule 103 + '>' reduce using rule 103 + '\\/' reduce using rule 103 + ']' reduce using rule 103 + 'as' reduce using rule 103 + '|' reduce using rule 103 + '|->' reduce using rule 103 + '}' reduce using rule 103 + %eof reduce using rule 103 -State 185 +State 187 - Term3 -> Term4 '/\\' Term3 . (rule 104) + Term5 -> Term5 . '*' Term6 (rule 101) + Term4 -> Term5 '<=' Term5 . (rule 104) ')' reduce using rule 104 + '*' shift, and enter state 158 ',' reduce using rule 104 + '/\\' reduce using rule 104 ':' reduce using rule 104 ':=' reduce using rule 104 ';' reduce using rule 104 @@ -4370,9 +4544,9 @@ State 185 %eof reduce using rule 104 -State 186 +State 188 - Term2 -> Term3 '\\/' Term2 . (rule 106) + Term3 -> Term4 '/\\' Term3 . (rule 106) ')' reduce using rule 106 ',' reduce using rule 106 @@ -4382,6 +4556,7 @@ State 186 '=' reduce using rule 106 '=_{' reduce using rule 106 '>' reduce using rule 106 + '\\/' reduce using rule 106 ']' reduce using rule 106 'as' reduce using rule 106 '|' reduce using rule 106 @@ -4390,33 +4565,53 @@ State 186 %eof reduce using rule 106 -State 187 - - Term -> Term2 'as' Term1 . (rule 122) +State 189 - ')' reduce using rule 122 - ',' reduce using rule 122 - ':' reduce using rule 122 - ':=' reduce using rule 122 - ';' reduce using rule 122 - '>' reduce using rule 122 - ']' reduce using rule 122 - '|' reduce using rule 122 - '|->' reduce using rule 122 - '}' reduce using rule 122 - %eof reduce using rule 122 + Term2 -> Term3 '\\/' Term2 . (rule 108) + ')' reduce using rule 108 + ',' reduce using rule 108 + ':' reduce using rule 108 + ':=' reduce using rule 108 + ';' reduce using rule 108 + '=' reduce using rule 108 + '=_{' reduce using rule 108 + '>' reduce using rule 108 + ']' reduce using rule 108 + 'as' reduce using rule 108 + '|' reduce using rule 108 + '|->' reduce using rule 108 + '}' reduce using rule 108 + %eof reduce using rule 108 -State 188 - ListTerm -> Term ',' ListTerm . (rule 125) +State 190 + Term -> Term2 'as' Term1 . (rule 125) + + ')' reduce using rule 125 + ',' reduce using rule 125 + ':' reduce using rule 125 + ':=' reduce using rule 125 + ';' reduce using rule 125 + '>' reduce using rule 125 + ']' reduce using rule 125 + '|' reduce using rule 125 + '|->' reduce using rule 125 + '}' reduce using rule 125 %eof reduce using rule 125 -State 189 +State 191 + + ListTerm -> Term ',' ListTerm . (rule 128) + + %eof reduce using rule 128 - ParamDecl -> '(' '_' ':' . Term ')' (rule 69) + +State 192 + + ParamDecl -> '(' '_' ':' . Term ')' (rule 70) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -4431,19 +4626,21 @@ State 189 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -4457,11 +4654,11 @@ State 189 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 257 + Term goto state 260 -State 190 +State 193 - ParamDecl -> '(' VarIdent ':' . Term ')' (rule 71) + ParamDecl -> '(' VarIdent ':' . Term ')' (rule 72) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -4476,19 +4673,21 @@ State 190 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -4502,11 +4701,11 @@ State 190 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 256 + Term goto state 259 -State 191 +State 194 - Term7 -> '<' ParamDecl '->' . Term '>' (rule 90) + Term7 -> '<' ParamDecl '->' . Term '>' (rule 91) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -4521,19 +4720,21 @@ State 191 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -4547,18 +4748,18 @@ State 191 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 255 + Term goto state 258 -State 192 +State 195 - Term1 -> 'Sigma' '(' Pattern . ':' Term ')' ',' Term1 (rule 109) + Term1 -> 'Sigma' '(' Pattern . ':' Term ')' ',' Term1 (rule 111) - ':' shift, and enter state 254 + ':' shift, and enter state 257 -State 193 +State 196 - Term1 -> '\\' ListParam '->' . Term1 (rule 112) + Term1 -> '\\' ListParam '->' . Term1 (rule 115) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -4573,19 +4774,21 @@ State 193 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -4596,36 +4799,36 @@ State 193 Term5 goto state 34 Term4 goto state 35 Term3 goto state 36 - Term2 goto state 71 - Term1 goto state 253 + Term2 goto state 73 + Term1 goto state 256 Term6 goto state 39 -State 194 +State 197 - Term7 -> 'idJ' '(' Term . ',' Term ',' Term ',' Term ',' Term ',' Term ')' (rule 95) + Term7 -> 'idJ' '(' Term . ',' Term ',' Term ',' Term ',' Term ',' Term ')' (rule 97) - ',' shift, and enter state 252 + ',' shift, and enter state 255 -State 195 +State 198 - Term7 -> 'recOR' '(' ListRestriction . ')' (rule 88) + Term7 -> 'recOR' '(' ListRestriction . ')' (rule 89) - ')' shift, and enter state 251 + ')' shift, and enter state 254 -State 196 +State 199 - Restriction -> Term . '|->' Term (rule 74) - Term7 -> 'recOR' '(' Term . ',' Term ',' Term ',' Term ')' (rule 89) + Restriction -> Term . '|->' Term (rule 75) + Term7 -> 'recOR' '(' Term . ',' Term ',' Term ',' Term ')' (rule 90) - ',' shift, and enter state 250 - '|->' shift, and enter state 153 + ',' shift, and enter state 253 + '|->' shift, and enter state 156 -State 197 +State 200 - Term7 -> 'refl_{' Term ':' . Term '}' (rule 94) + Term7 -> 'refl_{' Term ':' . Term '}' (rule 96) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -4640,19 +4843,21 @@ State 197 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -4666,68 +4871,69 @@ State 197 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 249 + Term goto state 252 -State 198 +State 201 - Term7 -> 'refl_{' Term '}' . (rule 93) + Term7 -> 'refl_{' Term '}' . (rule 95) - '(' reduce using rule 93 - ')' reduce using rule 93 - '*' reduce using rule 93 - '*_1' reduce using rule 93 - ',' reduce using rule 93 - '->' reduce using rule 93 - '/\\' reduce using rule 93 - '0_2' reduce using rule 93 - '1' reduce using rule 93 - '1_2' reduce using rule 93 - '2' reduce using rule 93 - ':' reduce using rule 93 - ':=' reduce using rule 93 - ';' reduce using rule 93 - '<' reduce using rule 93 - '<=' reduce using rule 93 - '=' reduce using rule 93 - '===' reduce using rule 93 - '=_{' reduce using rule 93 - '>' reduce using rule 93 - 'BOT' reduce using rule 93 - 'CUBE' reduce using rule 93 - 'TOP' reduce using rule 93 - 'TOPE' reduce using rule 93 - 'U' reduce using rule 93 - '[' reduce using rule 93 - '\\/' reduce using rule 93 - ']' reduce using rule 93 - 'as' reduce using rule 93 - 'idJ' reduce using rule 93 - 'recBOT' reduce using rule 93 - 'recOR' reduce using rule 93 - 'refl' reduce using rule 93 - 'refl_{' reduce using rule 93 - '|' reduce using rule 93 - '|->' reduce using rule 93 - '}' reduce using rule 93 - '→' reduce using rule 93 - L_VarIdentTokenreduce using rule 93 - L_HoleIdentTokenreduce using rule 93 - %eof reduce using rule 93 + '(' reduce using rule 95 + ')' reduce using rule 95 + '*' reduce using rule 95 + '*_1' reduce using rule 95 + ',' reduce using rule 95 + '->' reduce using rule 95 + '/\\' reduce using rule 95 + '0_2' reduce using rule 95 + '1' reduce using rule 95 + '1_2' reduce using rule 95 + '2' reduce using rule 95 + ':' reduce using rule 95 + ':=' reduce using rule 95 + ';' reduce using rule 95 + '<' reduce using rule 95 + '<=' reduce using rule 95 + '=' reduce using rule 95 + '===' reduce using rule 95 + '=_{' reduce using rule 95 + '>' reduce using rule 95 + 'BOT' reduce using rule 95 + 'CUBE' reduce using rule 95 + 'TOP' reduce using rule 95 + 'TOPE' reduce using rule 95 + 'U' reduce using rule 95 + '[' reduce using rule 95 + '\\/' reduce using rule 95 + ']' reduce using rule 95 + 'as' reduce using rule 95 + 'idJ' reduce using rule 95 + 'recBOT' reduce using rule 95 + 'recOR' reduce using rule 95 + 'refl' reduce using rule 95 + 'refl_{' reduce using rule 95 + 'unit' reduce using rule 95 + '|' reduce using rule 95 + '|->' reduce using rule 95 + '}' reduce using rule 95 + '→' reduce using rule 95 + L_VarIdentTokenreduce using rule 95 + L_HoleIdentTokenreduce using rule 95 + %eof reduce using rule 95 -State 199 +State 202 - Pattern -> '(' Pattern . ',' Pattern ')' (rule 60) - ParamDecl -> '{' '(' Pattern . ':' Term ')' '|' Term '}' (rule 72) + Pattern -> '(' Pattern . ',' Pattern ')' (rule 61) + ParamDecl -> '{' '(' Pattern . ':' Term ')' '|' Term '}' (rule 73) - ',' shift, and enter state 212 - ':' shift, and enter state 248 + ',' shift, and enter state 215 + ':' shift, and enter state 251 -State 200 +State 203 - ParamDecl -> '{' Pattern ':' . Term '}' (rule 70) - ParamDecl -> '{' Pattern ':' . Term '|' Term '}' (rule 73) + ParamDecl -> '{' Pattern ':' . Term '}' (rule 71) + ParamDecl -> '{' Pattern ':' . Term '|' Term '}' (rule 74) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -4742,19 +4948,21 @@ State 200 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -4768,72 +4976,73 @@ State 200 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 247 + Term goto state 250 -State 201 +State 204 - Term1 -> 'Σ' '(' Pattern . ':' Term ')' ',' Term1 (rule 115) + Term1 -> 'Σ' '(' Pattern . ':' Term ')' ',' Term1 (rule 118) - ':' shift, and enter state 246 + ':' shift, and enter state 249 -State 202 +State 205 - Term1 -> '∑' '(' Pattern . ':' Term ')' ',' Term1 (rule 116) + Term1 -> '∑' '(' Pattern . ':' Term ')' ',' Term1 (rule 119) - ':' shift, and enter state 245 + ':' shift, and enter state 248 -State 203 +State 206 - Term7 -> '(' Term ')' . (rule 98) + Term7 -> '(' Term ')' . (rule 100) - '(' reduce using rule 98 - ')' reduce using rule 98 - '*' reduce using rule 98 - '*_1' reduce using rule 98 - ',' reduce using rule 98 - '->' reduce using rule 98 - '/\\' reduce using rule 98 - '0_2' reduce using rule 98 - '1' reduce using rule 98 - '1_2' reduce using rule 98 - '2' reduce using rule 98 - ':' reduce using rule 98 - ':=' reduce using rule 98 - ';' reduce using rule 98 - '<' reduce using rule 98 - '<=' reduce using rule 98 - '=' reduce using rule 98 - '===' reduce using rule 98 - '=_{' reduce using rule 98 - '>' reduce using rule 98 - 'BOT' reduce using rule 98 - 'CUBE' reduce using rule 98 - 'TOP' reduce using rule 98 - 'TOPE' reduce using rule 98 - 'U' reduce using rule 98 - '[' reduce using rule 98 - '\\/' reduce using rule 98 - ']' reduce using rule 98 - 'as' reduce using rule 98 - 'idJ' reduce using rule 98 - 'recBOT' reduce using rule 98 - 'recOR' reduce using rule 98 - 'refl' reduce using rule 98 - 'refl_{' reduce using rule 98 - '|' reduce using rule 98 - '|->' reduce using rule 98 - '}' reduce using rule 98 - '→' reduce using rule 98 - L_VarIdentTokenreduce using rule 98 - L_HoleIdentTokenreduce using rule 98 - %eof reduce using rule 98 + '(' reduce using rule 100 + ')' reduce using rule 100 + '*' reduce using rule 100 + '*_1' reduce using rule 100 + ',' reduce using rule 100 + '->' reduce using rule 100 + '/\\' reduce using rule 100 + '0_2' reduce using rule 100 + '1' reduce using rule 100 + '1_2' reduce using rule 100 + '2' reduce using rule 100 + ':' reduce using rule 100 + ':=' reduce using rule 100 + ';' reduce using rule 100 + '<' reduce using rule 100 + '<=' reduce using rule 100 + '=' reduce using rule 100 + '===' reduce using rule 100 + '=_{' reduce using rule 100 + '>' reduce using rule 100 + 'BOT' reduce using rule 100 + 'CUBE' reduce using rule 100 + 'TOP' reduce using rule 100 + 'TOPE' reduce using rule 100 + 'U' reduce using rule 100 + '[' reduce using rule 100 + '\\/' reduce using rule 100 + ']' reduce using rule 100 + 'as' reduce using rule 100 + 'idJ' reduce using rule 100 + 'recBOT' reduce using rule 100 + 'recOR' reduce using rule 100 + 'refl' reduce using rule 100 + 'refl_{' reduce using rule 100 + 'unit' reduce using rule 100 + '|' reduce using rule 100 + '|->' reduce using rule 100 + '}' reduce using rule 100 + '→' reduce using rule 100 + L_VarIdentTokenreduce using rule 100 + L_HoleIdentTokenreduce using rule 100 + %eof reduce using rule 100 -State 204 +State 207 - Term7 -> '(' Term ',' . Term ')' (rule 91) + Term7 -> '(' Term ',' . Term ')' (rule 92) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -4848,19 +5057,21 @@ State 204 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -4874,113 +5085,114 @@ State 204 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 244 + Term goto state 247 -State 205 +State 208 - Term1 -> Term2 '=_{' Term . '}' Term2 (rule 110) + Term1 -> Term2 '=_{' Term . '}' Term2 (rule 113) - '}' shift, and enter state 243 + '}' shift, and enter state 246 -State 206 +State 209 - Term1 -> Term2 '=' Term2 . (rule 111) + Term1 -> Term2 '=' Term2 . (rule 114) - ')' reduce using rule 111 - ',' reduce using rule 111 - ':' reduce using rule 111 - ':=' reduce using rule 111 - ';' reduce using rule 111 - '>' reduce using rule 111 - ']' reduce using rule 111 - '|' reduce using rule 111 - '|->' reduce using rule 111 - '}' reduce using rule 111 - %eof reduce using rule 111 + ')' reduce using rule 114 + ',' reduce using rule 114 + ':' reduce using rule 114 + ':=' reduce using rule 114 + ';' reduce using rule 114 + '>' reduce using rule 114 + ']' reduce using rule 114 + '|' reduce using rule 114 + '|->' reduce using rule 114 + '}' reduce using rule 114 + %eof reduce using rule 114 -State 207 +State 210 - Term5 -> Term5 '*' Term6 . (rule 99) - Term6 -> Term6 . '[' ListRestriction ']' (rule 117) - Term6 -> Term6 . Term7 (rule 118) + Term5 -> Term5 '*' Term6 . (rule 101) + Term6 -> Term6 . '[' ListRestriction ']' (rule 120) + Term6 -> Term6 . Term7 (rule 121) - '(' shift, and enter state 70 - ')' reduce using rule 99 - '*' reduce using rule 99 + '(' shift, and enter state 72 + ')' reduce using rule 101 + '*' reduce using rule 101 '*_1' shift, and enter state 43 - ',' reduce using rule 99 - '/\\' reduce using rule 99 + ',' reduce using rule 101 + '/\\' reduce using rule 101 '0_2' shift, and enter state 44 '1' shift, and enter state 45 '1_2' shift, and enter state 46 - '2' shift, and enter state 47 - ':' reduce using rule 99 - ':=' reduce using rule 99 - ';' reduce using rule 99 + '2' shift, and enter state 47 + ':' reduce using rule 101 + ':=' reduce using rule 101 + ';' reduce using rule 101 '<' shift, and enter state 48 - '<=' reduce using rule 99 - '=' reduce using rule 99 - '===' reduce using rule 99 - '=_{' reduce using rule 99 - '>' reduce using rule 99 + '<=' reduce using rule 101 + '=' reduce using rule 101 + '===' reduce using rule 101 + '=_{' reduce using rule 101 + '>' reduce using rule 101 'BOT' shift, and enter state 49 'CUBE' shift, and enter state 50 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '[' shift, and enter state 152 - '\\/' reduce using rule 99 - ']' reduce using rule 99 - 'as' reduce using rule 99 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - '|' reduce using rule 99 - '|->' reduce using rule 99 - '}' reduce using rule 99 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 - %eof reduce using rule 99 + '[' shift, and enter state 155 + '\\/' reduce using rule 101 + ']' reduce using rule 101 + 'as' reduce using rule 101 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'unit' shift, and enter state 64 + '|' reduce using rule 101 + '|->' reduce using rule 101 + '}' reduce using rule 101 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 + %eof reduce using rule 101 VarIdentToken goto state 28 HoleIdentToken goto state 29 HoleIdent goto state 30 VarIdent goto state 31 - Term7 goto state 151 + Term7 goto state 154 -State 208 +State 211 - ListRestriction -> Restriction ',' ListRestriction . (rule 76) + ListRestriction -> Restriction ',' ListRestriction . (rule 77) - ')' reduce using rule 76 - ']' reduce using rule 76 - %eof reduce using rule 76 + ')' reduce using rule 77 + ']' reduce using rule 77 + %eof reduce using rule 77 -State 209 +State 212 - Restriction -> Term '|->' Term . (rule 74) + Restriction -> Term '|->' Term . (rule 75) - ')' reduce using rule 74 - ',' reduce using rule 74 - ']' reduce using rule 74 - %eof reduce using rule 74 + ')' reduce using rule 75 + ',' reduce using rule 75 + ']' reduce using rule 75 + %eof reduce using rule 75 -State 210 +State 213 - Term6 -> Term6 '[' ListRestriction . ']' (rule 117) + Term6 -> Term6 '[' ListRestriction . ']' (rule 120) - ']' shift, and enter state 242 + ']' shift, and enter state 245 -State 211 +State 214 - Param -> '(' ListPattern ':' . Term ')' (rule 64) + Param -> '(' ListPattern ':' . Term ')' (rule 65) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -4995,19 +5207,21 @@ State 211 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -5021,23 +5235,24 @@ State 211 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 241 + Term goto state 244 -State 212 +State 215 - Pattern -> '(' Pattern ',' . Pattern ')' (rule 60) + Pattern -> '(' Pattern ',' . Pattern ')' (rule 61) - '(' shift, and enter state 95 - '_' shift, and enter state 90 - L_VarIdentTokenshift, and enter state 66 + '(' shift, and enter state 98 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 240 + VarIdent goto state 87 + Pattern goto state 243 -State 213 +State 216 - Param -> '{' Pattern ':' . Term '|' Term '}' (rule 65) + Param -> '{' Pattern ':' . Term '|' Term '}' (rule 66) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -5052,19 +5267,21 @@ State 213 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -5078,16 +5295,16 @@ State 213 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 239 + Term goto state 242 -State 214 +State 217 DeclUsedVars -> 'uses' '(' ListVarIdent . ')' (rule 54) - ')' shift, and enter state 238 + ')' shift, and enter state 241 -State 215 +State 218 ListCommand -> Command ';' ListCommand . (rule 53) @@ -5095,7 +5312,7 @@ State 215 %eof reduce using rule 53 -State 216 +State 219 Command -> '#assume' ListVarIdent ':' . Term (rule 44) @@ -5112,19 +5329,21 @@ State 216 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -5138,9 +5357,9 @@ State 216 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 237 + Term goto state 240 -State 217 +State 220 Command -> '#check' Term ':' . Term (rule 38) @@ -5157,19 +5376,21 @@ State 217 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -5183,90 +5404,93 @@ State 217 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 236 + Term goto state 239 -State 218 +State 221 Command -> '#def' VarIdent DeclUsedVars . ListParam ':' Term ':=' Term (rule 50) Command -> '#def' VarIdent DeclUsedVars . ':' Term ':=' Term (rule 51) - '(' shift, and enter state 89 - ':' shift, and enter state 235 - '_' shift, and enter state 90 - '{' shift, and enter state 91 - L_VarIdentTokenshift, and enter state 66 + '(' shift, and enter state 91 + ':' shift, and enter state 238 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + '{' shift, and enter state 94 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 86 - Param goto state 87 - ListParam goto state 234 + VarIdent goto state 87 + Pattern goto state 88 + Param goto state 89 + ListParam goto state 237 -State 219 +State 222 Command -> '#define' VarIdent DeclUsedVars . ListParam ':' Term ':=' Term (rule 48) Command -> '#define' VarIdent DeclUsedVars . ':' Term ':=' Term (rule 49) - '(' shift, and enter state 89 - ':' shift, and enter state 233 - '_' shift, and enter state 90 - '{' shift, and enter state 91 - L_VarIdentTokenshift, and enter state 66 + '(' shift, and enter state 91 + ':' shift, and enter state 236 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + '{' shift, and enter state 94 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 86 - Param goto state 87 - ListParam goto state 232 + VarIdent goto state 87 + Pattern goto state 88 + Param goto state 89 + ListParam goto state 235 -State 220 +State 223 Command -> '#postulate' VarIdent DeclUsedVars . ListParam ':' Term (rule 42) Command -> '#postulate' VarIdent DeclUsedVars . ':' Term (rule 43) - '(' shift, and enter state 89 - ':' shift, and enter state 231 - '_' shift, and enter state 90 - '{' shift, and enter state 91 - L_VarIdentTokenshift, and enter state 66 + '(' shift, and enter state 91 + ':' shift, and enter state 234 + '_' shift, and enter state 92 + 'unit' shift, and enter state 93 + '{' shift, and enter state 94 + L_VarIdentTokenshift, and enter state 68 VarIdentToken goto state 28 - VarIdent goto state 85 - Pattern goto state 86 - Param goto state 87 - ListParam goto state 230 + VarIdent goto state 87 + Pattern goto state 88 + Param goto state 89 + ListParam goto state 233 -State 221 +State 224 Command -> '#section' SectionName ';' . ListCommand '#end' SectionName (rule 47) - '#assume' shift, and enter state 103 - '#check' shift, and enter state 104 - '#compute' shift, and enter state 105 - '#compute-nf' shift, and enter state 106 - '#compute-whnf'shift, and enter state 107 - '#def' shift, and enter state 108 - '#define' shift, and enter state 109 + '#assume' shift, and enter state 106 + '#check' shift, and enter state 107 + '#compute' shift, and enter state 108 + '#compute-nf' shift, and enter state 109 + '#compute-whnf'shift, and enter state 110 + '#def' shift, and enter state 111 + '#define' shift, and enter state 112 '#end' reduce using rule 52 - '#postulate' shift, and enter state 110 - '#section' shift, and enter state 111 - '#set-option' shift, and enter state 112 - '#unset-option'shift, and enter state 113 - '#variable' shift, and enter state 114 - '#variables' shift, and enter state 115 + '#postulate' shift, and enter state 113 + '#section' shift, and enter state 114 + '#set-option' shift, and enter state 115 + '#unset-option'shift, and enter state 116 + '#variable' shift, and enter state 117 + '#variables' shift, and enter state 118 - Command goto state 101 - ListCommand goto state 229 + Command goto state 104 + ListCommand goto state 232 -State 222 +State 225 Command -> '#set-option' String '=' . String (rule 36) L_quoted shift, and enter state 27 - String goto state 228 + String goto state 231 -State 223 +State 226 Command -> '#variable' VarIdent ':' . Term (rule 45) @@ -5283,19 +5507,21 @@ State 223 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -5309,9 +5535,9 @@ State 223 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 227 + Term goto state 230 -State 224 +State 227 Command -> '#variables' ListVarIdent ':' . Term (rule 46) @@ -5328,19 +5554,21 @@ State 224 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -5354,9 +5582,9 @@ State 224 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 226 + Term goto state 229 -State 225 +State 228 LanguageDecl -> '#lang' Language ';' . (rule 34) @@ -5376,7 +5604,7 @@ State 225 %eof reduce using rule 34 -State 226 +State 229 Command -> '#variables' ListVarIdent ':' Term . (rule 46) @@ -5384,7 +5612,7 @@ State 226 %eof reduce using rule 46 -State 227 +State 230 Command -> '#variable' VarIdent ':' Term . (rule 45) @@ -5392,7 +5620,7 @@ State 227 %eof reduce using rule 45 -State 228 +State 231 Command -> '#set-option' String '=' String . (rule 36) @@ -5400,21 +5628,21 @@ State 228 %eof reduce using rule 36 -State 229 +State 232 Command -> '#section' SectionName ';' ListCommand . '#end' SectionName (rule 47) - '#end' shift, and enter state 281 + '#end' shift, and enter state 284 -State 230 +State 233 Command -> '#postulate' VarIdent DeclUsedVars ListParam . ':' Term (rule 42) - ':' shift, and enter state 280 + ':' shift, and enter state 283 -State 231 +State 234 Command -> '#postulate' VarIdent DeclUsedVars ':' . Term (rule 43) @@ -5431,19 +5659,21 @@ State 231 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -5457,16 +5687,16 @@ State 231 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 279 + Term goto state 282 -State 232 +State 235 Command -> '#define' VarIdent DeclUsedVars ListParam . ':' Term ':=' Term (rule 48) - ':' shift, and enter state 278 + ':' shift, and enter state 281 -State 233 +State 236 Command -> '#define' VarIdent DeclUsedVars ':' . Term ':=' Term (rule 49) @@ -5483,19 +5713,21 @@ State 233 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -5509,16 +5741,16 @@ State 233 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 277 + Term goto state 280 -State 234 +State 237 Command -> '#def' VarIdent DeclUsedVars ListParam . ':' Term ':=' Term (rule 50) - ':' shift, and enter state 276 + ':' shift, and enter state 279 -State 235 +State 238 Command -> '#def' VarIdent DeclUsedVars ':' . Term ':=' Term (rule 51) @@ -5535,19 +5767,21 @@ State 235 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -5561,9 +5795,9 @@ State 235 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 275 + Term goto state 278 -State 236 +State 239 Command -> '#check' Term ':' Term . (rule 38) @@ -5571,7 +5805,7 @@ State 236 %eof reduce using rule 38 -State 237 +State 240 Command -> '#assume' ListVarIdent ':' Term . (rule 44) @@ -5579,91 +5813,93 @@ State 237 %eof reduce using rule 44 -State 238 +State 241 DeclUsedVars -> 'uses' '(' ListVarIdent ')' . (rule 54) '(' reduce using rule 54 ':' reduce using rule 54 '_' reduce using rule 54 + 'unit' reduce using rule 54 '{' reduce using rule 54 L_VarIdentTokenreduce using rule 54 %eof reduce using rule 54 -State 239 +State 242 - Param -> '{' Pattern ':' Term . '|' Term '}' (rule 65) + Param -> '{' Pattern ':' Term . '|' Term '}' (rule 66) - '|' shift, and enter state 274 + '|' shift, and enter state 277 -State 240 +State 243 - Pattern -> '(' Pattern ',' Pattern . ')' (rule 60) + Pattern -> '(' Pattern ',' Pattern . ')' (rule 61) - ')' shift, and enter state 273 + ')' shift, and enter state 276 -State 241 +State 244 - Param -> '(' ListPattern ':' Term . ')' (rule 64) + Param -> '(' ListPattern ':' Term . ')' (rule 65) - ')' shift, and enter state 272 + ')' shift, and enter state 275 -State 242 +State 245 - Term6 -> Term6 '[' ListRestriction ']' . (rule 117) + Term6 -> Term6 '[' ListRestriction ']' . (rule 120) - '(' reduce using rule 117 - ')' reduce using rule 117 - '*' reduce using rule 117 - '*_1' reduce using rule 117 - ',' reduce using rule 117 - '->' reduce using rule 117 - '/\\' reduce using rule 117 - '0_2' reduce using rule 117 - '1' reduce using rule 117 - '1_2' reduce using rule 117 - '2' reduce using rule 117 - ':' reduce using rule 117 - ':=' reduce using rule 117 - ';' reduce using rule 117 - '<' reduce using rule 117 - '<=' reduce using rule 117 - '=' reduce using rule 117 - '===' reduce using rule 117 - '=_{' reduce using rule 117 - '>' reduce using rule 117 - 'BOT' reduce using rule 117 - 'CUBE' reduce using rule 117 - 'TOP' reduce using rule 117 - 'TOPE' reduce using rule 117 - 'U' reduce using rule 117 - '[' reduce using rule 117 - '\\/' reduce using rule 117 - ']' reduce using rule 117 - 'as' reduce using rule 117 - 'idJ' reduce using rule 117 - 'recBOT' reduce using rule 117 - 'recOR' reduce using rule 117 - 'refl' reduce using rule 117 - 'refl_{' reduce using rule 117 - '|' reduce using rule 117 - '|->' reduce using rule 117 - '}' reduce using rule 117 - '→' reduce using rule 117 - L_VarIdentTokenreduce using rule 117 - L_HoleIdentTokenreduce using rule 117 - %eof reduce using rule 117 + '(' reduce using rule 120 + ')' reduce using rule 120 + '*' reduce using rule 120 + '*_1' reduce using rule 120 + ',' reduce using rule 120 + '->' reduce using rule 120 + '/\\' reduce using rule 120 + '0_2' reduce using rule 120 + '1' reduce using rule 120 + '1_2' reduce using rule 120 + '2' reduce using rule 120 + ':' reduce using rule 120 + ':=' reduce using rule 120 + ';' reduce using rule 120 + '<' reduce using rule 120 + '<=' reduce using rule 120 + '=' reduce using rule 120 + '===' reduce using rule 120 + '=_{' reduce using rule 120 + '>' reduce using rule 120 + 'BOT' reduce using rule 120 + 'CUBE' reduce using rule 120 + 'TOP' reduce using rule 120 + 'TOPE' reduce using rule 120 + 'U' reduce using rule 120 + '[' reduce using rule 120 + '\\/' reduce using rule 120 + ']' reduce using rule 120 + 'as' reduce using rule 120 + 'idJ' reduce using rule 120 + 'recBOT' reduce using rule 120 + 'recOR' reduce using rule 120 + 'refl' reduce using rule 120 + 'refl_{' reduce using rule 120 + 'unit' reduce using rule 120 + '|' reduce using rule 120 + '|->' reduce using rule 120 + '}' reduce using rule 120 + '→' reduce using rule 120 + L_VarIdentTokenreduce using rule 120 + L_HoleIdentTokenreduce using rule 120 + %eof reduce using rule 120 -State 243 +State 246 - Term1 -> Term2 '=_{' Term '}' . Term2 (rule 110) + Term1 -> Term2 '=_{' Term '}' . Term2 (rule 113) - '(' shift, and enter state 70 + '(' shift, and enter state 72 '*_1' shift, and enter state 43 '0_2' shift, and enter state 44 '1' shift, and enter state 45 @@ -5675,15 +5911,16 @@ State 243 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -5693,19 +5930,19 @@ State 243 Term5 goto state 34 Term4 goto state 35 Term3 goto state 36 - Term2 goto state 271 - Term6 goto state 74 + Term2 goto state 274 + Term6 goto state 76 -State 244 +State 247 - Term7 -> '(' Term ',' Term . ')' (rule 91) + Term7 -> '(' Term ',' Term . ')' (rule 92) - ')' shift, and enter state 270 + ')' shift, and enter state 273 -State 245 +State 248 - Term1 -> '∑' '(' Pattern ':' . Term ')' ',' Term1 (rule 116) + Term1 -> '∑' '(' Pattern ':' . Term ')' ',' Term1 (rule 119) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -5720,19 +5957,21 @@ State 245 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -5746,11 +5985,11 @@ State 245 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 269 + Term goto state 272 -State 246 +State 249 - Term1 -> 'Σ' '(' Pattern ':' . Term ')' ',' Term1 (rule 115) + Term1 -> 'Σ' '(' Pattern ':' . Term ')' ',' Term1 (rule 118) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -5765,19 +6004,21 @@ State 246 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -5791,20 +6032,20 @@ State 246 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 268 + Term goto state 271 -State 247 +State 250 - ParamDecl -> '{' Pattern ':' Term . '}' (rule 70) - ParamDecl -> '{' Pattern ':' Term . '|' Term '}' (rule 73) + ParamDecl -> '{' Pattern ':' Term . '}' (rule 71) + ParamDecl -> '{' Pattern ':' Term . '|' Term '}' (rule 74) - '|' shift, and enter state 266 - '}' shift, and enter state 267 + '|' shift, and enter state 269 + '}' shift, and enter state 270 -State 248 +State 251 - ParamDecl -> '{' '(' Pattern ':' . Term ')' '|' Term '}' (rule 72) + ParamDecl -> '{' '(' Pattern ':' . Term ')' '|' Term '}' (rule 73) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -5819,19 +6060,21 @@ State 248 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -5845,18 +6088,18 @@ State 248 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 265 + Term goto state 268 -State 249 +State 252 - Term7 -> 'refl_{' Term ':' Term . '}' (rule 94) + Term7 -> 'refl_{' Term ':' Term . '}' (rule 96) - '}' shift, and enter state 264 + '}' shift, and enter state 267 -State 250 +State 253 - Term7 -> 'recOR' '(' Term ',' . Term ',' Term ',' Term ')' (rule 89) + Term7 -> 'recOR' '(' Term ',' . Term ',' Term ',' Term ')' (rule 90) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -5871,19 +6114,21 @@ State 250 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -5897,58 +6142,59 @@ State 250 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 263 + Term goto state 266 -State 251 +State 254 - Term7 -> 'recOR' '(' ListRestriction ')' . (rule 88) + Term7 -> 'recOR' '(' ListRestriction ')' . (rule 89) - '(' reduce using rule 88 - ')' reduce using rule 88 - '*' reduce using rule 88 - '*_1' reduce using rule 88 - ',' reduce using rule 88 - '->' reduce using rule 88 - '/\\' reduce using rule 88 - '0_2' reduce using rule 88 - '1' reduce using rule 88 - '1_2' reduce using rule 88 - '2' reduce using rule 88 - ':' reduce using rule 88 - ':=' reduce using rule 88 - ';' reduce using rule 88 - '<' reduce using rule 88 - '<=' reduce using rule 88 - '=' reduce using rule 88 - '===' reduce using rule 88 - '=_{' reduce using rule 88 - '>' reduce using rule 88 - 'BOT' reduce using rule 88 - 'CUBE' reduce using rule 88 - 'TOP' reduce using rule 88 - 'TOPE' reduce using rule 88 - 'U' reduce using rule 88 - '[' reduce using rule 88 - '\\/' reduce using rule 88 - ']' reduce using rule 88 - 'as' reduce using rule 88 - 'idJ' reduce using rule 88 - 'recBOT' reduce using rule 88 - 'recOR' reduce using rule 88 - 'refl' reduce using rule 88 - 'refl_{' reduce using rule 88 - '|' reduce using rule 88 - '|->' reduce using rule 88 - '}' reduce using rule 88 - '→' reduce using rule 88 - L_VarIdentTokenreduce using rule 88 - L_HoleIdentTokenreduce using rule 88 - %eof reduce using rule 88 + '(' reduce using rule 89 + ')' reduce using rule 89 + '*' reduce using rule 89 + '*_1' reduce using rule 89 + ',' reduce using rule 89 + '->' reduce using rule 89 + '/\\' reduce using rule 89 + '0_2' reduce using rule 89 + '1' reduce using rule 89 + '1_2' reduce using rule 89 + '2' reduce using rule 89 + ':' reduce using rule 89 + ':=' reduce using rule 89 + ';' reduce using rule 89 + '<' reduce using rule 89 + '<=' reduce using rule 89 + '=' reduce using rule 89 + '===' reduce using rule 89 + '=_{' reduce using rule 89 + '>' reduce using rule 89 + 'BOT' reduce using rule 89 + 'CUBE' reduce using rule 89 + 'TOP' reduce using rule 89 + 'TOPE' reduce using rule 89 + 'U' reduce using rule 89 + '[' reduce using rule 89 + '\\/' reduce using rule 89 + ']' reduce using rule 89 + 'as' reduce using rule 89 + 'idJ' reduce using rule 89 + 'recBOT' reduce using rule 89 + 'recOR' reduce using rule 89 + 'refl' reduce using rule 89 + 'refl_{' reduce using rule 89 + 'unit' reduce using rule 89 + '|' reduce using rule 89 + '|->' reduce using rule 89 + '}' reduce using rule 89 + '→' reduce using rule 89 + L_VarIdentTokenreduce using rule 89 + L_HoleIdentTokenreduce using rule 89 + %eof reduce using rule 89 -State 252 +State 255 - Term7 -> 'idJ' '(' Term ',' . Term ',' Term ',' Term ',' Term ',' Term ')' (rule 95) + Term7 -> 'idJ' '(' Term ',' . Term ',' Term ',' Term ',' Term ',' Term ')' (rule 97) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -5963,19 +6209,21 @@ State 252 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -5989,28 +6237,28 @@ State 252 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 262 + Term goto state 265 -State 253 +State 256 - Term1 -> '\\' ListParam '->' Term1 . (rule 112) + Term1 -> '\\' ListParam '->' Term1 . (rule 115) - ')' reduce using rule 112 - ',' reduce using rule 112 - ':' reduce using rule 112 - ':=' reduce using rule 112 - ';' reduce using rule 112 - '>' reduce using rule 112 - ']' reduce using rule 112 - '|' reduce using rule 112 - '|->' reduce using rule 112 - '}' reduce using rule 112 - %eof reduce using rule 112 + ')' reduce using rule 115 + ',' reduce using rule 115 + ':' reduce using rule 115 + ':=' reduce using rule 115 + ';' reduce using rule 115 + '>' reduce using rule 115 + ']' reduce using rule 115 + '|' reduce using rule 115 + '|->' reduce using rule 115 + '}' reduce using rule 115 + %eof reduce using rule 115 -State 254 +State 257 - Term1 -> 'Sigma' '(' Pattern ':' . Term ')' ',' Term1 (rule 109) + Term1 -> 'Sigma' '(' Pattern ':' . Term ')' ',' Term1 (rule 111) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -6025,19 +6273,21 @@ State 254 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -6051,172 +6301,174 @@ State 254 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 261 + Term goto state 264 -State 255 +State 258 - Term7 -> '<' ParamDecl '->' Term . '>' (rule 90) + Term7 -> '<' ParamDecl '->' Term . '>' (rule 91) - '>' shift, and enter state 260 + '>' shift, and enter state 263 -State 256 +State 259 - ParamDecl -> '(' VarIdent ':' Term . ')' (rule 71) + ParamDecl -> '(' VarIdent ':' Term . ')' (rule 72) - ')' shift, and enter state 259 + ')' shift, and enter state 262 -State 257 +State 260 - ParamDecl -> '(' '_' ':' Term . ')' (rule 69) + ParamDecl -> '(' '_' ':' Term . ')' (rule 70) - ')' shift, and enter state 258 + ')' shift, and enter state 261 -State 258 +State 261 - ParamDecl -> '(' '_' ':' Term ')' . (rule 69) + ParamDecl -> '(' '_' ':' Term ')' . (rule 70) - '->' reduce using rule 69 - '→' reduce using rule 69 - %eof reduce using rule 69 + '->' reduce using rule 70 + '→' reduce using rule 70 + %eof reduce using rule 70 -State 259 +State 262 - ParamDecl -> '(' VarIdent ':' Term ')' . (rule 71) + ParamDecl -> '(' VarIdent ':' Term ')' . (rule 72) - '->' reduce using rule 71 - '→' reduce using rule 71 - %eof reduce using rule 71 + '->' reduce using rule 72 + '→' reduce using rule 72 + %eof reduce using rule 72 -State 260 +State 263 - Term7 -> '<' ParamDecl '->' Term '>' . (rule 90) + Term7 -> '<' ParamDecl '->' Term '>' . (rule 91) - '(' reduce using rule 90 - ')' reduce using rule 90 - '*' reduce using rule 90 - '*_1' reduce using rule 90 - ',' reduce using rule 90 - '->' reduce using rule 90 - '/\\' reduce using rule 90 - '0_2' reduce using rule 90 - '1' reduce using rule 90 - '1_2' reduce using rule 90 - '2' reduce using rule 90 - ':' reduce using rule 90 - ':=' reduce using rule 90 - ';' reduce using rule 90 - '<' reduce using rule 90 - '<=' reduce using rule 90 - '=' reduce using rule 90 - '===' reduce using rule 90 - '=_{' reduce using rule 90 - '>' reduce using rule 90 - 'BOT' reduce using rule 90 - 'CUBE' reduce using rule 90 - 'TOP' reduce using rule 90 - 'TOPE' reduce using rule 90 - 'U' reduce using rule 90 - '[' reduce using rule 90 - '\\/' reduce using rule 90 - ']' reduce using rule 90 - 'as' reduce using rule 90 - 'idJ' reduce using rule 90 - 'recBOT' reduce using rule 90 - 'recOR' reduce using rule 90 - 'refl' reduce using rule 90 - 'refl_{' reduce using rule 90 - '|' reduce using rule 90 - '|->' reduce using rule 90 - '}' reduce using rule 90 - '→' reduce using rule 90 - L_VarIdentTokenreduce using rule 90 - L_HoleIdentTokenreduce using rule 90 - %eof reduce using rule 90 + '(' reduce using rule 91 + ')' reduce using rule 91 + '*' reduce using rule 91 + '*_1' reduce using rule 91 + ',' reduce using rule 91 + '->' reduce using rule 91 + '/\\' reduce using rule 91 + '0_2' reduce using rule 91 + '1' reduce using rule 91 + '1_2' reduce using rule 91 + '2' reduce using rule 91 + ':' reduce using rule 91 + ':=' reduce using rule 91 + ';' reduce using rule 91 + '<' reduce using rule 91 + '<=' reduce using rule 91 + '=' reduce using rule 91 + '===' reduce using rule 91 + '=_{' reduce using rule 91 + '>' reduce using rule 91 + 'BOT' reduce using rule 91 + 'CUBE' reduce using rule 91 + 'TOP' reduce using rule 91 + 'TOPE' reduce using rule 91 + 'U' reduce using rule 91 + '[' reduce using rule 91 + '\\/' reduce using rule 91 + ']' reduce using rule 91 + 'as' reduce using rule 91 + 'idJ' reduce using rule 91 + 'recBOT' reduce using rule 91 + 'recOR' reduce using rule 91 + 'refl' reduce using rule 91 + 'refl_{' reduce using rule 91 + 'unit' reduce using rule 91 + '|' reduce using rule 91 + '|->' reduce using rule 91 + '}' reduce using rule 91 + '→' reduce using rule 91 + L_VarIdentTokenreduce using rule 91 + L_HoleIdentTokenreduce using rule 91 + %eof reduce using rule 91 -State 261 +State 264 - Term1 -> 'Sigma' '(' Pattern ':' Term . ')' ',' Term1 (rule 109) + Term1 -> 'Sigma' '(' Pattern ':' Term . ')' ',' Term1 (rule 111) - ')' shift, and enter state 295 + ')' shift, and enter state 298 -State 262 +State 265 - Term7 -> 'idJ' '(' Term ',' Term . ',' Term ',' Term ',' Term ',' Term ')' (rule 95) + Term7 -> 'idJ' '(' Term ',' Term . ',' Term ',' Term ',' Term ',' Term ')' (rule 97) - ',' shift, and enter state 294 + ',' shift, and enter state 297 -State 263 +State 266 - Term7 -> 'recOR' '(' Term ',' Term . ',' Term ',' Term ')' (rule 89) + Term7 -> 'recOR' '(' Term ',' Term . ',' Term ',' Term ')' (rule 90) - ',' shift, and enter state 293 + ',' shift, and enter state 296 -State 264 +State 267 - Term7 -> 'refl_{' Term ':' Term '}' . (rule 94) + Term7 -> 'refl_{' Term ':' Term '}' . (rule 96) - '(' reduce using rule 94 - ')' reduce using rule 94 - '*' reduce using rule 94 - '*_1' reduce using rule 94 - ',' reduce using rule 94 - '->' reduce using rule 94 - '/\\' reduce using rule 94 - '0_2' reduce using rule 94 - '1' reduce using rule 94 - '1_2' reduce using rule 94 - '2' reduce using rule 94 - ':' reduce using rule 94 - ':=' reduce using rule 94 - ';' reduce using rule 94 - '<' reduce using rule 94 - '<=' reduce using rule 94 - '=' reduce using rule 94 - '===' reduce using rule 94 - '=_{' reduce using rule 94 - '>' reduce using rule 94 - 'BOT' reduce using rule 94 - 'CUBE' reduce using rule 94 - 'TOP' reduce using rule 94 - 'TOPE' reduce using rule 94 - 'U' reduce using rule 94 - '[' reduce using rule 94 - '\\/' reduce using rule 94 - ']' reduce using rule 94 - 'as' reduce using rule 94 - 'idJ' reduce using rule 94 - 'recBOT' reduce using rule 94 - 'recOR' reduce using rule 94 - 'refl' reduce using rule 94 - 'refl_{' reduce using rule 94 - '|' reduce using rule 94 - '|->' reduce using rule 94 - '}' reduce using rule 94 - '→' reduce using rule 94 - L_VarIdentTokenreduce using rule 94 - L_HoleIdentTokenreduce using rule 94 - %eof reduce using rule 94 + '(' reduce using rule 96 + ')' reduce using rule 96 + '*' reduce using rule 96 + '*_1' reduce using rule 96 + ',' reduce using rule 96 + '->' reduce using rule 96 + '/\\' reduce using rule 96 + '0_2' reduce using rule 96 + '1' reduce using rule 96 + '1_2' reduce using rule 96 + '2' reduce using rule 96 + ':' reduce using rule 96 + ':=' reduce using rule 96 + ';' reduce using rule 96 + '<' reduce using rule 96 + '<=' reduce using rule 96 + '=' reduce using rule 96 + '===' reduce using rule 96 + '=_{' reduce using rule 96 + '>' reduce using rule 96 + 'BOT' reduce using rule 96 + 'CUBE' reduce using rule 96 + 'TOP' reduce using rule 96 + 'TOPE' reduce using rule 96 + 'U' reduce using rule 96 + '[' reduce using rule 96 + '\\/' reduce using rule 96 + ']' reduce using rule 96 + 'as' reduce using rule 96 + 'idJ' reduce using rule 96 + 'recBOT' reduce using rule 96 + 'recOR' reduce using rule 96 + 'refl' reduce using rule 96 + 'refl_{' reduce using rule 96 + 'unit' reduce using rule 96 + '|' reduce using rule 96 + '|->' reduce using rule 96 + '}' reduce using rule 96 + '→' reduce using rule 96 + L_VarIdentTokenreduce using rule 96 + L_HoleIdentTokenreduce using rule 96 + %eof reduce using rule 96 -State 265 +State 268 - ParamDecl -> '{' '(' Pattern ':' Term . ')' '|' Term '}' (rule 72) + ParamDecl -> '{' '(' Pattern ':' Term . ')' '|' Term '}' (rule 73) - ')' shift, and enter state 292 + ')' shift, and enter state 295 -State 266 +State 269 - ParamDecl -> '{' Pattern ':' Term '|' . Term '}' (rule 73) + ParamDecl -> '{' Pattern ':' Term '|' . Term '}' (rule 74) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -6231,19 +6483,21 @@ State 266 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -6257,126 +6511,129 @@ State 266 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 291 + Term goto state 294 -State 267 +State 270 - ParamDecl -> '{' Pattern ':' Term '}' . (rule 70) + ParamDecl -> '{' Pattern ':' Term '}' . (rule 71) - '->' reduce using rule 70 - '→' reduce using rule 70 - %eof reduce using rule 70 + '->' reduce using rule 71 + '→' reduce using rule 71 + %eof reduce using rule 71 -State 268 +State 271 - Term1 -> 'Σ' '(' Pattern ':' Term . ')' ',' Term1 (rule 115) + Term1 -> 'Σ' '(' Pattern ':' Term . ')' ',' Term1 (rule 118) - ')' shift, and enter state 290 + ')' shift, and enter state 293 -State 269 +State 272 - Term1 -> '∑' '(' Pattern ':' Term . ')' ',' Term1 (rule 116) + Term1 -> '∑' '(' Pattern ':' Term . ')' ',' Term1 (rule 119) - ')' shift, and enter state 289 + ')' shift, and enter state 292 -State 270 +State 273 - Term7 -> '(' Term ',' Term ')' . (rule 91) + Term7 -> '(' Term ',' Term ')' . (rule 92) - '(' reduce using rule 91 - ')' reduce using rule 91 - '*' reduce using rule 91 - '*_1' reduce using rule 91 - ',' reduce using rule 91 - '->' reduce using rule 91 - '/\\' reduce using rule 91 - '0_2' reduce using rule 91 - '1' reduce using rule 91 - '1_2' reduce using rule 91 - '2' reduce using rule 91 - ':' reduce using rule 91 - ':=' reduce using rule 91 - ';' reduce using rule 91 - '<' reduce using rule 91 - '<=' reduce using rule 91 - '=' reduce using rule 91 - '===' reduce using rule 91 - '=_{' reduce using rule 91 - '>' reduce using rule 91 - 'BOT' reduce using rule 91 - 'CUBE' reduce using rule 91 - 'TOP' reduce using rule 91 - 'TOPE' reduce using rule 91 - 'U' reduce using rule 91 - '[' reduce using rule 91 - '\\/' reduce using rule 91 - ']' reduce using rule 91 - 'as' reduce using rule 91 - 'idJ' reduce using rule 91 - 'recBOT' reduce using rule 91 - 'recOR' reduce using rule 91 - 'refl' reduce using rule 91 - 'refl_{' reduce using rule 91 - '|' reduce using rule 91 - '|->' reduce using rule 91 - '}' reduce using rule 91 - '→' reduce using rule 91 - L_VarIdentTokenreduce using rule 91 - L_HoleIdentTokenreduce using rule 91 - %eof reduce using rule 91 + '(' reduce using rule 92 + ')' reduce using rule 92 + '*' reduce using rule 92 + '*_1' reduce using rule 92 + ',' reduce using rule 92 + '->' reduce using rule 92 + '/\\' reduce using rule 92 + '0_2' reduce using rule 92 + '1' reduce using rule 92 + '1_2' reduce using rule 92 + '2' reduce using rule 92 + ':' reduce using rule 92 + ':=' reduce using rule 92 + ';' reduce using rule 92 + '<' reduce using rule 92 + '<=' reduce using rule 92 + '=' reduce using rule 92 + '===' reduce using rule 92 + '=_{' reduce using rule 92 + '>' reduce using rule 92 + 'BOT' reduce using rule 92 + 'CUBE' reduce using rule 92 + 'TOP' reduce using rule 92 + 'TOPE' reduce using rule 92 + 'U' reduce using rule 92 + '[' reduce using rule 92 + '\\/' reduce using rule 92 + ']' reduce using rule 92 + 'as' reduce using rule 92 + 'idJ' reduce using rule 92 + 'recBOT' reduce using rule 92 + 'recOR' reduce using rule 92 + 'refl' reduce using rule 92 + 'refl_{' reduce using rule 92 + 'unit' reduce using rule 92 + '|' reduce using rule 92 + '|->' reduce using rule 92 + '}' reduce using rule 92 + '→' reduce using rule 92 + L_VarIdentTokenreduce using rule 92 + L_HoleIdentTokenreduce using rule 92 + %eof reduce using rule 92 -State 271 +State 274 - Term1 -> Term2 '=_{' Term '}' Term2 . (rule 110) + Term1 -> Term2 '=_{' Term '}' Term2 . (rule 113) - ')' reduce using rule 110 - ',' reduce using rule 110 - ':' reduce using rule 110 - ':=' reduce using rule 110 - ';' reduce using rule 110 - '>' reduce using rule 110 - ']' reduce using rule 110 - '|' reduce using rule 110 - '|->' reduce using rule 110 - '}' reduce using rule 110 - %eof reduce using rule 110 + ')' reduce using rule 113 + ',' reduce using rule 113 + ':' reduce using rule 113 + ':=' reduce using rule 113 + ';' reduce using rule 113 + '>' reduce using rule 113 + ']' reduce using rule 113 + '|' reduce using rule 113 + '|->' reduce using rule 113 + '}' reduce using rule 113 + %eof reduce using rule 113 -State 272 +State 275 - Param -> '(' ListPattern ':' Term ')' . (rule 64) + Param -> '(' ListPattern ':' Term ')' . (rule 65) - '(' reduce using rule 64 - '->' reduce using rule 64 - ':' reduce using rule 64 - '_' reduce using rule 64 - '{' reduce using rule 64 - L_VarIdentTokenreduce using rule 64 - %eof reduce using rule 64 + '(' reduce using rule 65 + '->' reduce using rule 65 + ':' reduce using rule 65 + '_' reduce using rule 65 + 'unit' reduce using rule 65 + '{' reduce using rule 65 + L_VarIdentTokenreduce using rule 65 + %eof reduce using rule 65 -State 273 +State 276 - Pattern -> '(' Pattern ',' Pattern ')' . (rule 60) + Pattern -> '(' Pattern ',' Pattern ')' . (rule 61) - '(' reduce using rule 60 - ')' reduce using rule 60 - ',' reduce using rule 60 - '->' reduce using rule 60 - ':' reduce using rule 60 - '_' reduce using rule 60 - '{' reduce using rule 60 - L_VarIdentTokenreduce using rule 60 - %eof reduce using rule 60 + '(' reduce using rule 61 + ')' reduce using rule 61 + ',' reduce using rule 61 + '->' reduce using rule 61 + ':' reduce using rule 61 + '_' reduce using rule 61 + 'unit' reduce using rule 61 + '{' reduce using rule 61 + L_VarIdentTokenreduce using rule 61 + %eof reduce using rule 61 -State 274 +State 277 - Param -> '{' Pattern ':' Term '|' . Term '}' (rule 65) + Param -> '{' Pattern ':' Term '|' . Term '}' (rule 66) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -6391,19 +6648,21 @@ State 274 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -6417,16 +6676,16 @@ State 274 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 288 + Term goto state 291 -State 275 +State 278 Command -> '#def' VarIdent DeclUsedVars ':' Term . ':=' Term (rule 51) - ':=' shift, and enter state 287 + ':=' shift, and enter state 290 -State 276 +State 279 Command -> '#def' VarIdent DeclUsedVars ListParam ':' . Term ':=' Term (rule 50) @@ -6443,19 +6702,21 @@ State 276 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -6469,16 +6730,16 @@ State 276 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 286 + Term goto state 289 -State 277 +State 280 Command -> '#define' VarIdent DeclUsedVars ':' Term . ':=' Term (rule 49) - ':=' shift, and enter state 285 + ':=' shift, and enter state 288 -State 278 +State 281 Command -> '#define' VarIdent DeclUsedVars ListParam ':' . Term ':=' Term (rule 48) @@ -6495,19 +6756,21 @@ State 278 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -6521,9 +6784,9 @@ State 278 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 284 + Term goto state 287 -State 279 +State 282 Command -> '#postulate' VarIdent DeclUsedVars ':' Term . (rule 43) @@ -6531,7 +6794,7 @@ State 279 %eof reduce using rule 43 -State 280 +State 283 Command -> '#postulate' VarIdent DeclUsedVars ListParam ':' . Term (rule 42) @@ -6548,19 +6811,21 @@ State 280 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -6574,21 +6839,21 @@ State 280 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 283 + Term goto state 286 -State 281 +State 284 Command -> '#section' SectionName ';' ListCommand '#end' . SectionName (rule 47) ';' reduce using rule 56 - L_VarIdentTokenshift, and enter state 66 + L_VarIdentTokenshift, and enter state 68 %eof reduce using rule 56 VarIdentToken goto state 28 - VarIdent goto state 97 - SectionName goto state 282 + VarIdent goto state 100 + SectionName goto state 285 -State 282 +State 285 Command -> '#section' SectionName ';' ListCommand '#end' SectionName . (rule 47) @@ -6596,7 +6861,7 @@ State 282 %eof reduce using rule 47 -State 283 +State 286 Command -> '#postulate' VarIdent DeclUsedVars ListParam ':' Term . (rule 42) @@ -6604,14 +6869,14 @@ State 283 %eof reduce using rule 42 -State 284 +State 287 Command -> '#define' VarIdent DeclUsedVars ListParam ':' Term . ':=' Term (rule 48) - ':=' shift, and enter state 307 + ':=' shift, and enter state 310 -State 285 +State 288 Command -> '#define' VarIdent DeclUsedVars ':' Term ':=' . Term (rule 49) @@ -6628,19 +6893,21 @@ State 285 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -6654,16 +6921,16 @@ State 285 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 306 + Term goto state 309 -State 286 +State 289 Command -> '#def' VarIdent DeclUsedVars ListParam ':' Term . ':=' Term (rule 50) - ':=' shift, and enter state 305 + ':=' shift, and enter state 308 -State 287 +State 290 Command -> '#def' VarIdent DeclUsedVars ':' Term ':=' . Term (rule 51) @@ -6680,19 +6947,21 @@ State 287 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -6706,46 +6975,46 @@ State 287 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 304 + Term goto state 307 -State 288 +State 291 - Param -> '{' Pattern ':' Term '|' Term . '}' (rule 65) + Param -> '{' Pattern ':' Term '|' Term . '}' (rule 66) - '}' shift, and enter state 303 + '}' shift, and enter state 306 -State 289 +State 292 - Term1 -> '∑' '(' Pattern ':' Term ')' . ',' Term1 (rule 116) + Term1 -> '∑' '(' Pattern ':' Term ')' . ',' Term1 (rule 119) - ',' shift, and enter state 302 + ',' shift, and enter state 305 -State 290 +State 293 - Term1 -> 'Σ' '(' Pattern ':' Term ')' . ',' Term1 (rule 115) + Term1 -> 'Σ' '(' Pattern ':' Term ')' . ',' Term1 (rule 118) - ',' shift, and enter state 301 + ',' shift, and enter state 304 -State 291 +State 294 - ParamDecl -> '{' Pattern ':' Term '|' Term . '}' (rule 73) + ParamDecl -> '{' Pattern ':' Term '|' Term . '}' (rule 74) - '}' shift, and enter state 300 + '}' shift, and enter state 303 -State 292 +State 295 - ParamDecl -> '{' '(' Pattern ':' Term ')' . '|' Term '}' (rule 72) + ParamDecl -> '{' '(' Pattern ':' Term ')' . '|' Term '}' (rule 73) - '|' shift, and enter state 299 + '|' shift, and enter state 302 -State 293 +State 296 - Term7 -> 'recOR' '(' Term ',' Term ',' . Term ',' Term ')' (rule 89) + Term7 -> 'recOR' '(' Term ',' Term ',' . Term ',' Term ')' (rule 90) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -6760,19 +7029,21 @@ State 293 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -6786,11 +7057,11 @@ State 293 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 298 + Term goto state 301 -State 294 +State 297 - Term7 -> 'idJ' '(' Term ',' Term ',' . Term ',' Term ',' Term ',' Term ')' (rule 95) + Term7 -> 'idJ' '(' Term ',' Term ',' . Term ',' Term ',' Term ',' Term ')' (rule 97) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -6805,19 +7076,21 @@ State 294 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -6831,18 +7104,18 @@ State 294 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 297 + Term goto state 300 -State 295 +State 298 - Term1 -> 'Sigma' '(' Pattern ':' Term ')' . ',' Term1 (rule 109) + Term1 -> 'Sigma' '(' Pattern ':' Term ')' . ',' Term1 (rule 111) - ',' shift, and enter state 296 + ',' shift, and enter state 299 -State 296 +State 299 - Term1 -> 'Sigma' '(' Pattern ':' Term ')' ',' . Term1 (rule 109) + Term1 -> 'Sigma' '(' Pattern ':' Term ')' ',' . Term1 (rule 111) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -6857,19 +7130,21 @@ State 296 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -6880,27 +7155,27 @@ State 296 Term5 goto state 34 Term4 goto state 35 Term3 goto state 36 - Term2 goto state 71 - Term1 goto state 315 + Term2 goto state 73 + Term1 goto state 318 Term6 goto state 39 -State 297 +State 300 - Term7 -> 'idJ' '(' Term ',' Term ',' Term . ',' Term ',' Term ',' Term ')' (rule 95) + Term7 -> 'idJ' '(' Term ',' Term ',' Term . ',' Term ',' Term ',' Term ')' (rule 97) - ',' shift, and enter state 314 + ',' shift, and enter state 317 -State 298 +State 301 - Term7 -> 'recOR' '(' Term ',' Term ',' Term . ',' Term ')' (rule 89) + Term7 -> 'recOR' '(' Term ',' Term ',' Term . ',' Term ')' (rule 90) - ',' shift, and enter state 313 + ',' shift, and enter state 316 -State 299 +State 302 - ParamDecl -> '{' '(' Pattern ':' Term ')' '|' . Term '}' (rule 72) + ParamDecl -> '{' '(' Pattern ':' Term ')' '|' . Term '}' (rule 73) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -6915,19 +7190,21 @@ State 299 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -6941,20 +7218,20 @@ State 299 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 312 + Term goto state 315 -State 300 +State 303 - ParamDecl -> '{' Pattern ':' Term '|' Term '}' . (rule 73) + ParamDecl -> '{' Pattern ':' Term '|' Term '}' . (rule 74) - '->' reduce using rule 73 - '→' reduce using rule 73 - %eof reduce using rule 73 + '->' reduce using rule 74 + '→' reduce using rule 74 + %eof reduce using rule 74 -State 301 +State 304 - Term1 -> 'Σ' '(' Pattern ':' Term ')' ',' . Term1 (rule 115) + Term1 -> 'Σ' '(' Pattern ':' Term ')' ',' . Term1 (rule 118) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -6969,19 +7246,21 @@ State 301 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -6992,13 +7271,13 @@ State 301 Term5 goto state 34 Term4 goto state 35 Term3 goto state 36 - Term2 goto state 71 - Term1 goto state 311 + Term2 goto state 73 + Term1 goto state 314 Term6 goto state 39 -State 302 +State 305 - Term1 -> '∑' '(' Pattern ':' Term ')' ',' . Term1 (rule 116) + Term1 -> '∑' '(' Pattern ':' Term ')' ',' . Term1 (rule 119) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -7013,19 +7292,21 @@ State 302 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -7036,24 +7317,25 @@ State 302 Term5 goto state 34 Term4 goto state 35 Term3 goto state 36 - Term2 goto state 71 - Term1 goto state 310 + Term2 goto state 73 + Term1 goto state 313 Term6 goto state 39 -State 303 +State 306 - Param -> '{' Pattern ':' Term '|' Term '}' . (rule 65) + Param -> '{' Pattern ':' Term '|' Term '}' . (rule 66) - '(' reduce using rule 65 - '->' reduce using rule 65 - ':' reduce using rule 65 - '_' reduce using rule 65 - '{' reduce using rule 65 - L_VarIdentTokenreduce using rule 65 - %eof reduce using rule 65 + '(' reduce using rule 66 + '->' reduce using rule 66 + ':' reduce using rule 66 + '_' reduce using rule 66 + 'unit' reduce using rule 66 + '{' reduce using rule 66 + L_VarIdentTokenreduce using rule 66 + %eof reduce using rule 66 -State 304 +State 307 Command -> '#def' VarIdent DeclUsedVars ':' Term ':=' Term . (rule 51) @@ -7061,7 +7343,7 @@ State 304 %eof reduce using rule 51 -State 305 +State 308 Command -> '#def' VarIdent DeclUsedVars ListParam ':' Term ':=' . Term (rule 50) @@ -7078,19 +7360,21 @@ State 305 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -7104,9 +7388,9 @@ State 305 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 309 + Term goto state 312 -State 306 +State 309 Command -> '#define' VarIdent DeclUsedVars ':' Term ':=' Term . (rule 49) @@ -7114,7 +7398,7 @@ State 306 %eof reduce using rule 49 -State 307 +State 310 Command -> '#define' VarIdent DeclUsedVars ListParam ':' Term ':=' . Term (rule 48) @@ -7131,19 +7415,21 @@ State 307 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -7157,9 +7443,9 @@ State 307 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 308 + Term goto state 311 -State 308 +State 311 Command -> '#define' VarIdent DeclUsedVars ListParam ':' Term ':=' Term . (rule 48) @@ -7167,58 +7453,58 @@ State 308 %eof reduce using rule 48 -State 309 +State 312 Command -> '#def' VarIdent DeclUsedVars ListParam ':' Term ':=' Term . (rule 50) ';' reduce using rule 50 - %eof reduce using rule 50 - - -State 310 - - Term1 -> '∑' '(' Pattern ':' Term ')' ',' Term1 . (rule 116) - - ')' reduce using rule 116 - ',' reduce using rule 116 - ':' reduce using rule 116 - ':=' reduce using rule 116 - ';' reduce using rule 116 - '>' reduce using rule 116 - ']' reduce using rule 116 - '|' reduce using rule 116 - '|->' reduce using rule 116 - '}' reduce using rule 116 - %eof reduce using rule 116 + %eof reduce using rule 50 -State 311 +State 313 - Term1 -> 'Σ' '(' Pattern ':' Term ')' ',' Term1 . (rule 115) + Term1 -> '∑' '(' Pattern ':' Term ')' ',' Term1 . (rule 119) - ')' reduce using rule 115 - ',' reduce using rule 115 - ':' reduce using rule 115 - ':=' reduce using rule 115 - ';' reduce using rule 115 - '>' reduce using rule 115 - ']' reduce using rule 115 - '|' reduce using rule 115 - '|->' reduce using rule 115 - '}' reduce using rule 115 - %eof reduce using rule 115 + ')' reduce using rule 119 + ',' reduce using rule 119 + ':' reduce using rule 119 + ':=' reduce using rule 119 + ';' reduce using rule 119 + '>' reduce using rule 119 + ']' reduce using rule 119 + '|' reduce using rule 119 + '|->' reduce using rule 119 + '}' reduce using rule 119 + %eof reduce using rule 119 -State 312 +State 314 + + Term1 -> 'Σ' '(' Pattern ':' Term ')' ',' Term1 . (rule 118) + + ')' reduce using rule 118 + ',' reduce using rule 118 + ':' reduce using rule 118 + ':=' reduce using rule 118 + ';' reduce using rule 118 + '>' reduce using rule 118 + ']' reduce using rule 118 + '|' reduce using rule 118 + '|->' reduce using rule 118 + '}' reduce using rule 118 + %eof reduce using rule 118 - ParamDecl -> '{' '(' Pattern ':' Term ')' '|' Term . '}' (rule 72) - '}' shift, and enter state 318 +State 315 + ParamDecl -> '{' '(' Pattern ':' Term ')' '|' Term . '}' (rule 73) -State 313 + '}' shift, and enter state 321 + + +State 316 - Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' . Term ')' (rule 89) + Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' . Term ')' (rule 90) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -7233,19 +7519,21 @@ State 313 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -7259,11 +7547,11 @@ State 313 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 317 + Term goto state 320 -State 314 +State 317 - Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' . Term ',' Term ',' Term ')' (rule 95) + Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' . Term ',' Term ',' Term ')' (rule 97) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -7278,19 +7566,21 @@ State 314 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -7304,98 +7594,99 @@ State 314 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 316 + Term goto state 319 -State 315 +State 318 - Term1 -> 'Sigma' '(' Pattern ':' Term ')' ',' Term1 . (rule 109) + Term1 -> 'Sigma' '(' Pattern ':' Term ')' ',' Term1 . (rule 111) - ')' reduce using rule 109 - ',' reduce using rule 109 - ':' reduce using rule 109 - ':=' reduce using rule 109 - ';' reduce using rule 109 - '>' reduce using rule 109 - ']' reduce using rule 109 - '|' reduce using rule 109 - '|->' reduce using rule 109 - '}' reduce using rule 109 - %eof reduce using rule 109 + ')' reduce using rule 111 + ',' reduce using rule 111 + ':' reduce using rule 111 + ':=' reduce using rule 111 + ';' reduce using rule 111 + '>' reduce using rule 111 + ']' reduce using rule 111 + '|' reduce using rule 111 + '|->' reduce using rule 111 + '}' reduce using rule 111 + %eof reduce using rule 111 -State 316 +State 319 - Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term . ',' Term ',' Term ')' (rule 95) + Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term . ',' Term ',' Term ')' (rule 97) - ',' shift, and enter state 320 + ',' shift, and enter state 323 -State 317 +State 320 - Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' Term . ')' (rule 89) + Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' Term . ')' (rule 90) - ')' shift, and enter state 319 + ')' shift, and enter state 322 -State 318 +State 321 - ParamDecl -> '{' '(' Pattern ':' Term ')' '|' Term '}' . (rule 72) + ParamDecl -> '{' '(' Pattern ':' Term ')' '|' Term '}' . (rule 73) - '->' reduce using rule 72 - '→' reduce using rule 72 - %eof reduce using rule 72 + '->' reduce using rule 73 + '→' reduce using rule 73 + %eof reduce using rule 73 -State 319 +State 322 - Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' Term ')' . (rule 89) + Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' Term ')' . (rule 90) - '(' reduce using rule 89 - ')' reduce using rule 89 - '*' reduce using rule 89 - '*_1' reduce using rule 89 - ',' reduce using rule 89 - '->' reduce using rule 89 - '/\\' reduce using rule 89 - '0_2' reduce using rule 89 - '1' reduce using rule 89 - '1_2' reduce using rule 89 - '2' reduce using rule 89 - ':' reduce using rule 89 - ':=' reduce using rule 89 - ';' reduce using rule 89 - '<' reduce using rule 89 - '<=' reduce using rule 89 - '=' reduce using rule 89 - '===' reduce using rule 89 - '=_{' reduce using rule 89 - '>' reduce using rule 89 - 'BOT' reduce using rule 89 - 'CUBE' reduce using rule 89 - 'TOP' reduce using rule 89 - 'TOPE' reduce using rule 89 - 'U' reduce using rule 89 - '[' reduce using rule 89 - '\\/' reduce using rule 89 - ']' reduce using rule 89 - 'as' reduce using rule 89 - 'idJ' reduce using rule 89 - 'recBOT' reduce using rule 89 - 'recOR' reduce using rule 89 - 'refl' reduce using rule 89 - 'refl_{' reduce using rule 89 - '|' reduce using rule 89 - '|->' reduce using rule 89 - '}' reduce using rule 89 - '→' reduce using rule 89 - L_VarIdentTokenreduce using rule 89 - L_HoleIdentTokenreduce using rule 89 - %eof reduce using rule 89 + '(' reduce using rule 90 + ')' reduce using rule 90 + '*' reduce using rule 90 + '*_1' reduce using rule 90 + ',' reduce using rule 90 + '->' reduce using rule 90 + '/\\' reduce using rule 90 + '0_2' reduce using rule 90 + '1' reduce using rule 90 + '1_2' reduce using rule 90 + '2' reduce using rule 90 + ':' reduce using rule 90 + ':=' reduce using rule 90 + ';' reduce using rule 90 + '<' reduce using rule 90 + '<=' reduce using rule 90 + '=' reduce using rule 90 + '===' reduce using rule 90 + '=_{' reduce using rule 90 + '>' reduce using rule 90 + 'BOT' reduce using rule 90 + 'CUBE' reduce using rule 90 + 'TOP' reduce using rule 90 + 'TOPE' reduce using rule 90 + 'U' reduce using rule 90 + '[' reduce using rule 90 + '\\/' reduce using rule 90 + ']' reduce using rule 90 + 'as' reduce using rule 90 + 'idJ' reduce using rule 90 + 'recBOT' reduce using rule 90 + 'recOR' reduce using rule 90 + 'refl' reduce using rule 90 + 'refl_{' reduce using rule 90 + 'unit' reduce using rule 90 + '|' reduce using rule 90 + '|->' reduce using rule 90 + '}' reduce using rule 90 + '→' reduce using rule 90 + L_VarIdentTokenreduce using rule 90 + L_HoleIdentTokenreduce using rule 90 + %eof reduce using rule 90 -State 320 +State 323 - Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' . Term ',' Term ')' (rule 95) + Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' . Term ',' Term ')' (rule 97) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -7410,19 +7701,21 @@ State 320 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -7436,18 +7729,18 @@ State 320 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 321 + Term goto state 324 -State 321 +State 324 - Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term . ',' Term ')' (rule 95) + Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term . ',' Term ')' (rule 97) - ',' shift, and enter state 322 + ',' shift, and enter state 325 -State 322 +State 325 - Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' . Term ')' (rule 95) + Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' . Term ')' (rule 97) '(' shift, and enter state 42 '*_1' shift, and enter state 43 @@ -7462,19 +7755,21 @@ State 322 'TOP' shift, and enter state 52 'TOPE' shift, and enter state 53 'U' shift, and enter state 54 - '\\' shift, and enter state 55 - 'first' shift, and enter state 56 - 'idJ' shift, and enter state 57 - 'recBOT' shift, and enter state 58 - 'recOR' shift, and enter state 59 - 'refl' shift, and enter state 60 - 'refl_{' shift, and enter state 61 - 'second' shift, and enter state 62 - '{' shift, and enter state 63 - 'Σ' shift, and enter state 64 - '∑' shift, and enter state 65 - L_VarIdentTokenshift, and enter state 66 - L_HoleIdentTokenshift, and enter state 67 + 'Unit' shift, and enter state 55 + '\\' shift, and enter state 56 + 'first' shift, and enter state 57 + 'idJ' shift, and enter state 58 + 'recBOT' shift, and enter state 59 + 'recOR' shift, and enter state 60 + 'refl' shift, and enter state 61 + 'refl_{' shift, and enter state 62 + 'second' shift, and enter state 63 + 'unit' shift, and enter state 64 + '{' shift, and enter state 65 + 'Σ' shift, and enter state 66 + '∑' shift, and enter state 67 + L_VarIdentTokenshift, and enter state 68 + L_HoleIdentTokenshift, and enter state 69 VarIdentToken goto state 28 HoleIdentToken goto state 29 @@ -7488,66 +7783,67 @@ State 322 Term2 goto state 37 Term1 goto state 38 Term6 goto state 39 - Term goto state 323 + Term goto state 326 -State 323 +State 326 - Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term . ')' (rule 95) + Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term . ')' (rule 97) - ')' shift, and enter state 324 + ')' shift, and enter state 327 -State 324 +State 327 - Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' . (rule 95) + Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' . (rule 97) - '(' reduce using rule 95 - ')' reduce using rule 95 - '*' reduce using rule 95 - '*_1' reduce using rule 95 - ',' reduce using rule 95 - '->' reduce using rule 95 - '/\\' reduce using rule 95 - '0_2' reduce using rule 95 - '1' reduce using rule 95 - '1_2' reduce using rule 95 - '2' reduce using rule 95 - ':' reduce using rule 95 - ':=' reduce using rule 95 - ';' reduce using rule 95 - '<' reduce using rule 95 - '<=' reduce using rule 95 - '=' reduce using rule 95 - '===' reduce using rule 95 - '=_{' reduce using rule 95 - '>' reduce using rule 95 - 'BOT' reduce using rule 95 - 'CUBE' reduce using rule 95 - 'TOP' reduce using rule 95 - 'TOPE' reduce using rule 95 - 'U' reduce using rule 95 - '[' reduce using rule 95 - '\\/' reduce using rule 95 - ']' reduce using rule 95 - 'as' reduce using rule 95 - 'idJ' reduce using rule 95 - 'recBOT' reduce using rule 95 - 'recOR' reduce using rule 95 - 'refl' reduce using rule 95 - 'refl_{' reduce using rule 95 - '|' reduce using rule 95 - '|->' reduce using rule 95 - '}' reduce using rule 95 - '→' reduce using rule 95 - L_VarIdentTokenreduce using rule 95 - L_HoleIdentTokenreduce using rule 95 - %eof reduce using rule 95 + '(' reduce using rule 97 + ')' reduce using rule 97 + '*' reduce using rule 97 + '*_1' reduce using rule 97 + ',' reduce using rule 97 + '->' reduce using rule 97 + '/\\' reduce using rule 97 + '0_2' reduce using rule 97 + '1' reduce using rule 97 + '1_2' reduce using rule 97 + '2' reduce using rule 97 + ':' reduce using rule 97 + ':=' reduce using rule 97 + ';' reduce using rule 97 + '<' reduce using rule 97 + '<=' reduce using rule 97 + '=' reduce using rule 97 + '===' reduce using rule 97 + '=_{' reduce using rule 97 + '>' reduce using rule 97 + 'BOT' reduce using rule 97 + 'CUBE' reduce using rule 97 + 'TOP' reduce using rule 97 + 'TOPE' reduce using rule 97 + 'U' reduce using rule 97 + '[' reduce using rule 97 + '\\/' reduce using rule 97 + ']' reduce using rule 97 + 'as' reduce using rule 97 + 'idJ' reduce using rule 97 + 'recBOT' reduce using rule 97 + 'recOR' reduce using rule 97 + 'refl' reduce using rule 97 + 'refl_{' reduce using rule 97 + 'unit' reduce using rule 97 + '|' reduce using rule 97 + '|->' reduce using rule 97 + '}' reduce using rule 97 + '→' reduce using rule 97 + L_VarIdentTokenreduce using rule 97 + L_HoleIdentTokenreduce using rule 97 + %eof reduce using rule 97 ----------------------------------------------------------------------------- Grammar Totals ----------------------------------------------------------------------------- -Number of rules: 126 -Number of terminals: 66 +Number of rules: 129 +Number of terminals: 68 Number of non-terminals: 55 -Number of states: 325 +Number of states: 328 diff --git a/rzk/src/Language/Rzk/Syntax/Par.y b/rzk/src/Language/Rzk/Syntax/Par.y index 81d59ebeb..6c4381ace 100644 --- a/rzk/src/Language/Rzk/Syntax/Par.y +++ b/rzk/src/Language/Rzk/Syntax/Par.y @@ -114,28 +114,30 @@ import Language.Rzk.Syntax.Lex 'TOP' { PT _ (TS _ 39) } 'TOPE' { PT _ (TS _ 40) } 'U' { PT _ (TS _ 41) } - '[' { PT _ (TS _ 42) } - '\\' { PT _ (TS _ 43) } - '\\/' { PT _ (TS _ 44) } - ']' { PT _ (TS _ 45) } - '_' { PT _ (TS _ 46) } - 'as' { PT _ (TS _ 47) } - 'first' { PT _ (TS _ 48) } - 'idJ' { PT _ (TS _ 49) } - 'recBOT' { PT _ (TS _ 50) } - 'recOR' { PT _ (TS _ 51) } - 'refl' { PT _ (TS _ 52) } - 'refl_{' { PT _ (TS _ 53) } - 'rzk-1' { PT _ (TS _ 54) } - 'second' { PT _ (TS _ 55) } - 'uses' { PT _ (TS _ 56) } - '{' { PT _ (TS _ 57) } - '|' { PT _ (TS _ 58) } - '|->' { PT _ (TS _ 59) } - '}' { PT _ (TS _ 60) } - 'Σ' { PT _ (TS _ 61) } - '→' { PT _ (TS _ 62) } - '∑' { PT _ (TS _ 63) } + 'Unit' { PT _ (TS _ 42) } + '[' { PT _ (TS _ 43) } + '\\' { PT _ (TS _ 44) } + '\\/' { PT _ (TS _ 45) } + ']' { PT _ (TS _ 46) } + '_' { PT _ (TS _ 47) } + 'as' { PT _ (TS _ 48) } + 'first' { PT _ (TS _ 49) } + 'idJ' { PT _ (TS _ 50) } + 'recBOT' { PT _ (TS _ 51) } + 'recOR' { PT _ (TS _ 52) } + 'refl' { PT _ (TS _ 53) } + 'refl_{' { PT _ (TS _ 54) } + 'rzk-1' { PT _ (TS _ 55) } + 'second' { PT _ (TS _ 56) } + 'unit' { PT _ (TS _ 57) } + 'uses' { PT _ (TS _ 58) } + '{' { PT _ (TS _ 59) } + '|' { PT _ (TS _ 60) } + '|->' { PT _ (TS _ 61) } + '}' { PT _ (TS _ 62) } + 'Σ' { PT _ (TS _ 63) } + '→' { PT _ (TS _ 64) } + '∑' { PT _ (TS _ 65) } L_quoted { PT _ (TL _) } L_VarIdentToken { PT _ (T_VarIdentToken _) } L_HoleIdentToken { PT _ (T_HoleIdentToken _) } @@ -213,6 +215,7 @@ SectionName Pattern :: { (Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern) } Pattern : '_' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.PatternWildcard (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1))) } + | 'unit' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.PatternUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1))) } | VarIdent { (fst $1, Language.Rzk.Syntax.Abs.PatternVar (fst $1) (snd $1)) } | '(' Pattern ',' Pattern ')' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.PatternPair (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) } @@ -267,6 +270,7 @@ Term7 | 'recOR' '(' Term ',' Term ',' Term ',' Term ')' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.recOr (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $3) (snd $5) (snd $7) (snd $9)) } | '<' ParamDecl '->' Term '>' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.typeExtension (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) } | '(' Term ',' Term ')' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.Pair (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) } + | 'unit' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.Unit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1))) } | 'refl' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.Refl (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1))) } | 'refl_{' Term '}' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.ReflTerm (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2)) } | 'refl_{' Term ':' Term '}' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.ReflTermType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) } @@ -300,6 +304,7 @@ Term1 :: { (Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term) Term1 : ParamDecl '->' Term1 { (fst $1, Language.Rzk.Syntax.Abs.TypeFun (fst $1) (snd $1) (snd $3)) } | 'Sigma' '(' Pattern ':' Term ')' ',' Term1 { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.TypeSigma (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $3) (snd $5) (snd $8)) } + | 'Unit' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.TypeUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1))) } | Term2 '=_{' Term '}' Term2 { (fst $1, Language.Rzk.Syntax.Abs.TypeId (fst $1) (snd $1) (snd $3) (snd $5)) } | Term2 '=' Term2 { (fst $1, Language.Rzk.Syntax.Abs.TypeIdSimple (fst $1) (snd $1) (snd $3)) } | '\\' ListParam '->' Term1 { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.Lambda (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) } diff --git a/rzk/src/Language/Rzk/Syntax/Print.hs b/rzk/src/Language/Rzk/Syntax/Print.hs index 860393168..1d6f25443 100644 --- a/rzk/src/Language/Rzk/Syntax/Print.hs +++ b/rzk/src/Language/Rzk/Syntax/Print.hs @@ -196,6 +196,7 @@ instance Print (Language.Rzk.Syntax.Abs.SectionName' a) where instance Print (Language.Rzk.Syntax.Abs.Pattern' a) where prt i = \case Language.Rzk.Syntax.Abs.PatternWildcard _ -> prPrec i 0 (concatD [doc (showString "_")]) + Language.Rzk.Syntax.Abs.PatternUnit _ -> prPrec i 0 (concatD [doc (showString "unit")]) Language.Rzk.Syntax.Abs.PatternVar _ varident -> prPrec i 0 (concatD [prt 0 varident]) Language.Rzk.Syntax.Abs.PatternPair _ pattern_1 pattern_2 -> prPrec i 0 (concatD [doc (showString "("), prt 0 pattern_1, doc (showString ","), prt 0 pattern_2, doc (showString ")")]) @@ -252,6 +253,7 @@ instance Print (Language.Rzk.Syntax.Abs.Term' a) where Language.Rzk.Syntax.Abs.RecOr _ restrictions -> prPrec i 7 (concatD [doc (showString "recOR"), doc (showString "("), prt 0 restrictions, doc (showString ")")]) Language.Rzk.Syntax.Abs.TypeFun _ paramdecl term -> prPrec i 1 (concatD [prt 0 paramdecl, doc (showString "->"), prt 1 term]) Language.Rzk.Syntax.Abs.TypeSigma _ pattern_ term1 term2 -> prPrec i 1 (concatD [doc (showString "Sigma"), doc (showString "("), prt 0 pattern_, doc (showString ":"), prt 0 term1, doc (showString ")"), doc (showString ","), prt 1 term2]) + Language.Rzk.Syntax.Abs.TypeUnit _ -> prPrec i 1 (concatD [doc (showString "Unit")]) Language.Rzk.Syntax.Abs.TypeId _ term1 term2 term3 -> prPrec i 1 (concatD [prt 2 term1, doc (showString "=_{"), prt 0 term2, doc (showString "}"), prt 2 term3]) Language.Rzk.Syntax.Abs.TypeIdSimple _ term1 term2 -> prPrec i 1 (concatD [prt 2 term1, doc (showString "="), prt 2 term2]) Language.Rzk.Syntax.Abs.TypeRestricted _ term restrictions -> prPrec i 6 (concatD [prt 6 term, doc (showString "["), prt 0 restrictions, doc (showString "]")]) @@ -260,6 +262,7 @@ instance Print (Language.Rzk.Syntax.Abs.Term' a) where Language.Rzk.Syntax.Abs.Pair _ term1 term2 -> prPrec i 7 (concatD [doc (showString "("), prt 0 term1, doc (showString ","), prt 0 term2, doc (showString ")")]) Language.Rzk.Syntax.Abs.First _ term -> prPrec i 6 (concatD [doc (showString "first"), prt 7 term]) Language.Rzk.Syntax.Abs.Second _ term -> prPrec i 6 (concatD [doc (showString "second"), prt 7 term]) + Language.Rzk.Syntax.Abs.Unit _ -> prPrec i 7 (concatD [doc (showString "unit")]) Language.Rzk.Syntax.Abs.Refl _ -> prPrec i 7 (concatD [doc (showString "refl")]) Language.Rzk.Syntax.Abs.ReflTerm _ term -> prPrec i 7 (concatD [doc (showString "refl_{"), prt 0 term, doc (showString "}")]) Language.Rzk.Syntax.Abs.ReflTermType _ term1 term2 -> prPrec i 7 (concatD [doc (showString "refl_{"), prt 0 term1, doc (showString ":"), prt 0 term2, doc (showString "}")]) diff --git a/rzk/src/Language/Rzk/Syntax/Skel.hs b/rzk/src/Language/Rzk/Syntax/Skel.hs index cc8df6eef..d96538151 100644 --- a/rzk/src/Language/Rzk/Syntax/Skel.hs +++ b/rzk/src/Language/Rzk/Syntax/Skel.hs @@ -68,6 +68,7 @@ transSectionName x = case x of transPattern :: Show a => Language.Rzk.Syntax.Abs.Pattern' a -> Result transPattern x = case x of Language.Rzk.Syntax.Abs.PatternWildcard _ -> failure x + Language.Rzk.Syntax.Abs.PatternUnit _ -> failure x Language.Rzk.Syntax.Abs.PatternVar _ varident -> failure x Language.Rzk.Syntax.Abs.PatternPair _ pattern_1 pattern_2 -> failure x @@ -109,6 +110,7 @@ transTerm x = case x of Language.Rzk.Syntax.Abs.RecOr _ restrictions -> failure x Language.Rzk.Syntax.Abs.TypeFun _ paramdecl term -> failure x Language.Rzk.Syntax.Abs.TypeSigma _ pattern_ term1 term2 -> failure x + Language.Rzk.Syntax.Abs.TypeUnit _ -> failure x Language.Rzk.Syntax.Abs.TypeId _ term1 term2 term3 -> failure x Language.Rzk.Syntax.Abs.TypeIdSimple _ term1 term2 -> failure x Language.Rzk.Syntax.Abs.TypeRestricted _ term restrictions -> failure x @@ -117,6 +119,7 @@ transTerm x = case x of Language.Rzk.Syntax.Abs.Pair _ term1 term2 -> failure x Language.Rzk.Syntax.Abs.First _ term -> failure x Language.Rzk.Syntax.Abs.Second _ term -> failure x + Language.Rzk.Syntax.Abs.Unit _ -> failure x Language.Rzk.Syntax.Abs.Refl _ -> failure x Language.Rzk.Syntax.Abs.ReflTerm _ term -> failure x Language.Rzk.Syntax.Abs.ReflTermType _ term1 term2 -> failure x diff --git a/rzk/src/Language/Rzk/VSCode/Tokenize.hs b/rzk/src/Language/Rzk/VSCode/Tokenize.hs index bd777365e..83c66353c 100644 --- a/rzk/src/Language/Rzk/VSCode/Tokenize.hs +++ b/rzk/src/Language/Rzk/VSCode/Tokenize.hs @@ -56,9 +56,10 @@ tokenizeParam = \case tokenizePattern :: Pattern -> [VSToken] tokenizePattern = \case - PatternWildcard _loc -> [] - PatternVar _loc var -> mkToken var vs_parameter [vs_declaration] - PatternPair _loc l r -> foldMap tokenizePattern [l, r] + PatternWildcard _loc -> [] + PatternVar _loc var -> mkToken var vs_parameter [vs_declaration] + PatternPair _loc l r -> foldMap tokenizePattern [l, r] + pat@(PatternUnit _loc) -> mkToken pat vs_enumMember [vs_declaration] tokenizeTope :: Term -> [VSToken] tokenizeTope = tokenizeTerm' (Just vs_string) @@ -125,6 +126,9 @@ tokenizeTerm' varTokenType = go [ mkToken (VarIdent loc "second") vs_function [vs_defaultLibrary] , go t ] + TypeUnit _loc -> mkToken term vs_enum [vs_defaultLibrary] + Unit _loc -> mkToken term vs_enumMember [vs_defaultLibrary] + Refl{} -> mkToken term vs_function [vs_defaultLibrary] ReflTerm loc x -> concat [ mkToken (VarIdent loc "refl") vs_function [vs_defaultLibrary] diff --git a/rzk/src/Rzk/TypeCheck.hs b/rzk/src/Rzk/TypeCheck.hs index 2d1f41cce..874771196 100644 --- a/rzk/src/Rzk/TypeCheck.hs +++ b/rzk/src/Rzk/TypeCheck.hs @@ -24,8 +24,8 @@ import Debug.Trace import Unsafe.Coerce defaultTypeCheck - :: TypeCheck Rzk.VarIdent a - -> Either (TypeErrorInScopedContext Rzk.VarIdent) a + :: TypeCheck VarIdent a + -> Either (TypeErrorInScopedContext VarIdent) a defaultTypeCheck tc = runExcept (runReaderT tc emptyContext) -- FIXME: merge with VarInfo @@ -37,9 +37,9 @@ data Decl var = Decl , declUsedVars :: [var] } -type Decl' = Decl Rzk.VarIdent +type Decl' = Decl VarIdent -typecheckModulesWithLocation :: [(FilePath, Rzk.Module)] -> TypeCheck Rzk.VarIdent () +typecheckModulesWithLocation :: [(FilePath, Rzk.Module)] -> TypeCheck VarIdent () typecheckModulesWithLocation = \case [] -> return () m : ms -> do @@ -47,7 +47,7 @@ typecheckModulesWithLocation = \case localDeclsPrepared decls $ typecheckModulesWithLocation ms -typecheckModules :: [Rzk.Module] -> TypeCheck Rzk.VarIdent () +typecheckModules :: [Rzk.Module] -> TypeCheck VarIdent () typecheckModules = \case [] -> return () m : ms -> do @@ -55,7 +55,7 @@ typecheckModules = \case localDeclsPrepared decls $ typecheckModules ms -typecheckModuleWithLocation :: (FilePath, Rzk.Module) -> TypeCheck Rzk.VarIdent [Decl'] +typecheckModuleWithLocation :: (FilePath, Rzk.Module) -> TypeCheck VarIdent [Decl'] typecheckModuleWithLocation (path, module_) = do traceTypeCheck Normal ("Checking module from " <> path) $ do withLocation (LocationInfo { locationFilePath = Just path, locationLine = Nothing }) $ @@ -67,14 +67,14 @@ countCommands (Rzk.CommandSection _loc _name sectionCommands _name2 : commands) countCommands sectionCommands + countCommands commands countCommands (_ : commands) = 1 + countCommands commands -typecheckModule :: Rzk.Module -> TypeCheck Rzk.VarIdent [Decl'] +typecheckModule :: Rzk.Module -> TypeCheck VarIdent [Decl'] typecheckModule (Rzk.Module _moduleLoc _lang commands) = withSection Nothing (go 1 commands) $ -- FIXME: use module name? or anonymous section? return [] where totalCommands = countCommands commands - go :: Integer -> [Rzk.Command] -> TypeCheck Rzk.VarIdent [Decl'] + go :: Integer -> [Rzk.Command] -> TypeCheck VarIdent [Decl'] go _i [] = return [] go i (command@(Rzk.CommandUnsetOption _loc optionName) : moreCommands) = do @@ -93,19 +93,19 @@ typecheckModule (Rzk.Module _moduleLoc _lang commands) = go i (command@(Rzk.CommandDefine _loc name (Rzk.DeclUsedVars _ vars) params ty term) : moreCommands) = traceTypeCheck Normal ("[ " <> show i <> " out of " <> show totalCommands <> " ]" - <> " Checking #define " <> show (Pure name :: Term') ) $ do + <> " Checking #define " <> Rzk.printTree name ) $ do withCommand command $ do - mapM_ checkDefinedVar vars + mapM_ checkDefinedVar (VarIdent <$> vars) paramDecls <- concat <$> mapM paramToParamDecl params ty' <- typecheck (toTerm' (addParamDecls paramDecls ty)) universeT >>= whnfT -- >>= pure . termIsWHNF term' <- typecheck (toTerm' (addParams params term)) ty' >>= whnfT >>= pure . termIsWHNF - let decl = Decl name ty' (Just term') False vars + let decl = Decl (VarIdent name) ty' (Just term') False (VarIdent <$> vars) fmap (decl :) $ localDeclPrepared decl $ do Context{..} <- ask termSVG <- case renderBackend of - Just RenderSVG -> renderTermSVG (Pure name) + Just RenderSVG -> renderTermSVG (Pure (VarIdent name)) Just RenderLaTeX -> issueTypeError $ TypeErrorOther "\"latex\" rendering is not yet supported" Nothing -> pure Nothing maybe id trace termSVG $ do @@ -113,12 +113,12 @@ typecheckModule (Rzk.Module _moduleLoc _lang commands) = go i (command@(Rzk.CommandPostulate _loc name (Rzk.DeclUsedVars _ vars) params ty) : moreCommands) = traceTypeCheck Normal ("[ " <> show i <> " out of " <> show totalCommands <> " ]" - <> " Checking #postulate " <> show (Pure name :: Term') ) $ do + <> " Checking #postulate " <> Rzk.printTree name) $ do withCommand command $ do - mapM_ checkDefinedVar vars + mapM_ checkDefinedVar (VarIdent <$> vars) paramDecls <- concat <$> mapM paramToParamDecl params ty' <- typecheck (toTerm' (addParamDecls paramDecls ty)) universeT >>= whnfT -- >>= pure . termIsWHNF - let decl = Decl name ty' Nothing False vars + let decl = Decl (VarIdent name) ty' Nothing False (VarIdent <$> vars) fmap (decl :) $ localDeclPrepared decl $ go (i + 1) moreCommands @@ -152,10 +152,10 @@ typecheckModule (Rzk.Module _moduleLoc _lang commands) = go i (command@(Rzk.CommandAssume _loc names ty) : moreCommands) = traceTypeCheck Normal ("[ " <> show i <> " out of " <> show totalCommands <> " ]" - <> " Checking #assume " <> intercalate " " [ show (Pure name :: Term') | name <- names ] ) $ do + <> " Checking #assume " <> intercalate " " [ Rzk.printTree name | name <- names ] ) $ do withCommand command $ do ty' <- typecheck (toTerm' ty) universeT - let decls = [ Decl name ty' Nothing True [] | name <- names ] + let decls = [ Decl (VarIdent name) ty' Nothing True [] | name <- names ] fmap (decls <>) $ localDeclsPrepared decls $ go (i + 1) moreCommands @@ -219,7 +219,7 @@ data TypeError var | TypeErrorTopeNotSatisfied [TermT var] (TermT var) | TypeErrorTopesNotEquivalent (TermT var) (TermT var) | TypeErrorInvalidArgumentType (Term var) (TermT var) - | TypeErrorDuplicateTopLevel Rzk.VarIdent + | TypeErrorDuplicateTopLevel VarIdent | TypeErrorUnusedVariable var (TermT var) | TypeErrorUnusedUsedVariables [var] var | TypeErrorImplicitAssumption (var, TermT var) var @@ -232,10 +232,10 @@ data TypeErrorInContext var = TypeErrorInContext data TypeErrorInScopedContext var = PlainTypeError (TypeErrorInContext var) - | ScopedTypeError (Maybe Rzk.VarIdent) (TypeErrorInScopedContext (Inc var)) + | ScopedTypeError (Maybe VarIdent) (TypeErrorInScopedContext (Inc var)) deriving (Functor, Foldable) -type TypeError' = TypeError Rzk.VarIdent +type TypeError' = TypeError VarIdent ppTypeError' :: TypeError' -> String ppTypeError' = \case @@ -325,38 +325,38 @@ ppTypeError' = \case TypeErrorDuplicateTopLevel name -> unlines [ "duplicate top-level definition" - , " " <> Rzk.printTree name + , " " <> Rzk.printTree (getVarIdent name) ] TypeErrorUnusedVariable name type_ -> unlines [ "unused variable" - , " " <> Rzk.printTree name <> " : " <> show (untyped type_) + , " " <> Rzk.printTree (getVarIdent name) <> " : " <> show (untyped type_) ] TypeErrorUnusedUsedVariables vars name -> unlines [ "unused variables" - , " " <> intercalate " " (map Rzk.printTree vars) + , " " <> intercalate " " (map (Rzk.printTree . getVarIdent) vars) , "declared as used in definition of" - , " " <> Rzk.printTree name + , " " <> Rzk.printTree (getVarIdent name) ] TypeErrorImplicitAssumption (a, aType) name -> unlines [ "implicit assumption" - , " " <> Rzk.printTree a <> " : " <> show (untyped aType) + , " " <> Rzk.printTree (getVarIdent a) <> " : " <> show (untyped aType) , "used in definition of" - , " " <> Rzk.printTree name + , " " <> Rzk.printTree (getVarIdent name) ] -ppTypeErrorInContext :: TypeErrorInContext Rzk.VarIdent -> String +ppTypeErrorInContext :: TypeErrorInContext VarIdent -> String ppTypeErrorInContext TypeErrorInContext{..} = intercalate "\n" [ ppContext' typeErrorContext , ppTypeError' typeErrorError ] ppTypeErrorInScopedContextWith' - :: [Rzk.VarIdent] - -> [Rzk.VarIdent] - -> TypeErrorInScopedContext Rzk.VarIdent + :: [VarIdent] + -> [VarIdent] + -> TypeErrorInScopedContext VarIdent -> String ppTypeErrorInScopedContextWith' used vars = \case PlainTypeError err -> ppTypeErrorInContext err @@ -374,7 +374,7 @@ ppTypeErrorInScopedContextWith' used vars = \case where z' = refreshVar used z -- FIXME: inefficient -ppTypeErrorInScopedContext' :: TypeErrorInScopedContext Rzk.VarIdent -> String +ppTypeErrorInScopedContext' :: TypeErrorInScopedContext VarIdent -> String ppTypeErrorInScopedContext' err = ppTypeErrorInScopedContextWith' vars (defaultVarIdents \\ vars) err where vars = nub (foldMap pure err) @@ -413,23 +413,23 @@ data Action var | ActionCloseSection (Maybe Rzk.SectionName) deriving (Functor, Foldable) -type Action' = Action Rzk.VarIdent +type Action' = Action VarIdent ppTermInContext :: Eq var => TermT var -> TypeCheck var String ppTermInContext term = do vars <- freeVarsT_ term let mapping = zip vars defaultVarIdents - toRzkVarIdent origs var = fromMaybe (Rzk.VarIdent Nothing "_") $ + toRzkVarIdent origs var = fromMaybe (VarIdent (Rzk.VarIdent Nothing "_")) $ join (lookup var origs) <|> lookup var mapping origs <- asks varOrigs return (show (untyped (toRzkVarIdent origs <$> term))) -ppSomeAction :: Eq var => [(var, Maybe Rzk.VarIdent)] -> Int -> Action var -> String +ppSomeAction :: Eq var => [(var, Maybe VarIdent)] -> Int -> Action var -> String ppSomeAction origs n action = ppAction n (toRzkVarIdent <$> action) where vars = nub (foldMap pure action) mapping = zip vars defaultVarIdents - toRzkVarIdent var = fromMaybe (Rzk.VarIdent Nothing "_") $ + toRzkVarIdent var = fromMaybe (VarIdent (Rzk.VarIdent Nothing "_")) $ join (lookup var origs) <|> lookup var mapping ppAction :: Int -> Action' -> String @@ -553,7 +553,7 @@ addVarToScope var info ScopeInfo{..} = ScopeInfo data VarInfo var = VarInfo { varType :: TermT var , varValue :: Maybe (TermT var) - , varOrig :: Maybe Rzk.VarIdent + , varOrig :: Maybe VarIdent , varIsAssumption :: Bool -- FIXME: perhaps, introduce something like decl kind? , varDeclaredAssumptions :: [var] } deriving (Functor, Foldable) @@ -609,14 +609,14 @@ varTypes = map (fmap varType) . varInfos varValues :: Context var -> [(var, Maybe (TermT var))] varValues = map (fmap varValue) . varInfos -varOrigs :: Context var -> [(var, Maybe Rzk.VarIdent)] +varOrigs :: Context var -> [(var, Maybe VarIdent)] varOrigs = map (fmap varOrig) . varInfos withSection :: Maybe Rzk.SectionName - -> TypeCheck Rzk.VarIdent [Decl Rzk.VarIdent] - -> TypeCheck Rzk.VarIdent [Decl Rzk.VarIdent] - -> TypeCheck Rzk.VarIdent [Decl Rzk.VarIdent] + -> TypeCheck VarIdent [Decl VarIdent] + -> TypeCheck VarIdent [Decl VarIdent] + -> TypeCheck VarIdent [Decl VarIdent] withSection name sectionBody next = do sectionDecls <- startSection name $ do decls <- sectionBody @@ -627,12 +627,12 @@ withSection name sectionBody next = do localDeclsPrepared sectionDecls $ next -startSection :: Maybe Rzk.SectionName -> TypeCheck Rzk.VarIdent a -> TypeCheck Rzk.VarIdent a +startSection :: Maybe Rzk.SectionName -> TypeCheck VarIdent a -> TypeCheck VarIdent a startSection name = local $ \Context{..} -> Context { localScopes = ScopeInfo { scopeName = name, scopeVars = [] } : localScopes , .. } -endSection :: TypeCheck Rzk.VarIdent [Decl Rzk.VarIdent] +endSection :: TypeCheck VarIdent [Decl VarIdent] endSection = askCurrentScope >>= scopeToDecls scopeToDecls :: Eq var => ScopeInfo var -> TypeCheck var [Decl var] @@ -732,7 +732,7 @@ abstractAssumption (var, VarInfo{..}) Decl{..} = Decl where newDeclType = typeFunT varOrig varType Nothing (abstract var declType) -ppContext' :: Context Rzk.VarIdent -> String +ppContext' :: Context VarIdent -> String ppContext' ctx@Context{..} = unlines [ "Definitions in context:" , unlines @@ -749,9 +749,9 @@ ppContext' ctx@Context{..} = unlines _ -> "" , case currentCommand of Just (Rzk.CommandDefine _loc name _vars _params _ty _term) -> - " Error occurred when checking\n #define " <> show (Pure name :: Term') + " Error occurred when checking\n #define " <> Rzk.printTree name Just (Rzk.CommandPostulate _loc name _vars _params _ty ) -> - " Error occurred when checking\n #postulate " <> show (Pure name :: Term') + " Error occurred when checking\n #postulate " <> Rzk.printTree name Just (Rzk.CommandCheck _loc term ty) -> " Error occurred when checking\n " <> Rzk.printTree term <> " : " <> Rzk.printTree ty Just (Rzk.CommandCompute _loc term) -> @@ -773,21 +773,21 @@ ppContext' ctx@Context{..} = unlines -- , intercalate "\n" (map ((" " <>) . show . untyped) (intercalate [TopeAndT topeT topeBottomT topeBottomT] (saturateTopes [] <$> simplifyLHS localTopes))) ] -doesShadowName :: Rzk.VarIdent -> TypeCheck var Bool +doesShadowName :: VarIdent -> TypeCheck var Bool doesShadowName name = asks $ \ctx -> name `elem` mapMaybe snd (varOrigs ctx) -checkTopLevelDuplicate :: Rzk.VarIdent -> TypeCheck var () +checkTopLevelDuplicate :: VarIdent -> TypeCheck var () checkTopLevelDuplicate name = do doesShadowName name >>= \case True -> issueTypeError (TypeErrorDuplicateTopLevel name) False -> return () -checkNameShadowing :: Rzk.VarIdent -> TypeCheck var () +checkNameShadowing :: VarIdent -> TypeCheck var () checkNameShadowing name = do doesShadowName name >>= \case True -> issueWarning $ - Rzk.printTree name <> " shadows an existing definition" + Rzk.printTree (getVarIdent name) <> " shadows an existing definition" False -> return () withLocation :: LocationInfo -> TypeCheck var a -> TypeCheck var a @@ -796,21 +796,21 @@ withLocation loc = local $ \Context{..} -> Context { location = Just loc, .. } withCommand :: Rzk.Command -> TypeCheck var a -> TypeCheck var a withCommand command = local $ \Context{..} -> Context { currentCommand = Just command, .. } -localDecls :: [Decl Rzk.VarIdent] -> TypeCheck Rzk.VarIdent a -> TypeCheck Rzk.VarIdent a +localDecls :: [Decl VarIdent] -> TypeCheck VarIdent a -> TypeCheck VarIdent a localDecls [] = id localDecls (decl : decls) = localDecl decl . localDecls decls -localDeclsPrepared :: [Decl Rzk.VarIdent] -> TypeCheck Rzk.VarIdent a -> TypeCheck Rzk.VarIdent a +localDeclsPrepared :: [Decl VarIdent] -> TypeCheck VarIdent a -> TypeCheck VarIdent a localDeclsPrepared [] = id localDeclsPrepared (decl : decls) = localDeclPrepared decl . localDeclsPrepared decls -localDecl :: Decl Rzk.VarIdent -> TypeCheck Rzk.VarIdent a -> TypeCheck Rzk.VarIdent a +localDecl :: Decl VarIdent -> TypeCheck VarIdent a -> TypeCheck VarIdent a localDecl (Decl x ty term isAssumption vars) tc = do ty' <- whnfT ty term' <- traverse whnfT term localDeclPrepared (Decl x ty' term' isAssumption vars) tc -localDeclPrepared :: Decl Rzk.VarIdent -> TypeCheck Rzk.VarIdent a -> TypeCheck Rzk.VarIdent a +localDeclPrepared :: Decl VarIdent -> TypeCheck VarIdent a -> TypeCheck VarIdent a localDeclPrepared (Decl x ty term isAssumption vars) tc = do checkTopLevelDuplicate x local update tc @@ -1070,7 +1070,7 @@ switchVariance = local $ \Context{..} -> Context switch Covariant = Contravariant switch Contravariant = Covariant -enterScopeContext :: Maybe Rzk.VarIdent -> TermT var -> Context var -> Context (Inc var) +enterScopeContext :: Maybe VarIdent -> TermT var -> Context var -> Context (Inc var) enterScopeContext orig ty = addVarInCurrentScope Z VarInfo { varType = S <$> ty @@ -1081,7 +1081,7 @@ enterScopeContext orig ty = } . fmap S -enterScope :: Maybe Rzk.VarIdent -> TermT var -> TypeCheck (Inc var) b -> TypeCheck var b +enterScope :: Maybe VarIdent -> TermT var -> TypeCheck (Inc var) b -> TypeCheck var b enterScope orig ty action = do newContext <- asks (enterScopeContext orig ty) lift $ withExceptT (ScopedTypeError orig) $ @@ -1233,6 +1233,8 @@ whnfT tt = performing (ActionWHNF tt) $ case tt of TypeSigmaT{} -> pure tt TypeIdT{} -> pure tt RecBottomT{} -> pure tt + TypeUnitT{} -> pure tt + UnitT{} -> pure tt -- type ascriptions are ignored, since we already have a typechecked term TypeAscT _ty term _ty' -> whnfT term @@ -1338,6 +1340,10 @@ nfTope tt = performing (ActionNF tt) $ fmap termIsNF $ case tt of Cube2_0T{} -> pure tt Cube2_1T{} -> pure tt + -- type layer constants + TypeUnitT{} -> pure tt + UnitT{} -> pure tt + -- cube layer with computation CubeProductT _ty l r -> cubeProductT <$> nfTope l <*> nfTope r @@ -1439,6 +1445,8 @@ nfT tt = performing (ActionNF tt) $ case tt of -- type layer constants ReflT ty _x -> pure (ReflT ty Nothing) RecBottomT{} -> pure tt + TypeUnitT{} -> pure tt + UnitT{} -> pure tt -- type ascriptions are ignored, since we already have a typechecked term TypeAscT _ty term _ty' -> nfT term @@ -1621,6 +1629,9 @@ unifyInCurrentContext mterm expected actual = performing action $ UniverseCubeT{} -> def UniverseTopeT{} -> def + TypeUnitT{} -> def + UnitT{} -> return () -- Unit always unifies! + CubeUnitT{} -> def CubeUnitStarT{} -> def Cube2T{} -> def @@ -1888,6 +1899,18 @@ cubeUnitStarT = CubeUnitStarT TypeInfo , infoNF = Just cubeUnitStarT , infoWHNF = Just cubeUnitStarT } +typeUnitT :: TermT var +typeUnitT = TypeUnitT TypeInfo + { infoType = universeT + , infoNF = Just typeUnitT + , infoWHNF = Just typeUnitT } + +unitT :: TermT var +unitT = UnitT TypeInfo + { infoType = typeUnitT + , infoNF = Just unitT + , infoWHNF = Just unitT } + cube2T :: TermT var cube2T = Cube2T TypeInfo { infoType = cubeT @@ -1936,7 +1959,7 @@ typeRestrictedT ty rs = t lambdaT :: TermT var - -> Maybe Rzk.VarIdent + -> Maybe VarIdent -> Maybe (TermT var, Maybe (Scope TermT var)) -> Scope TermT var -> TermT var @@ -2003,7 +2026,7 @@ reflT ty mx = t } typeFunT - :: Maybe Rzk.VarIdent + :: Maybe VarIdent -> TermT var -> Maybe (Scope TermT var) -> Scope TermT var @@ -2018,7 +2041,7 @@ typeFunT orig cube mtope ret = t } typeSigmaT - :: Maybe Rzk.VarIdent + :: Maybe VarIdent -> TermT var -> Scope TermT var -> TermT var @@ -2237,6 +2260,9 @@ infer tt = performing (ActionInfer tt) $ case tt of return (secondT r t') ty -> issueTypeError $ TypeErrorNotPair t' ty + TypeUnit -> pure universeT + Unit -> pure typeUnitT + TopeTop -> pure topeTopT TopeBottom -> pure topeBottomT @@ -2598,7 +2624,7 @@ renderObjectsFor mainColor dim t term = fmap catMaybes $ do label <- case term' of AppT _ (Pure z) arg - | Just (Just (Rzk.VarIdent _loc "_")) <- lookup z origs -> return "" + | Just (Just "_") <- lookup z origs -> return "" | null (nub (freeVars (untyped arg)) \\ nub (freeVars (untyped t))) -> ppTermInContext (Pure z) _ -> ppTermInContext term' @@ -2609,7 +2635,7 @@ renderObjectsFor mainColor dim t term = fmap catMaybes $ do case term' of Pure{} -> "purple" AppT _ (Pure x) arg - | Just (Just (Rzk.VarIdent _loc "_")) <- lookup x origs -> mainColor + | Just (Just "_") <- lookup x origs -> mainColor | null (nub (freeVars (untyped arg)) \\ nub (freeVars (untyped t))) -> "purple" _ -> mainColor }) @@ -2654,7 +2680,7 @@ renderObjectsInSubShapeFor mainColor dim sub super retType f x = fmap catMaybes _ -> do case term of AppT _ (Pure z) arg - | Just (Just (Rzk.VarIdent _loc "_")) <- lookup z origs -> return "" + | Just (Just "_") <- lookup z origs -> return "" | null (nub (freeVars (untyped arg)) \\ [super]) -> ppTermInContext (Pure z) _ -> ppTermInContext term color <- checkEntails tope contextTopes' >>= \case @@ -2662,7 +2688,7 @@ renderObjectsInSubShapeFor mainColor dim sub super retType f x = fmap catMaybes case term of Pure{} -> return "purple" AppT _ (Pure z) arg - | Just (Just (Rzk.VarIdent _loc "_")) <- lookup z origs -> return mainColor + | Just (Just "_") <- lookup z origs -> return mainColor | null (nub (freeVars (untyped arg)) \\ [super]) -> return "purple" _ -> return mainColor False -> return "gray" @@ -2718,7 +2744,7 @@ renderTermSVGFor mainColor accDim (mp, xs) t = do maybe id localTope mtopeArg $ do Just <$> renderForSubShapeSVG mainColor dim (map S xs) Z ret (S <$> f) (S <$> x) -- FIXME: breaks for 2 * (2 * 2), but works for 2 * 2 * 2 = (2 * 2) * 2 _ -> traverse (\(p', _) -> renderForSVG mainColor accDim p' t') mp - TypeFunT{} | null xs -> enterScope (Just (Rzk.VarIdent Nothing "_")) t' $ do + TypeFunT{} | null xs -> enterScope (Just "_") t' $ do renderTermSVGFor "blue" 0 (Nothing, []) (Pure Z) -- use blue for types _ -> case t' of -- check evaluated term @@ -2728,7 +2754,7 @@ renderTermSVGFor mainColor accDim (mp, xs) t = do maybe id localTope mtopeArg $ do Just <$> renderForSubShapeSVG mainColor dim (map S xs) Z ret (S <$> f) (S <$> x) -- FIXME: breaks for 2 * (2 * 2), but works for 2 * 2 * 2 = (2 * 2) * 2 _ -> traverse (\(p', _) -> renderForSVG mainColor accDim p' t') mp - TypeFunT{} | null xs -> enterScope (Just (Rzk.VarIdent Nothing "_")) t' $ do + TypeFunT{} | null xs -> enterScope (Just "_") t' $ do renderTermSVGFor "blue" 0 (Nothing, []) (Pure Z) -- use blue for types _ -> case ty of -- check type of the term