{-# OPTIONS_GHC -w #-}
{-# OPTIONS -XMagicHash -XBangPatterns -XTypeSynonymInstances -XFlexibleInstances -cpp #-}
#if __GLASGOW_HASKELL__ >= 710
{-# OPTIONS_GHC -XPartialTypeSignatures #-}
#endif
module Sygus.ParseSygus ( module Sygus.Syntax 
                        , parse
                        , parseCmd
                        , parseIndex
                        , parseBfTerm
                        , parseSortedVars
                        , parseSortedVars1
                        , parseSort
                        , parseMaybeGrammarDef
                        , parseGroupedRuleLists1 ) where

import Sygus.LexSygus
import Sygus.Syntax
import qualified Data.Array as Happy_Data_Array
import qualified Data.Bits as Bits
import qualified GHC.Exts as Happy_GHC_Exts
import Control.Applicative(Applicative(..))
import Control.Monad (ap)

-- parser produced by Happy Version 1.20.0

newtype HappyAbsSyn  = HappyAbsSyn HappyAny
#if __GLASGOW_HASKELL__ >= 607
type HappyAny = Happy_GHC_Exts.Any
#else
type HappyAny = forall a . a
#endif
newtype HappyWrap12 = HappyWrap12 ([Cmd])
happyIn12 :: ([Cmd]) -> (HappyAbsSyn )
happyIn12 :: [Cmd] -> HappyAbsSyn
happyIn12 [Cmd]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([Cmd] -> HappyWrap12
HappyWrap12 [Cmd]
x)
{-# INLINE happyIn12 #-}
happyOut12 :: (HappyAbsSyn ) -> HappyWrap12
happyOut12 :: HappyAbsSyn -> HappyWrap12
happyOut12 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut12 #-}
newtype HappyWrap13 = HappyWrap13 ([Cmd])
happyIn13 :: ([Cmd]) -> (HappyAbsSyn )
happyIn13 :: [Cmd] -> HappyAbsSyn
happyIn13 [Cmd]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([Cmd] -> HappyWrap13
HappyWrap13 [Cmd]
x)
{-# INLINE happyIn13 #-}
happyOut13 :: (HappyAbsSyn ) -> HappyWrap13
happyOut13 :: HappyAbsSyn -> HappyWrap13
happyOut13 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut13 #-}
newtype HappyWrap14 = HappyWrap14 (Cmd)
happyIn14 :: (Cmd) -> (HappyAbsSyn )
happyIn14 :: Cmd -> HappyAbsSyn
happyIn14 Cmd
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# (Cmd -> HappyWrap14
HappyWrap14 Cmd
x)
{-# INLINE happyIn14 #-}
happyOut14 :: (HappyAbsSyn ) -> HappyWrap14
happyOut14 :: HappyAbsSyn -> HappyWrap14
happyOut14 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut14 #-}
newtype HappyWrap15 = HappyWrap15 (Lit)
happyIn15 :: (Lit) -> (HappyAbsSyn )
happyIn15 :: Lit -> HappyAbsSyn
happyIn15 Lit
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# (Lit -> HappyWrap15
HappyWrap15 Lit
x)
{-# INLINE happyIn15 #-}
happyOut15 :: (HappyAbsSyn ) -> HappyWrap15
happyOut15 :: HappyAbsSyn -> HappyWrap15
happyOut15 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut15 #-}
newtype HappyWrap16 = HappyWrap16 (Identifier)
happyIn16 :: (Identifier) -> (HappyAbsSyn )
happyIn16 :: Identifier -> HappyAbsSyn
happyIn16 Identifier
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# (Identifier -> HappyWrap16
HappyWrap16 Identifier
x)
{-# INLINE happyIn16 #-}
happyOut16 :: (HappyAbsSyn ) -> HappyWrap16
happyOut16 :: HappyAbsSyn -> HappyWrap16
happyOut16 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut16 #-}
newtype HappyWrap17 = HappyWrap17 ([Index])
happyIn17 :: ([Index]) -> (HappyAbsSyn )
happyIn17 :: [Index] -> HappyAbsSyn
happyIn17 [Index]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([Index] -> HappyWrap17
HappyWrap17 [Index]
x)
{-# INLINE happyIn17 #-}
happyOut17 :: (HappyAbsSyn ) -> HappyWrap17
happyOut17 :: HappyAbsSyn -> HappyWrap17
happyOut17 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut17 #-}
newtype HappyWrap18 = HappyWrap18 ([Index])
happyIn18 :: ([Index]) -> (HappyAbsSyn )
happyIn18 :: [Index] -> HappyAbsSyn
happyIn18 [Index]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([Index] -> HappyWrap18
HappyWrap18 [Index]
x)
{-# INLINE happyIn18 #-}
happyOut18 :: (HappyAbsSyn ) -> HappyWrap18
happyOut18 :: HappyAbsSyn -> HappyWrap18
happyOut18 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut18 #-}
newtype HappyWrap19 = HappyWrap19 (Index)
happyIn19 :: (Index) -> (HappyAbsSyn )
happyIn19 :: Index -> HappyAbsSyn
happyIn19 Index
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# (Index -> HappyWrap19
HappyWrap19 Index
x)
{-# INLINE happyIn19 #-}
happyOut19 :: (HappyAbsSyn ) -> HappyWrap19
happyOut19 :: HappyAbsSyn -> HappyWrap19
happyOut19 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut19 #-}
newtype HappyWrap20 = HappyWrap20 ([Sort])
happyIn20 :: ([Sort]) -> (HappyAbsSyn )
happyIn20 :: [Sort] -> HappyAbsSyn
happyIn20 [Sort]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([Sort] -> HappyWrap20
HappyWrap20 [Sort]
x)
{-# INLINE happyIn20 #-}
happyOut20 :: (HappyAbsSyn ) -> HappyWrap20
happyOut20 :: HappyAbsSyn -> HappyWrap20
happyOut20 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut20 #-}
newtype HappyWrap21 = HappyWrap21 ([Sort])
happyIn21 :: ([Sort]) -> (HappyAbsSyn )
happyIn21 :: [Sort] -> HappyAbsSyn
happyIn21 [Sort]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([Sort] -> HappyWrap21
HappyWrap21 [Sort]
x)
{-# INLINE happyIn21 #-}
happyOut21 :: (HappyAbsSyn ) -> HappyWrap21
happyOut21 :: HappyAbsSyn -> HappyWrap21
happyOut21 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut21 #-}
newtype HappyWrap22 = HappyWrap22 (Sort)
happyIn22 :: (Sort) -> (HappyAbsSyn )
happyIn22 :: Sort -> HappyAbsSyn
happyIn22 Sort
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# (Sort -> HappyWrap22
HappyWrap22 Sort
x)
{-# INLINE happyIn22 #-}
happyOut22 :: (HappyAbsSyn ) -> HappyWrap22
happyOut22 :: HappyAbsSyn -> HappyWrap22
happyOut22 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut22 #-}
newtype HappyWrap23 = HappyWrap23 ([Term])
happyIn23 :: ([Term]) -> (HappyAbsSyn )
happyIn23 :: [Term] -> HappyAbsSyn
happyIn23 [Term]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([Term] -> HappyWrap23
HappyWrap23 [Term]
x)
{-# INLINE happyIn23 #-}
happyOut23 :: (HappyAbsSyn ) -> HappyWrap23
happyOut23 :: HappyAbsSyn -> HappyWrap23
happyOut23 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut23 #-}
newtype HappyWrap24 = HappyWrap24 ([Term])
happyIn24 :: ([Term]) -> (HappyAbsSyn )
happyIn24 :: [Term] -> HappyAbsSyn
happyIn24 [Term]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([Term] -> HappyWrap24
HappyWrap24 [Term]
x)
{-# INLINE happyIn24 #-}
happyOut24 :: (HappyAbsSyn ) -> HappyWrap24
happyOut24 :: HappyAbsSyn -> HappyWrap24
happyOut24 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut24 #-}
newtype HappyWrap25 = HappyWrap25 (Term)
happyIn25 :: (Term) -> (HappyAbsSyn )
happyIn25 :: Term -> HappyAbsSyn
happyIn25 Term
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# (Term -> HappyWrap25
HappyWrap25 Term
x)
{-# INLINE happyIn25 #-}
happyOut25 :: (HappyAbsSyn ) -> HappyWrap25
happyOut25 :: HappyAbsSyn -> HappyWrap25
happyOut25 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut25 #-}
newtype HappyWrap26 = HappyWrap26 ([BfTerm])
happyIn26 :: ([BfTerm]) -> (HappyAbsSyn )
happyIn26 :: [BfTerm] -> HappyAbsSyn
happyIn26 [BfTerm]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([BfTerm] -> HappyWrap26
HappyWrap26 [BfTerm]
x)
{-# INLINE happyIn26 #-}
happyOut26 :: (HappyAbsSyn ) -> HappyWrap26
happyOut26 :: HappyAbsSyn -> HappyWrap26
happyOut26 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut26 #-}
newtype HappyWrap27 = HappyWrap27 ([BfTerm])
happyIn27 :: ([BfTerm]) -> (HappyAbsSyn )
happyIn27 :: [BfTerm] -> HappyAbsSyn
happyIn27 [BfTerm]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([BfTerm] -> HappyWrap27
HappyWrap27 [BfTerm]
x)
{-# INLINE happyIn27 #-}
happyOut27 :: (HappyAbsSyn ) -> HappyWrap27
happyOut27 :: HappyAbsSyn -> HappyWrap27
happyOut27 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut27 #-}
newtype HappyWrap28 = HappyWrap28 (BfTerm)
happyIn28 :: (BfTerm) -> (HappyAbsSyn )
happyIn28 :: BfTerm -> HappyAbsSyn
happyIn28 BfTerm
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# (BfTerm -> HappyWrap28
HappyWrap28 BfTerm
x)
{-# INLINE happyIn28 #-}
happyOut28 :: (HappyAbsSyn ) -> HappyWrap28
happyOut28 :: HappyAbsSyn -> HappyWrap28
happyOut28 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut28 #-}
newtype HappyWrap29 = HappyWrap29 ([SortedVar])
happyIn29 :: ([SortedVar]) -> (HappyAbsSyn )
happyIn29 :: [SortedVar] -> HappyAbsSyn
happyIn29 [SortedVar]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([SortedVar] -> HappyWrap29
HappyWrap29 [SortedVar]
x)
{-# INLINE happyIn29 #-}
happyOut29 :: (HappyAbsSyn ) -> HappyWrap29
happyOut29 :: HappyAbsSyn -> HappyWrap29
happyOut29 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut29 #-}
newtype HappyWrap30 = HappyWrap30 ([SortedVar])
happyIn30 :: ([SortedVar]) -> (HappyAbsSyn )
happyIn30 :: [SortedVar] -> HappyAbsSyn
happyIn30 [SortedVar]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([SortedVar] -> HappyWrap30
HappyWrap30 [SortedVar]
x)
{-# INLINE happyIn30 #-}
happyOut30 :: (HappyAbsSyn ) -> HappyWrap30
happyOut30 :: HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut30 #-}
newtype HappyWrap31 = HappyWrap31 ([SortedVar])
happyIn31 :: ([SortedVar]) -> (HappyAbsSyn )
happyIn31 :: [SortedVar] -> HappyAbsSyn
happyIn31 [SortedVar]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([SortedVar] -> HappyWrap31
HappyWrap31 [SortedVar]
x)
{-# INLINE happyIn31 #-}
happyOut31 :: (HappyAbsSyn ) -> HappyWrap31
happyOut31 :: HappyAbsSyn -> HappyWrap31
happyOut31 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut31 #-}
newtype HappyWrap32 = HappyWrap32 ([SortedVar])
happyIn32 :: ([SortedVar]) -> (HappyAbsSyn )
happyIn32 :: [SortedVar] -> HappyAbsSyn
happyIn32 [SortedVar]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([SortedVar] -> HappyWrap32
HappyWrap32 [SortedVar]
x)
{-# INLINE happyIn32 #-}
happyOut32 :: (HappyAbsSyn ) -> HappyWrap32
happyOut32 :: HappyAbsSyn -> HappyWrap32
happyOut32 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut32 #-}
newtype HappyWrap33 = HappyWrap33 (SortedVar)
happyIn33 :: (SortedVar) -> (HappyAbsSyn )
happyIn33 :: SortedVar -> HappyAbsSyn
happyIn33 SortedVar
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# (SortedVar -> HappyWrap33
HappyWrap33 SortedVar
x)
{-# INLINE happyIn33 #-}
happyOut33 :: (HappyAbsSyn ) -> HappyWrap33
happyOut33 :: HappyAbsSyn -> HappyWrap33
happyOut33 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut33 #-}
newtype HappyWrap34 = HappyWrap34 ([VarBinding])
happyIn34 :: ([VarBinding]) -> (HappyAbsSyn )
happyIn34 :: [VarBinding] -> HappyAbsSyn
happyIn34 [VarBinding]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([VarBinding] -> HappyWrap34
HappyWrap34 [VarBinding]
x)
{-# INLINE happyIn34 #-}
happyOut34 :: (HappyAbsSyn ) -> HappyWrap34
happyOut34 :: HappyAbsSyn -> HappyWrap34
happyOut34 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut34 #-}
newtype HappyWrap35 = HappyWrap35 ([VarBinding])
happyIn35 :: ([VarBinding]) -> (HappyAbsSyn )
happyIn35 :: [VarBinding] -> HappyAbsSyn
happyIn35 [VarBinding]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([VarBinding] -> HappyWrap35
HappyWrap35 [VarBinding]
x)
{-# INLINE happyIn35 #-}
happyOut35 :: (HappyAbsSyn ) -> HappyWrap35
happyOut35 :: HappyAbsSyn -> HappyWrap35
happyOut35 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut35 #-}
newtype HappyWrap36 = HappyWrap36 (VarBinding)
happyIn36 :: (VarBinding) -> (HappyAbsSyn )
happyIn36 :: VarBinding -> HappyAbsSyn
happyIn36 VarBinding
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# (VarBinding -> HappyWrap36
HappyWrap36 VarBinding
x)
{-# INLINE happyIn36 #-}
happyOut36 :: (HappyAbsSyn ) -> HappyWrap36
happyOut36 :: HappyAbsSyn -> HappyWrap36
happyOut36 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut36 #-}
newtype HappyWrap37 = HappyWrap37 (Feature)
happyIn37 :: (Feature) -> (HappyAbsSyn )
happyIn37 :: Feature -> HappyAbsSyn
happyIn37 Feature
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# (Feature -> HappyWrap37
HappyWrap37 Feature
x)
{-# INLINE happyIn37 #-}
happyOut37 :: (HappyAbsSyn ) -> HappyWrap37
happyOut37 :: HappyAbsSyn -> HappyWrap37
happyOut37 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut37 #-}
newtype HappyWrap38 = HappyWrap38 (SmtCmd)
happyIn38 :: (SmtCmd) -> (HappyAbsSyn )
happyIn38 :: SmtCmd -> HappyAbsSyn
happyIn38 SmtCmd
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# (SmtCmd -> HappyWrap38
HappyWrap38 SmtCmd
x)
{-# INLINE happyIn38 #-}
happyOut38 :: (HappyAbsSyn ) -> HappyWrap38
happyOut38 :: HappyAbsSyn -> HappyWrap38
happyOut38 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut38 #-}
newtype HappyWrap39 = HappyWrap39 ([SortDecl])
happyIn39 :: ([SortDecl]) -> (HappyAbsSyn )
happyIn39 :: [SortDecl] -> HappyAbsSyn
happyIn39 [SortDecl]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([SortDecl] -> HappyWrap39
HappyWrap39 [SortDecl]
x)
{-# INLINE happyIn39 #-}
happyOut39 :: (HappyAbsSyn ) -> HappyWrap39
happyOut39 :: HappyAbsSyn -> HappyWrap39
happyOut39 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut39 #-}
newtype HappyWrap40 = HappyWrap40 ([SortDecl])
happyIn40 :: ([SortDecl]) -> (HappyAbsSyn )
happyIn40 :: [SortDecl] -> HappyAbsSyn
happyIn40 [SortDecl]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([SortDecl] -> HappyWrap40
HappyWrap40 [SortDecl]
x)
{-# INLINE happyIn40 #-}
happyOut40 :: (HappyAbsSyn ) -> HappyWrap40
happyOut40 :: HappyAbsSyn -> HappyWrap40
happyOut40 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut40 #-}
newtype HappyWrap41 = HappyWrap41 (SortDecl)
happyIn41 :: (SortDecl) -> (HappyAbsSyn )
happyIn41 :: SortDecl -> HappyAbsSyn
happyIn41 SortDecl
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# (SortDecl -> HappyWrap41
HappyWrap41 SortDecl
x)
{-# INLINE happyIn41 #-}
happyOut41 :: (HappyAbsSyn ) -> HappyWrap41
happyOut41 :: HappyAbsSyn -> HappyWrap41
happyOut41 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut41 #-}
newtype HappyWrap42 = HappyWrap42 ([DTDec])
happyIn42 :: ([DTDec]) -> (HappyAbsSyn )
happyIn42 :: [DTDec] -> HappyAbsSyn
happyIn42 [DTDec]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([DTDec] -> HappyWrap42
HappyWrap42 [DTDec]
x)
{-# INLINE happyIn42 #-}
happyOut42 :: (HappyAbsSyn ) -> HappyWrap42
happyOut42 :: HappyAbsSyn -> HappyWrap42
happyOut42 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut42 #-}
newtype HappyWrap43 = HappyWrap43 ([DTDec])
happyIn43 :: ([DTDec]) -> (HappyAbsSyn )
happyIn43 :: [DTDec] -> HappyAbsSyn
happyIn43 [DTDec]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([DTDec] -> HappyWrap43
HappyWrap43 [DTDec]
x)
{-# INLINE happyIn43 #-}
happyOut43 :: (HappyAbsSyn ) -> HappyWrap43
happyOut43 :: HappyAbsSyn -> HappyWrap43
happyOut43 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut43 #-}
newtype HappyWrap44 = HappyWrap44 (DTDec)
happyIn44 :: (DTDec) -> (HappyAbsSyn )
happyIn44 :: DTDec -> HappyAbsSyn
happyIn44 DTDec
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# (DTDec -> HappyWrap44
HappyWrap44 DTDec
x)
{-# INLINE happyIn44 #-}
happyOut44 :: (HappyAbsSyn ) -> HappyWrap44
happyOut44 :: HappyAbsSyn -> HappyWrap44
happyOut44 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut44 #-}
newtype HappyWrap45 = HappyWrap45 ([DTConsDec])
happyIn45 :: ([DTConsDec]) -> (HappyAbsSyn )
happyIn45 :: [DTConsDec] -> HappyAbsSyn
happyIn45 [DTConsDec]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([DTConsDec] -> HappyWrap45
HappyWrap45 [DTConsDec]
x)
{-# INLINE happyIn45 #-}
happyOut45 :: (HappyAbsSyn ) -> HappyWrap45
happyOut45 :: HappyAbsSyn -> HappyWrap45
happyOut45 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut45 #-}
newtype HappyWrap46 = HappyWrap46 ([DTConsDec])
happyIn46 :: ([DTConsDec]) -> (HappyAbsSyn )
happyIn46 :: [DTConsDec] -> HappyAbsSyn
happyIn46 [DTConsDec]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([DTConsDec] -> HappyWrap46
HappyWrap46 [DTConsDec]
x)
{-# INLINE happyIn46 #-}
happyOut46 :: (HappyAbsSyn ) -> HappyWrap46
happyOut46 :: HappyAbsSyn -> HappyWrap46
happyOut46 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut46 #-}
newtype HappyWrap47 = HappyWrap47 (DTConsDec)
happyIn47 :: (DTConsDec) -> (HappyAbsSyn )
happyIn47 :: DTConsDec -> HappyAbsSyn
happyIn47 DTConsDec
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# (DTConsDec -> HappyWrap47
HappyWrap47 DTConsDec
x)
{-# INLINE happyIn47 #-}
happyOut47 :: (HappyAbsSyn ) -> HappyWrap47
happyOut47 :: HappyAbsSyn -> HappyWrap47
happyOut47 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut47 #-}
newtype HappyWrap48 = HappyWrap48 (Maybe GrammarDef)
happyIn48 :: (Maybe GrammarDef) -> (HappyAbsSyn )
happyIn48 :: Maybe GrammarDef -> HappyAbsSyn
happyIn48 Maybe GrammarDef
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# (Maybe GrammarDef -> HappyWrap48
HappyWrap48 Maybe GrammarDef
x)
{-# INLINE happyIn48 #-}
happyOut48 :: (HappyAbsSyn ) -> HappyWrap48
happyOut48 :: HappyAbsSyn -> HappyWrap48
happyOut48 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut48 #-}
newtype HappyWrap49 = HappyWrap49 (GrammarDef)
happyIn49 :: (GrammarDef) -> (HappyAbsSyn )
happyIn49 :: GrammarDef -> HappyAbsSyn
happyIn49 GrammarDef
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# (GrammarDef -> HappyWrap49
HappyWrap49 GrammarDef
x)
{-# INLINE happyIn49 #-}
happyOut49 :: (HappyAbsSyn ) -> HappyWrap49
happyOut49 :: HappyAbsSyn -> HappyWrap49
happyOut49 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut49 #-}
newtype HappyWrap50 = HappyWrap50 ([GroupedRuleList])
happyIn50 :: ([GroupedRuleList]) -> (HappyAbsSyn )
happyIn50 :: [GroupedRuleList] -> HappyAbsSyn
happyIn50 [GroupedRuleList]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([GroupedRuleList] -> HappyWrap50
HappyWrap50 [GroupedRuleList]
x)
{-# INLINE happyIn50 #-}
happyOut50 :: (HappyAbsSyn ) -> HappyWrap50
happyOut50 :: HappyAbsSyn -> HappyWrap50
happyOut50 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut50 #-}
newtype HappyWrap51 = HappyWrap51 ([GroupedRuleList])
happyIn51 :: ([GroupedRuleList]) -> (HappyAbsSyn )
happyIn51 :: [GroupedRuleList] -> HappyAbsSyn
happyIn51 [GroupedRuleList]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([GroupedRuleList] -> HappyWrap51
HappyWrap51 [GroupedRuleList]
x)
{-# INLINE happyIn51 #-}
happyOut51 :: (HappyAbsSyn ) -> HappyWrap51
happyOut51 :: HappyAbsSyn -> HappyWrap51
happyOut51 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut51 #-}
newtype HappyWrap52 = HappyWrap52 (GroupedRuleList)
happyIn52 :: (GroupedRuleList) -> (HappyAbsSyn )
happyIn52 :: GroupedRuleList -> HappyAbsSyn
happyIn52 GroupedRuleList
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# (GroupedRuleList -> HappyWrap52
HappyWrap52 GroupedRuleList
x)
{-# INLINE happyIn52 #-}
happyOut52 :: (HappyAbsSyn ) -> HappyWrap52
happyOut52 :: HappyAbsSyn -> HappyWrap52
happyOut52 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut52 #-}
newtype HappyWrap53 = HappyWrap53 ([GTerm])
happyIn53 :: ([GTerm]) -> (HappyAbsSyn )
happyIn53 :: [GTerm] -> HappyAbsSyn
happyIn53 [GTerm]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([GTerm] -> HappyWrap53
HappyWrap53 [GTerm]
x)
{-# INLINE happyIn53 #-}
happyOut53 :: (HappyAbsSyn ) -> HappyWrap53
happyOut53 :: HappyAbsSyn -> HappyWrap53
happyOut53 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut53 #-}
newtype HappyWrap54 = HappyWrap54 ([GTerm])
happyIn54 :: ([GTerm]) -> (HappyAbsSyn )
happyIn54 :: [GTerm] -> HappyAbsSyn
happyIn54 [GTerm]
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# ([GTerm] -> HappyWrap54
HappyWrap54 [GTerm]
x)
{-# INLINE happyIn54 #-}
happyOut54 :: (HappyAbsSyn ) -> HappyWrap54
happyOut54 :: HappyAbsSyn -> HappyWrap54
happyOut54 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut54 #-}
newtype HappyWrap55 = HappyWrap55 (GTerm)
happyIn55 :: (GTerm) -> (HappyAbsSyn )
happyIn55 :: GTerm -> HappyAbsSyn
happyIn55 GTerm
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# (GTerm -> HappyWrap55
HappyWrap55 GTerm
x)
{-# INLINE happyIn55 #-}
happyOut55 :: (HappyAbsSyn ) -> HappyWrap55
happyOut55 :: HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut55 #-}
happyInTok :: (Token) -> (HappyAbsSyn )
happyInTok :: Token -> HappyAbsSyn
happyInTok Token
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# Token
x
{-# INLINE happyInTok #-}
happyOutTok :: (HappyAbsSyn ) -> (Token)
happyOutTok :: HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
x = unsafeCoerce# :: forall a b. a -> b
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOutTok #-}


happyExpList :: HappyAddr
happyExpList :: HappyAddr
happyExpList = Addr# -> HappyAddr
HappyA# Addr#
"\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\x08\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x2e\x00\x00\x40\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\x80\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\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\x80\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\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\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\x0c\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\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\x04\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\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\xf0\xff\x03\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\x2e\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x0b\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\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\x08\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\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\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x01\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\x20\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x00\x40\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\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x08\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\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x01\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\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\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\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\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\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\x10\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\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\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\x20\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\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x00\x40\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\xb8\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x1c\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\x10\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\x80\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\x40\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\x01\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\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\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\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x02\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\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\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\x01\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\x02\x00\x00\x04\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\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\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\x20\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x10\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\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x01\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\x02\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\x10\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\x2e\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x04\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x2e\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\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\x10\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\x00\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 :: Int -> [String]
happyExpListPerState Int
st =
    [String]
token_strs_expected
  where token_strs :: [String]
token_strs = [String
"error",String
"%dummy",String
"%start_parse",String
"%start_parseCmd",String
"%start_parseIndex",String
"%start_parseBfTerm",String
"%start_parseSortedVars",String
"%start_parseSortedVars1",String
"%start_parseSort",String
"%start_parseMaybeGrammarDef",String
"%start_parseGroupedRuleLists1",String
"sygus",String
"sygus_rev",String
"cmd",String
"lit",String
"identifier",String
"indexes1",String
"indexes_rev1",String
"index",String
"sorts1",String
"sorts_rev1",String
"sort",String
"terms1",String
"terms_rev1",String
"term",String
"bfterms1",String
"bfterms_rev1",String
"bfterm",String
"sorted_vars1",String
"sorted_vars_rev1",String
"sorted_vars",String
"sorted_vars_rev",String
"sorted_var",String
"var_bindings1",String
"var_bindings_rev1",String
"var_binding",String
"feature",String
"smtCmd",String
"sort_decls1",String
"sort_decls_rev1",String
"sort_decl",String
"dt_decs1",String
"dt_decs_rev1",String
"dt_dec",String
"dt_cons_decs1",String
"dt_cons_decs_rev1",String
"dt_cons_dec",String
"maybe_grammar_def",String
"grammar_def",String
"grouped_rule_lists1",String
"grouped_rule_lists_rev1",String
"grouped_rule_list",String
"gterm1",String
"gterm_rev1",String
"gterm",String
"num",String
"bool",String
"other_lit",String
"'_'",String
"'('",String
"')'",String
"':'",String
"exists",String
"forall",String
"tlet",String
"grammars",String
"fwdDecls",String
"recursion",String
"checkSynth",String
"constraint",String
"declareVar",String
"invConstraint",String
"setFeature",String
"synthFun",String
"synthInv",String
"declareDatatype",String
"declareDatatypes",String
"declareSort",String
"defineFun",String
"defineSort",String
"setLogic",String
"setOption",String
"constant",String
"variable",String
"symb",String
"%eof"]
        bit_start :: Int
bit_start = Int
st forall a. Num a => a -> a -> a
Prelude.* Int
86
        bit_end :: Int
bit_end = (Int
st forall a. Num a => a -> a -> a
Prelude.+ Int
1) forall a. Num a => a -> a -> a
Prelude.* Int
86
        read_bit :: Int -> Bool
read_bit = HappyAddr -> Int -> Bool
readArrayBit HappyAddr
happyExpList
        bits :: [Bool]
bits = forall a b. (a -> b) -> [a] -> [b]
Prelude.map Int -> Bool
read_bit [Int
bit_start..Int
bit_end forall a. Num a => a -> a -> a
Prelude.- Int
1]
        bits_indexed :: [(Bool, Int)]
bits_indexed = forall a b. [a] -> [b] -> [(a, b)]
Prelude.zip [Bool]
bits [Int
0..Int
85]
        token_strs_expected :: [String]
token_strs_expected = forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b]
Prelude.concatMap (Bool, Int) -> [String]
f [(Bool, Int)]
bits_indexed
        f :: (Bool, Int) -> [String]
f (Bool
Prelude.False, Int
_) = []
        f (Bool
Prelude.True, Int
nr) = [[String]
token_strs forall a. [a] -> Int -> a
Prelude.!! Int
nr]

happyActOffsets :: HappyAddr
happyActOffsets :: HappyAddr
happyActOffsets = Addr# -> HappyAddr
HappyA# Addr#
"\x00\x00\x15\x00\x08\x00\x05\x00\x00\x00\x1a\x00\x10\x00\x1f\x00\x4d\x00\x00\x00\x4f\x00\xe4\xff\x7f\x00\x00\x00\xef\xff\x7b\x00\x00\x00\x99\x00\x00\x00\x86\x00\x07\x00\x00\x00\x86\x00\xc9\x00\x00\x00\xb2\x00\xb0\x00\xcc\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x07\x00\xb4\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x48\x00\xb4\x00\xce\x00\x11\x00\xb8\x00\xb9\x00\xcb\x00\xba\x00\xbb\x00\xbc\x00\xd0\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xd8\x00\x16\x00\xc2\x00\xdd\x00\x00\x00\x10\x00\x00\x00\x10\x00\xdc\x00\x10\x00\x00\x00\x00\x00\xde\x00\xdf\x00\xe0\x00\x10\x00\x00\x00\xe1\x00\x08\x00\xe2\x00\x16\x00\x00\x00\xc7\x00\xe3\x00\x10\x00\xe5\x00\xea\x00\xe7\x00\xe8\x00\xe9\x00\xeb\x00\x90\x00\xd1\x00\x10\x00\x00\x00\x00\x00\xec\x00\x37\x00\x00\x00\x1b\x00\xee\x00\xef\x00\xf0\x00\x00\x00\xf1\x00\xd3\x00\xf4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x00\xf5\x00\xf3\x00\xf6\x00\x00\x00\xe4\x00\xf7\x00\x00\x00\xf8\x00\x00\x00\xab\x00\x00\x00\x00\x00\xf9\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\x00\x30\x00\x00\x00\xfd\x00\x30\x00\x00\x00\x26\x00\xfe\x00\x00\x00\x00\x00\xff\x00\x00\x00\x00\x01\x00\x00\x06\x01\x00\x00\xfc\x00\x02\x01\x04\x01\x00\x00\xed\x00\x00\x00\x07\x01\x08\x01\x09\x01\xfa\x00\x00\x00\x05\x01\x0b\x01\x0b\x01\x0c\x01\x35\x00\x00\x00\x00\x00\x00\x00\x0d\x01\x0e\x01\x0f\x01\x11\x01\x00\x00\x01\x01\x13\x01\x00\x00\x10\x00\x12\x01\x00\x00\x00\x00\x00\x00\x15\x01\x16\x01\x10\x00\x00\x00\x00\x00\x10\x00\x10\x00\x00\x00\x17\x01\x00\x00\x18\x01\x1a\x01\x35\x00\x00\x00\x1b\x01\x1d\x01\x00\x00\x1e\x01\x1f\x01\x21\x01\x00\x00\x35\x00\x00\x00\x35\x00\x35\x00\x35\x00\x22\x01\x23\x01\x24\x01\x25\x01\x26\x01\x00\x00\x00\x00\x00\x00\x27\x01\x28\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#

happyGotoOffsets :: HappyAddr
happyGotoOffsets :: HappyAddr
happyGotoOffsets = Addr# -> HappyAddr
HappyA# Addr#
"\x0f\x00\x2b\x00\x0a\x01\x3a\x00\x0e\x00\x59\x00\x45\x00\x28\x00\x92\x00\x2e\x01\x2e\x00\x00\x00\xd4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x2c\x01\x00\x00\x00\x00\x1c\x01\x00\x00\x00\x00\x00\x00\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x82\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x00\x00\x00\x00\xaa\x00\x00\x00\x63\x00\x00\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x97\x00\x03\x01\x00\x00\x00\x00\x19\x01\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x30\x01\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb1\x00\xb3\x00\x00\x00\x94\x00\x00\x00\x29\x01\x00\x00\x00\x00\x00\x00\xb5\x00\x00\x00\x00\x00\x33\x01\x00\x00\x00\x00\x00\x00\x14\x01\x00\x00\x00\x00\x00\x00\x00\x00\x98\x00\xfe\xff\x00\x00\x00\x00\x01\x00\x00\x00\x34\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x00\x91\x00\x96\x00\x00\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x85\x00\xb7\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x8e\x00\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x31\x01\x00\x00\x00\x00\x00\x00\xa8\x00\x00\x00\x76\x00\x00\x00\x78\x00\x7a\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#

happyAdjustOffset :: Happy_GHC_Exts.Int# -> Happy_GHC_Exts.Int#
happyAdjustOffset :: Int# -> Int#
happyAdjustOffset Int#
off = Int#
off

happyDefActions :: HappyAddr
happyDefActions :: HappyAddr
happyDefActions = Addr# -> HappyAddr
HappyA# Addr#
"\xf4\xff\x00\x00\x00\x00\x00\x00\xc8\xff\x00\x00\x00\x00\xab\xff\x00\x00\x00\x00\xf6\xff\x00\x00\xa9\xff\xa7\xff\x00\x00\x00\x00\xac\xff\x00\x00\xde\xff\x00\x00\x00\x00\xe8\xff\x00\x00\xcd\xff\xcb\xff\x00\x00\x00\x00\xca\xff\xcf\xff\xd0\xff\x00\x00\xeb\xff\xea\xff\xe9\xff\x00\x00\x00\x00\xe3\xff\xe2\xff\x00\x00\xec\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\x00\x00\x00\x00\xc9\xff\x00\x00\xcc\xff\x00\x00\x00\x00\x00\x00\xa8\xff\xf5\xff\x00\x00\x00\x00\x00\x00\xe1\xff\xdf\xff\x00\x00\x00\x00\x00\x00\xd3\xff\xd1\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\xd8\xff\xd9\xff\x00\x00\x00\x00\xf3\xff\x00\x00\x00\x00\x00\x00\x00\x00\xf2\xff\x00\x00\x00\x00\x00\x00\xc2\xff\xc1\xff\xc0\xff\xc8\xff\xc8\xff\x00\x00\x00\x00\x00\x00\xb8\xff\xb6\xff\x00\x00\x00\x00\xc8\xff\x00\x00\xba\xff\x00\x00\xd2\xff\xce\xff\x00\x00\xe6\xff\xe4\xff\xc7\xff\xe0\xff\xdd\xff\x00\x00\x00\x00\xa0\xff\x00\x00\xa5\xff\xa3\xff\x00\x00\x00\x00\xe5\xff\xe7\xff\x00\x00\xbb\xff\x00\x00\xbd\xff\x00\x00\xb7\xff\x00\x00\x00\x00\xb0\xff\xae\xff\x00\x00\xbf\xff\x00\x00\x00\x00\x00\x00\x00\x00\xf1\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdc\xff\xda\xff\xdb\xff\xd7\xff\x00\x00\x00\x00\x00\x00\xc6\xff\xc4\xff\x00\x00\x00\x00\xef\xff\x00\x00\xab\xff\xc8\xff\xaf\xff\xb1\xff\x00\x00\x00\x00\x00\x00\xb9\xff\xaa\xff\x00\x00\x00\x00\xa4\xff\x00\x00\xa6\xff\x00\x00\x00\x00\x00\x00\xb5\xff\x00\x00\xb4\xff\xb2\xff\x00\x00\x00\x00\xab\xff\xf0\xff\x00\x00\xc5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\xff\xad\xff\xb3\xff\x00\x00\x00\x00\xa2\xff\xa1\xff\xbc\xff\xbe\xff\xee\xff\xc3\xff\xd4\xff\xd5\xff\xd6\xff"#

happyCheck :: HappyAddr
happyCheck :: HappyAddr
happyCheck = Addr# -> HappyAddr
HappyA# Addr#
"\xff\xff\x03\x00\x04\x00\x1f\x00\x03\x00\x04\x00\x01\x00\x02\x00\x03\x00\x01\x00\x05\x00\x04\x00\x05\x00\x1e\x00\x10\x00\x00\x00\x01\x00\x10\x00\x01\x00\x02\x00\x03\x00\x05\x00\x05\x00\x01\x00\x02\x00\x03\x00\x05\x00\x05\x00\x01\x00\x02\x00\x03\x00\x05\x00\x05\x00\x13\x00\x14\x00\x1e\x00\x05\x00\x1e\x00\x1e\x00\x29\x00\x2a\x00\x2b\x00\x04\x00\x05\x00\x2b\x00\x02\x00\x1e\x00\x1e\x00\x02\x00\x01\x00\x02\x00\x03\x00\x1e\x00\x05\x00\x01\x00\x02\x00\x03\x00\x1e\x00\x05\x00\x04\x00\x05\x00\x03\x00\x04\x00\x08\x00\x09\x00\x0a\x00\x1c\x00\x1d\x00\x1e\x00\x1a\x00\x03\x00\x04\x00\x1a\x00\x04\x00\x10\x00\x04\x00\x24\x00\x25\x00\x1e\x00\x0a\x00\x0d\x00\x0a\x00\x05\x00\x1e\x00\x05\x00\x1e\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x03\x00\x04\x00\x03\x00\x04\x00\x03\x00\x04\x00\x11\x00\x12\x00\x03\x00\x04\x00\x15\x00\x0e\x00\x0f\x00\x10\x00\x0d\x00\x10\x00\x0b\x00\x0c\x00\x0d\x00\x03\x00\x04\x00\x03\x00\x04\x00\x03\x00\x04\x00\x03\x00\x04\x00\x03\x00\x04\x00\x0d\x00\x04\x00\x0d\x00\x05\x00\x0d\x00\x04\x00\x0d\x00\x0a\x00\x0d\x00\x08\x00\x09\x00\x0a\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x04\x00\x1f\x00\x0b\x00\x0c\x00\x0d\x00\x05\x00\x0a\x00\x11\x00\x12\x00\x11\x00\x12\x00\x15\x00\x1f\x00\x15\x00\x11\x00\x12\x00\x24\x00\x25\x00\x15\x00\x01\x00\x02\x00\x03\x00\x05\x00\x06\x00\x07\x00\x1b\x00\x1c\x00\x1d\x00\x21\x00\x22\x00\x23\x00\x26\x00\x27\x00\x28\x00\x16\x00\x17\x00\x18\x00\x26\x00\x27\x00\x28\x00\x1e\x00\x1f\x00\x20\x00\x13\x00\x14\x00\x13\x00\x14\x00\x13\x00\x14\x00\x13\x00\x14\x00\x24\x00\x25\x00\x05\x00\x1f\x00\x1e\x00\x05\x00\x07\x00\x1f\x00\x06\x00\x05\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x07\x00\x1e\x00\x04\x00\x06\x00\x05\x00\x05\x00\x1e\x00\x06\x00\x06\x00\x06\x00\x06\x00\x05\x00\x01\x00\x05\x00\x05\x00\x05\x00\x1e\x00\x05\x00\x1e\x00\x06\x00\x05\x00\x05\x00\x05\x00\x02\x00\x06\x00\x06\x00\x06\x00\x05\x00\x05\x00\x28\x00\x06\x00\x06\x00\x06\x00\x05\x00\x05\x00\x1e\x00\x06\x00\x06\x00\x06\x00\x06\x00\x01\x00\x06\x00\x05\x00\x05\x00\x1e\x00\xff\xff\x06\x00\x06\x00\x06\x00\x05\x00\x07\x00\x06\x00\x06\x00\x06\x00\x06\x00\x05\x00\x05\x00\x1e\x00\x06\x00\x05\x00\x07\x00\x06\x00\x06\x00\x06\x00\x1e\x00\x06\x00\x06\x00\x05\x00\x20\x00\x06\x00\x06\x00\x05\x00\xff\xff\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x01\x00\x04\x00\x15\x00\x19\x00\x04\x00\x04\x00\x15\x00\x03\x00\xff\xff\x04\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\x20\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"#

happyTable :: HappyAddr
happyTable :: HappyAddr
happyTable = Addr# -> HappyAddr
HappyA# Addr#
"\x00\x00\x1c\x00\x1d\x00\xff\xff\x1c\x00\x1d\x00\x20\x00\x21\x00\x22\x00\x25\x00\x23\x00\x3a\x00\x3b\x00\x41\x00\x80\x00\x29\x00\x0a\x00\x80\x00\x20\x00\x21\x00\x22\x00\x15\x00\x5d\x00\x20\x00\x21\x00\x22\x00\x29\x00\x23\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x5d\x00\x1a\x00\x1b\x00\x16\x00\x12\x00\x16\x00\x26\x00\x81\x00\x82\x00\x83\x00\x3a\x00\x3b\x00\xb5\x00\x26\x00\x16\x00\x16\x00\x42\x00\x20\x00\x21\x00\x22\x00\x16\x00\x85\x00\x20\x00\x21\x00\x22\x00\x16\x00\x5d\x00\x3a\x00\x3b\x00\x1c\x00\x1d\x00\x60\x00\x61\x00\x62\x00\xb4\x00\xb5\x00\x16\x00\x27\x00\x59\x00\x5a\x00\x27\x00\x12\x00\x1e\x00\x12\x00\x0f\x00\x10\x00\x16\x00\x13\x00\x5b\x00\x48\x00\x0f\x00\x16\x00\x29\x00\x16\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x1c\x00\x1d\x00\x1c\x00\x1d\x00\x59\x00\x5a\x00\x16\x00\x17\x00\x59\x00\x5a\x00\x18\x00\x4a\x00\x4b\x00\x4c\x00\x9f\x00\x76\x00\x9c\x00\x9d\x00\x9e\x00\x59\x00\x5a\x00\x59\x00\x5a\x00\x59\x00\x5a\x00\x59\x00\x5a\x00\x59\x00\x5a\x00\xd1\x00\x12\x00\xcb\x00\x0f\x00\xca\x00\x12\x00\xc9\x00\x43\x00\xc8\x00\x45\x00\x46\x00\x47\x00\x12\x00\x12\x00\x12\x00\x12\x00\x12\x00\x12\x00\x7c\x00\x73\x00\x63\x00\xc1\x00\xba\x00\xb9\x00\x12\x00\xff\xff\x67\x00\x68\x00\x69\x00\x1a\x00\xb8\x00\x3f\x00\x17\x00\xa2\x00\x17\x00\x18\x00\xff\xff\x18\x00\xa1\x00\x17\x00\xc0\x00\x10\x00\x18\x00\x20\x00\x21\x00\x22\x00\x78\x00\x79\x00\x7a\x00\x6d\x00\x6e\x00\x6f\x00\x8f\x00\x90\x00\x91\x00\x0b\x00\x0c\x00\x0d\x00\xa3\x00\xa4\x00\xa5\x00\x85\x00\x0c\x00\x0d\x00\xbc\x00\xbd\x00\xbe\x00\x95\x00\x1b\x00\x94\x00\x1b\x00\x8a\x00\x1b\x00\xbf\x00\x1b\x00\xcc\x00\x10\x00\x1a\x00\xff\xff\x3d\x00\x1a\x00\x57\x00\xff\xff\x5e\x00\x53\x00\x59\x00\x58\x00\x56\x00\x55\x00\x54\x00\x52\x00\x51\x00\x50\x00\x4f\x00\x4e\x00\x4a\x00\x3a\x00\x45\x00\x80\x00\x7f\x00\x76\x00\x7e\x00\x7c\x00\x78\x00\x75\x00\x73\x00\x72\x00\x71\x00\x6d\x00\x6b\x00\x65\x00\x6a\x00\x98\x00\x63\x00\x9c\x00\x9b\x00\x9a\x00\x97\x00\x99\x00\x94\x00\x8f\x00\x93\x00\x71\x00\x41\x00\x8c\x00\x8a\x00\x88\x00\x0f\x00\xaf\x00\x8d\x00\xb7\x00\xb3\x00\xb2\x00\xb1\x00\xb0\x00\xae\x00\x93\x00\xa7\x00\xac\x00\x00\x00\xab\x00\xaa\x00\xa9\x00\x1a\x00\x23\x00\xa1\x00\xc8\x00\xc7\x00\xc6\x00\xa7\x00\x12\x00\xa8\x00\xc3\x00\x6d\x00\x86\x00\xbc\x00\xb8\x00\xd4\x00\xc4\x00\xd3\x00\xd1\x00\x6d\x00\x6b\x00\xcf\x00\xce\x00\x12\x00\x00\x00\xdb\x00\xda\x00\xd9\x00\xd8\x00\xd7\x00\xd6\x00\xd5\x00\x0a\x00\x3e\x00\x3d\x00\x65\x00\x38\x00\x5e\x00\x3b\x00\x88\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x00\x00\x00\x00\x00\x00\x00\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 :: Array
  Int
  (Int#
   -> Token
   -> Int#
   -> Happy_IntList
   -> HappyStk HappyAbsSyn
   -> [Token]
   -> HappyIdentity HappyAbsSyn)
happyReduceArr = forall i e. Ix i => (i, i) -> [(i, e)] -> Array i e
Happy_Data_Array.array (Int
9, Int
95) [
	(Int
9 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_9),
	(Int
10 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_10),
	(Int
11 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_11),
	(Int
12 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_12),
	(Int
13 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_13),
	(Int
14 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_14),
	(Int
15 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_15),
	(Int
16 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_16),
	(Int
17 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_17),
	(Int
18 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_18),
	(Int
19 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_19),
	(Int
20 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_20),
	(Int
21 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_21),
	(Int
22 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_22),
	(Int
23 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_23),
	(Int
24 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_24),
	(Int
25 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_25),
	(Int
26 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_26),
	(Int
27 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_27),
	(Int
28 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_28),
	(Int
29 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_29),
	(Int
30 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_30),
	(Int
31 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_31),
	(Int
32 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_32),
	(Int
33 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_33),
	(Int
34 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_34),
	(Int
35 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_35),
	(Int
36 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_36),
	(Int
37 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_37),
	(Int
38 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_38),
	(Int
39 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_39),
	(Int
40 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_40),
	(Int
41 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_41),
	(Int
42 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_42),
	(Int
43 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_43),
	(Int
44 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_44),
	(Int
45 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_45),
	(Int
46 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_46),
	(Int
47 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_47),
	(Int
48 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_48),
	(Int
49 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_49),
	(Int
50 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_50),
	(Int
51 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_51),
	(Int
52 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_52),
	(Int
53 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_53),
	(Int
54 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_54),
	(Int
55 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_55),
	(Int
56 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_56),
	(Int
57 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_57),
	(Int
58 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_58),
	(Int
59 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_59),
	(Int
60 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_60),
	(Int
61 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_61),
	(Int
62 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_62),
	(Int
63 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_63),
	(Int
64 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_64),
	(Int
65 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_65),
	(Int
66 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_66),
	(Int
67 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_67),
	(Int
68 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_68),
	(Int
69 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_69),
	(Int
70 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_70),
	(Int
71 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_71),
	(Int
72 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_72),
	(Int
73 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_73),
	(Int
74 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_74),
	(Int
75 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_75),
	(Int
76 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_76),
	(Int
77 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_77),
	(Int
78 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_78),
	(Int
79 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_79),
	(Int
80 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_80),
	(Int
81 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_81),
	(Int
82 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_82),
	(Int
83 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_83),
	(Int
84 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_84),
	(Int
85 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_85),
	(Int
86 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_86),
	(Int
87 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_87),
	(Int
88 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_88),
	(Int
89 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_89),
	(Int
90 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_90),
	(Int
91 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_91),
	(Int
92 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_92),
	(Int
93 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_93),
	(Int
94 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_94),
	(Int
95 , Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_95)
	]

happy_n_terms :: Int
happy_n_terms = Int
32 :: Prelude.Int
happy_n_nonterms :: Int
happy_n_nonterms = Int
44 :: Prelude.Int

happyReduce_9 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_9 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
0# HappyAbsSyn -> HappyAbsSyn
happyReduction_9
happyReduction_9 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_9 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap13
happyOut13 HappyAbsSyn
happy_x_1 of { (HappyWrap13 [Cmd]
happy_var_1) -> 
	[Cmd] -> HappyAbsSyn
happyIn12
		 (forall a. [a] -> [a]
reverse [Cmd]
happy_var_1
	)}

happyReduce_10 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_10 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_2  Int#
1# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_10
happyReduction_10 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_10 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap13
happyOut13 HappyAbsSyn
happy_x_1 of { (HappyWrap13 [Cmd]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap14
happyOut14 HappyAbsSyn
happy_x_2 of { (HappyWrap14 Cmd
happy_var_2) -> 
	[Cmd] -> HappyAbsSyn
happyIn13
		 (Cmd
happy_var_2forall a. a -> [a] -> [a]
:[Cmd]
happy_var_1
	)}}

happyReduce_11 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_11 = Int#
-> HappyAbsSyn
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_0  Int#
1# HappyAbsSyn
happyReduction_11
happyReduction_11 :: HappyAbsSyn
happyReduction_11  =  [Cmd] -> HappyAbsSyn
happyIn13
		 ([]
	)

happyReduce_12 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_12 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_3  Int#
2# forall {p} {p} {p}. p -> p -> p -> HappyAbsSyn
happyReduction_12
happyReduction_12 :: p -> p -> p -> HappyAbsSyn
happyReduction_12 p
happy_x_3
	p
happy_x_2
	p
happy_x_1
	 =  Cmd -> HappyAbsSyn
happyIn14
		 (Cmd
CheckSynth
	)

happyReduce_13 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_13 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
4# Int#
2# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_13
happyReduction_13 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_13 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap25
happyOut25 HappyAbsSyn
happy_x_3 of { (HappyWrap25 Term
happy_var_3) -> 
	Cmd -> HappyAbsSyn
happyIn14
		 (Term -> Cmd
Constraint Term
happy_var_3
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}

happyReduce_14 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_14 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
5# Int#
2# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_14
happyReduction_14 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_14 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_3 of { (TSymbol String
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap22
happyOut22 HappyAbsSyn
happy_x_4 of { (HappyWrap22 Sort
happy_var_4) -> 
	Cmd -> HappyAbsSyn
happyIn14
		 (String -> Sort -> Cmd
DeclareVar String
happy_var_3 Sort
happy_var_4
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_15 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_15 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
7# Int#
2# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_15
happyReduction_15 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_15 (HappyAbsSyn
happy_x_7 `HappyStk`
	HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_3 of { (TSymbol String
happy_var_3) -> 
	case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_4 of { (TSymbol String
happy_var_4) -> 
	case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_5 of { (TSymbol String
happy_var_5) -> 
	case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_6 of { (TSymbol String
happy_var_6) -> 
	Cmd -> HappyAbsSyn
happyIn14
		 (String -> String -> String -> String -> Cmd
InvConstraint String
happy_var_3 String
happy_var_4 String
happy_var_5 String
happy_var_6
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}}

happyReduce_16 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_16 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
6# Int#
2# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_16
happyReduction_16 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_16 (HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap37
happyOut37 HappyAbsSyn
happy_x_4 of { (HappyWrap37 Feature
happy_var_4) -> 
	case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_5 of { (TLit (LitBool Bool
happy_var_5)) -> 
	Cmd -> HappyAbsSyn
happyIn14
		 (Feature -> Bool -> Cmd
SetFeature Feature
happy_var_4 Bool
happy_var_5
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_17 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_17 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
9# Int#
2# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_17
happyReduction_17 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_17 (HappyAbsSyn
happy_x_9 `HappyStk`
	HappyAbsSyn
happy_x_8 `HappyStk`
	HappyAbsSyn
happy_x_7 `HappyStk`
	HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_3 of { (TSymbol String
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap31
happyOut31 HappyAbsSyn
happy_x_5 of { (HappyWrap31 [SortedVar]
happy_var_5) -> 
	case HappyAbsSyn -> HappyWrap22
happyOut22 HappyAbsSyn
happy_x_7 of { (HappyWrap22 Sort
happy_var_7) -> 
	case HappyAbsSyn -> HappyWrap48
happyOut48 HappyAbsSyn
happy_x_8 of { (HappyWrap48 Maybe GrammarDef
happy_var_8) -> 
	Cmd -> HappyAbsSyn
happyIn14
		 (String -> [SortedVar] -> Sort -> Maybe GrammarDef -> Cmd
SynthFun String
happy_var_3 [SortedVar]
happy_var_5 Sort
happy_var_7 Maybe GrammarDef
happy_var_8
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}}

happyReduce_18 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_18 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
8# Int#
2# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_18
happyReduction_18 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_18 (HappyAbsSyn
happy_x_8 `HappyStk`
	HappyAbsSyn
happy_x_7 `HappyStk`
	HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_3 of { (TSymbol String
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap31
happyOut31 HappyAbsSyn
happy_x_5 of { (HappyWrap31 [SortedVar]
happy_var_5) -> 
	case HappyAbsSyn -> HappyWrap48
happyOut48 HappyAbsSyn
happy_x_7 of { (HappyWrap48 Maybe GrammarDef
happy_var_7) -> 
	Cmd -> HappyAbsSyn
happyIn14
		 (String -> [SortedVar] -> Maybe GrammarDef -> Cmd
SynthInv String
happy_var_3 [SortedVar]
happy_var_5 Maybe GrammarDef
happy_var_7
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_19 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_19 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
2# HappyAbsSyn -> HappyAbsSyn
happyReduction_19
happyReduction_19 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_19 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap38
happyOut38 HappyAbsSyn
happy_x_1 of { (HappyWrap38 SmtCmd
happy_var_1) -> 
	Cmd -> HappyAbsSyn
happyIn14
		 (SmtCmd -> Cmd
SmtCmd SmtCmd
happy_var_1
	)}

happyReduce_20 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_20 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
3# HappyAbsSyn -> HappyAbsSyn
happyReduction_20
happyReduction_20 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_20 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { (TLit (LitNum Integer
happy_var_1)) -> 
	Lit -> HappyAbsSyn
happyIn15
		 (Integer -> Lit
LitNum Integer
happy_var_1
	)}

happyReduce_21 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_21 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
3# HappyAbsSyn -> HappyAbsSyn
happyReduction_21
happyReduction_21 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_21 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { (TLit (LitBool Bool
happy_var_1)) -> 
	Lit -> HappyAbsSyn
happyIn15
		 (Bool -> Lit
LitBool Bool
happy_var_1
	)}

happyReduce_22 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_22 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
3# HappyAbsSyn -> HappyAbsSyn
happyReduction_22
happyReduction_22 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_22 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { (TLit Lit
happy_var_1) -> 
	Lit -> HappyAbsSyn
happyIn15
		 (Lit
happy_var_1
	)}

happyReduce_23 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_23 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
4# HappyAbsSyn -> HappyAbsSyn
happyReduction_23
happyReduction_23 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_23 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { (TSymbol String
happy_var_1) -> 
	Identifier -> HappyAbsSyn
happyIn16
		 (String -> Identifier
ISymb String
happy_var_1
	)}

happyReduce_24 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_24 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
5# Int#
4# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_24
happyReduction_24 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_24 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_3 of { (TSymbol String
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap17
happyOut17 HappyAbsSyn
happy_x_4 of { (HappyWrap17 [Index]
happy_var_4) -> 
	Identifier -> HappyAbsSyn
happyIn16
		 (String -> [Index] -> Identifier
Indexed String
happy_var_3 [Index]
happy_var_4
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_25 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_25 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
5# HappyAbsSyn -> HappyAbsSyn
happyReduction_25
happyReduction_25 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_25 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap18
happyOut18 HappyAbsSyn
happy_x_1 of { (HappyWrap18 [Index]
happy_var_1) -> 
	[Index] -> HappyAbsSyn
happyIn17
		 (forall a. [a] -> [a]
reverse [Index]
happy_var_1
	)}

happyReduce_26 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_26 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_2  Int#
6# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_26
happyReduction_26 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_26 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap18
happyOut18 HappyAbsSyn
happy_x_1 of { (HappyWrap18 [Index]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap19
happyOut19 HappyAbsSyn
happy_x_2 of { (HappyWrap19 Index
happy_var_2) -> 
	[Index] -> HappyAbsSyn
happyIn18
		 (Index
happy_var_2forall a. a -> [a] -> [a]
:[Index]
happy_var_1
	)}}

happyReduce_27 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_27 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
6# HappyAbsSyn -> HappyAbsSyn
happyReduction_27
happyReduction_27 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_27 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap19
happyOut19 HappyAbsSyn
happy_x_1 of { (HappyWrap19 Index
happy_var_1) -> 
	[Index] -> HappyAbsSyn
happyIn18
		 ([Index
happy_var_1]
	)}

happyReduce_28 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_28 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
7# HappyAbsSyn -> HappyAbsSyn
happyReduction_28
happyReduction_28 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_28 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { (TLit (LitNum Integer
happy_var_1)) -> 
	Index -> HappyAbsSyn
happyIn19
		 (Integer -> Index
IndNumeral Integer
happy_var_1
	)}

happyReduce_29 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_29 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
7# HappyAbsSyn -> HappyAbsSyn
happyReduction_29
happyReduction_29 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_29 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_1 of { (TSymbol String
happy_var_1) -> 
	Index -> HappyAbsSyn
happyIn19
		 (String -> Index
IndSymb String
happy_var_1
	)}

happyReduce_30 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_30 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
8# HappyAbsSyn -> HappyAbsSyn
happyReduction_30
happyReduction_30 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_30 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap21
happyOut21 HappyAbsSyn
happy_x_1 of { (HappyWrap21 [Sort]
happy_var_1) -> 
	[Sort] -> HappyAbsSyn
happyIn20
		 (forall a. [a] -> [a]
reverse [Sort]
happy_var_1
	)}

happyReduce_31 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_31 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_2  Int#
9# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_31
happyReduction_31 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_31 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap21
happyOut21 HappyAbsSyn
happy_x_1 of { (HappyWrap21 [Sort]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap22
happyOut22 HappyAbsSyn
happy_x_2 of { (HappyWrap22 Sort
happy_var_2) -> 
	[Sort] -> HappyAbsSyn
happyIn21
		 (Sort
happy_var_2forall a. a -> [a] -> [a]
:[Sort]
happy_var_1
	)}}

happyReduce_32 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_32 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
9# HappyAbsSyn -> HappyAbsSyn
happyReduction_32
happyReduction_32 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_32 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap22
happyOut22 HappyAbsSyn
happy_x_1 of { (HappyWrap22 Sort
happy_var_1) -> 
	[Sort] -> HappyAbsSyn
happyIn21
		 ([Sort
happy_var_1]
	)}

happyReduce_33 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_33 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
10# HappyAbsSyn -> HappyAbsSyn
happyReduction_33
happyReduction_33 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_33 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap16
happyOut16 HappyAbsSyn
happy_x_1 of { (HappyWrap16 Identifier
happy_var_1) -> 
	Sort -> HappyAbsSyn
happyIn22
		 (Identifier -> Sort
IdentSort Identifier
happy_var_1
	)}

happyReduce_34 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_34 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
4# Int#
10# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_34
happyReduction_34 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_34 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap16
happyOut16 HappyAbsSyn
happy_x_2 of { (HappyWrap16 Identifier
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap20
happyOut20 HappyAbsSyn
happy_x_3 of { (HappyWrap20 [Sort]
happy_var_3) -> 
	Sort -> HappyAbsSyn
happyIn22
		 (Identifier -> [Sort] -> Sort
IdentSortSort Identifier
happy_var_2 [Sort]
happy_var_3
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_35 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_35 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
11# HappyAbsSyn -> HappyAbsSyn
happyReduction_35
happyReduction_35 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_35 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap24
happyOut24 HappyAbsSyn
happy_x_1 of { (HappyWrap24 [Term]
happy_var_1) -> 
	[Term] -> HappyAbsSyn
happyIn23
		 (forall a. [a] -> [a]
reverse [Term]
happy_var_1
	)}

happyReduce_36 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_36 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_2  Int#
12# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_36
happyReduction_36 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_36 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap24
happyOut24 HappyAbsSyn
happy_x_1 of { (HappyWrap24 [Term]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap25
happyOut25 HappyAbsSyn
happy_x_2 of { (HappyWrap25 Term
happy_var_2) -> 
	[Term] -> HappyAbsSyn
happyIn24
		 (Term
happy_var_2forall a. a -> [a] -> [a]
:[Term]
happy_var_1
	)}}

happyReduce_37 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_37 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
12# HappyAbsSyn -> HappyAbsSyn
happyReduction_37
happyReduction_37 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_37 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap25
happyOut25 HappyAbsSyn
happy_x_1 of { (HappyWrap25 Term
happy_var_1) -> 
	[Term] -> HappyAbsSyn
happyIn24
		 ([Term
happy_var_1]
	)}

happyReduce_38 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_38 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
13# HappyAbsSyn -> HappyAbsSyn
happyReduction_38
happyReduction_38 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_38 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap16
happyOut16 HappyAbsSyn
happy_x_1 of { (HappyWrap16 Identifier
happy_var_1) -> 
	Term -> HappyAbsSyn
happyIn25
		 (Identifier -> Term
TermIdent Identifier
happy_var_1
	)}

happyReduce_39 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_39 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
13# HappyAbsSyn -> HappyAbsSyn
happyReduction_39
happyReduction_39 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_39 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap15
happyOut15 HappyAbsSyn
happy_x_1 of { (HappyWrap15 Lit
happy_var_1) -> 
	Term -> HappyAbsSyn
happyIn25
		 (Lit -> Term
TermLit Lit
happy_var_1
	)}

happyReduce_40 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_40 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
4# Int#
13# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_40
happyReduction_40 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_40 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap16
happyOut16 HappyAbsSyn
happy_x_2 of { (HappyWrap16 Identifier
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap23
happyOut23 HappyAbsSyn
happy_x_3 of { (HappyWrap23 [Term]
happy_var_3) -> 
	Term -> HappyAbsSyn
happyIn25
		 (Identifier -> [Term] -> Term
TermCall Identifier
happy_var_2 [Term]
happy_var_3
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_41 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_41 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
7# Int#
13# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_41
happyReduction_41 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_41 (HappyAbsSyn
happy_x_7 `HappyStk`
	HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap29
happyOut29 HappyAbsSyn
happy_x_4 of { (HappyWrap29 [SortedVar]
happy_var_4) -> 
	case HappyAbsSyn -> HappyWrap25
happyOut25 HappyAbsSyn
happy_x_6 of { (HappyWrap25 Term
happy_var_6) -> 
	Term -> HappyAbsSyn
happyIn25
		 ([SortedVar] -> Term -> Term
TermExists [SortedVar]
happy_var_4 Term
happy_var_6
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_42 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_42 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
7# Int#
13# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_42
happyReduction_42 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_42 (HappyAbsSyn
happy_x_7 `HappyStk`
	HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap29
happyOut29 HappyAbsSyn
happy_x_4 of { (HappyWrap29 [SortedVar]
happy_var_4) -> 
	case HappyAbsSyn -> HappyWrap25
happyOut25 HappyAbsSyn
happy_x_6 of { (HappyWrap25 Term
happy_var_6) -> 
	Term -> HappyAbsSyn
happyIn25
		 ([SortedVar] -> Term -> Term
TermForAll [SortedVar]
happy_var_4 Term
happy_var_6
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_43 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_43 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
7# Int#
13# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_43
happyReduction_43 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_43 (HappyAbsSyn
happy_x_7 `HappyStk`
	HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap34
happyOut34 HappyAbsSyn
happy_x_4 of { (HappyWrap34 [VarBinding]
happy_var_4) -> 
	case HappyAbsSyn -> HappyWrap25
happyOut25 HappyAbsSyn
happy_x_6 of { (HappyWrap25 Term
happy_var_6) -> 
	Term -> HappyAbsSyn
happyIn25
		 ([VarBinding] -> Term -> Term
TermLet [VarBinding]
happy_var_4 Term
happy_var_6
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_44 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_44 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
14# HappyAbsSyn -> HappyAbsSyn
happyReduction_44
happyReduction_44 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_44 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap27
happyOut27 HappyAbsSyn
happy_x_1 of { (HappyWrap27 [BfTerm]
happy_var_1) -> 
	[BfTerm] -> HappyAbsSyn
happyIn26
		 (forall a. [a] -> [a]
reverse [BfTerm]
happy_var_1
	)}

happyReduce_45 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_45 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_2  Int#
15# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_45
happyReduction_45 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_45 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap27
happyOut27 HappyAbsSyn
happy_x_1 of { (HappyWrap27 [BfTerm]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap28
happyOut28 HappyAbsSyn
happy_x_2 of { (HappyWrap28 BfTerm
happy_var_2) -> 
	[BfTerm] -> HappyAbsSyn
happyIn27
		 (BfTerm
happy_var_2forall a. a -> [a] -> [a]
:[BfTerm]
happy_var_1
	)}}

happyReduce_46 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_46 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
15# HappyAbsSyn -> HappyAbsSyn
happyReduction_46
happyReduction_46 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_46 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap28
happyOut28 HappyAbsSyn
happy_x_1 of { (HappyWrap28 BfTerm
happy_var_1) -> 
	[BfTerm] -> HappyAbsSyn
happyIn27
		 ([BfTerm
happy_var_1]
	)}

happyReduce_47 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_47 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
16# HappyAbsSyn -> HappyAbsSyn
happyReduction_47
happyReduction_47 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_47 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap16
happyOut16 HappyAbsSyn
happy_x_1 of { (HappyWrap16 Identifier
happy_var_1) -> 
	BfTerm -> HappyAbsSyn
happyIn28
		 (Identifier -> BfTerm
BfIdentifier Identifier
happy_var_1
	)}

happyReduce_48 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_48 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
16# HappyAbsSyn -> HappyAbsSyn
happyReduction_48
happyReduction_48 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_48 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap15
happyOut15 HappyAbsSyn
happy_x_1 of { (HappyWrap15 Lit
happy_var_1) -> 
	BfTerm -> HappyAbsSyn
happyIn28
		 (Lit -> BfTerm
BfLiteral Lit
happy_var_1
	)}

happyReduce_49 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_49 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
4# Int#
16# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_49
happyReduction_49 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_49 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap16
happyOut16 HappyAbsSyn
happy_x_2 of { (HappyWrap16 Identifier
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap26
happyOut26 HappyAbsSyn
happy_x_3 of { (HappyWrap26 [BfTerm]
happy_var_3) -> 
	BfTerm -> HappyAbsSyn
happyIn28
		 (Identifier -> [BfTerm] -> BfTerm
BfIdentifierBfs Identifier
happy_var_2 [BfTerm]
happy_var_3
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_50 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_50 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
17# HappyAbsSyn -> HappyAbsSyn
happyReduction_50
happyReduction_50 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_50 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_1 of { (HappyWrap30 [SortedVar]
happy_var_1) -> 
	[SortedVar] -> HappyAbsSyn
happyIn29
		 (forall a. [a] -> [a]
reverse [SortedVar]
happy_var_1
	)}

happyReduce_51 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_51 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_2  Int#
18# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_51
happyReduction_51 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_51 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_1 of { (HappyWrap30 [SortedVar]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap33
happyOut33 HappyAbsSyn
happy_x_2 of { (HappyWrap33 SortedVar
happy_var_2) -> 
	[SortedVar] -> HappyAbsSyn
happyIn30
		 (SortedVar
happy_var_2forall a. a -> [a] -> [a]
:[SortedVar]
happy_var_1
	)}}

happyReduce_52 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_52 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
18# HappyAbsSyn -> HappyAbsSyn
happyReduction_52
happyReduction_52 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_52 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap33
happyOut33 HappyAbsSyn
happy_x_1 of { (HappyWrap33 SortedVar
happy_var_1) -> 
	[SortedVar] -> HappyAbsSyn
happyIn30
		 ([SortedVar
happy_var_1]
	)}

happyReduce_53 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_53 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
19# HappyAbsSyn -> HappyAbsSyn
happyReduction_53
happyReduction_53 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_53 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap32
happyOut32 HappyAbsSyn
happy_x_1 of { (HappyWrap32 [SortedVar]
happy_var_1) -> 
	[SortedVar] -> HappyAbsSyn
happyIn31
		 (forall a. [a] -> [a]
reverse [SortedVar]
happy_var_1
	)}

happyReduce_54 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_54 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_2  Int#
20# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_54
happyReduction_54 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_54 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap32
happyOut32 HappyAbsSyn
happy_x_1 of { (HappyWrap32 [SortedVar]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap33
happyOut33 HappyAbsSyn
happy_x_2 of { (HappyWrap33 SortedVar
happy_var_2) -> 
	[SortedVar] -> HappyAbsSyn
happyIn32
		 (SortedVar
happy_var_2forall a. a -> [a] -> [a]
:[SortedVar]
happy_var_1
	)}}

happyReduce_55 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_55 = Int#
-> HappyAbsSyn
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_0  Int#
20# HappyAbsSyn
happyReduction_55
happyReduction_55 :: HappyAbsSyn
happyReduction_55  =  [SortedVar] -> HappyAbsSyn
happyIn32
		 ([]
	)

happyReduce_56 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_56 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
4# Int#
21# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_56
happyReduction_56 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_56 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_2 of { (TSymbol String
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap22
happyOut22 HappyAbsSyn
happy_x_3 of { (HappyWrap22 Sort
happy_var_3) -> 
	SortedVar -> HappyAbsSyn
happyIn33
		 (String -> Sort -> SortedVar
SortedVar String
happy_var_2 Sort
happy_var_3
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_57 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_57 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
22# HappyAbsSyn -> HappyAbsSyn
happyReduction_57
happyReduction_57 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_57 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap35
happyOut35 HappyAbsSyn
happy_x_1 of { (HappyWrap35 [VarBinding]
happy_var_1) -> 
	[VarBinding] -> HappyAbsSyn
happyIn34
		 (forall a. [a] -> [a]
reverse [VarBinding]
happy_var_1
	)}

happyReduce_58 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_58 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_2  Int#
23# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_58
happyReduction_58 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_58 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap35
happyOut35 HappyAbsSyn
happy_x_1 of { (HappyWrap35 [VarBinding]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap36
happyOut36 HappyAbsSyn
happy_x_2 of { (HappyWrap36 VarBinding
happy_var_2) -> 
	[VarBinding] -> HappyAbsSyn
happyIn35
		 (VarBinding
happy_var_2forall a. a -> [a] -> [a]
:[VarBinding]
happy_var_1
	)}}

happyReduce_59 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_59 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
23# HappyAbsSyn -> HappyAbsSyn
happyReduction_59
happyReduction_59 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_59 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap36
happyOut36 HappyAbsSyn
happy_x_1 of { (HappyWrap36 VarBinding
happy_var_1) -> 
	[VarBinding] -> HappyAbsSyn
happyIn35
		 ([VarBinding
happy_var_1]
	)}

happyReduce_60 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_60 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
4# Int#
24# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_60
happyReduction_60 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_60 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_2 of { (TSymbol String
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap25
happyOut25 HappyAbsSyn
happy_x_3 of { (HappyWrap25 Term
happy_var_3) -> 
	VarBinding -> HappyAbsSyn
happyIn36
		 (String -> Term -> VarBinding
VarBinding String
happy_var_2 Term
happy_var_3
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_61 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_61 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
25# forall {p}. p -> HappyAbsSyn
happyReduction_61
happyReduction_61 :: p -> HappyAbsSyn
happyReduction_61 p
happy_x_1
	 =  Feature -> HappyAbsSyn
happyIn37
		 (Feature
Grammars
	)

happyReduce_62 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_62 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
25# forall {p}. p -> HappyAbsSyn
happyReduction_62
happyReduction_62 :: p -> HappyAbsSyn
happyReduction_62 p
happy_x_1
	 =  Feature -> HappyAbsSyn
happyIn37
		 (Feature
FwdDecls
	)

happyReduce_63 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_63 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
25# forall {p}. p -> HappyAbsSyn
happyReduction_63
happyReduction_63 :: p -> HappyAbsSyn
happyReduction_63 p
happy_x_1
	 =  Feature -> HappyAbsSyn
happyIn37
		 (Feature
Recursion
	)

happyReduce_64 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_64 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
5# Int#
26# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_64
happyReduction_64 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_64 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_3 of { (TSymbol String
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap44
happyOut44 HappyAbsSyn
happy_x_4 of { (HappyWrap44 DTDec
happy_var_4) -> 
	SmtCmd -> HappyAbsSyn
happyIn38
		 (String -> DTDec -> SmtCmd
DeclareDatatype String
happy_var_3 DTDec
happy_var_4
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_65 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_65 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
9# Int#
26# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_65
happyReduction_65 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_65 (HappyAbsSyn
happy_x_9 `HappyStk`
	HappyAbsSyn
happy_x_8 `HappyStk`
	HappyAbsSyn
happy_x_7 `HappyStk`
	HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap39
happyOut39 HappyAbsSyn
happy_x_4 of { (HappyWrap39 [SortDecl]
happy_var_4) -> 
	case HappyAbsSyn -> HappyWrap42
happyOut42 HappyAbsSyn
happy_x_7 of { (HappyWrap42 [DTDec]
happy_var_7) -> 
	SmtCmd -> HappyAbsSyn
happyIn38
		 ([SortDecl] -> [DTDec] -> SmtCmd
DeclareDatatypes [SortDecl]
happy_var_4 [DTDec]
happy_var_7
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_66 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_66 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
5# Int#
26# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_66
happyReduction_66 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_66 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_3 of { (TSymbol String
happy_var_3) -> 
	case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_4 of { (TLit (LitNum Integer
happy_var_4)) -> 
	SmtCmd -> HappyAbsSyn
happyIn38
		 (String -> Integer -> SmtCmd
DeclareSort String
happy_var_3 Integer
happy_var_4
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_67 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_67 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
9# Int#
26# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_67
happyReduction_67 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_67 (HappyAbsSyn
happy_x_9 `HappyStk`
	HappyAbsSyn
happy_x_8 `HappyStk`
	HappyAbsSyn
happy_x_7 `HappyStk`
	HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_3 of { (TSymbol String
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap31
happyOut31 HappyAbsSyn
happy_x_5 of { (HappyWrap31 [SortedVar]
happy_var_5) -> 
	case HappyAbsSyn -> HappyWrap22
happyOut22 HappyAbsSyn
happy_x_7 of { (HappyWrap22 Sort
happy_var_7) -> 
	case HappyAbsSyn -> HappyWrap25
happyOut25 HappyAbsSyn
happy_x_8 of { (HappyWrap25 Term
happy_var_8) -> 
	SmtCmd -> HappyAbsSyn
happyIn38
		 (String -> [SortedVar] -> Sort -> Term -> SmtCmd
DefineFun String
happy_var_3 [SortedVar]
happy_var_5 Sort
happy_var_7 Term
happy_var_8
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}}

happyReduce_68 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_68 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
5# Int#
26# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_68
happyReduction_68 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_68 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_3 of { (TSymbol String
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap22
happyOut22 HappyAbsSyn
happy_x_4 of { (HappyWrap22 Sort
happy_var_4) -> 
	SmtCmd -> HappyAbsSyn
happyIn38
		 (String -> Sort -> SmtCmd
DefineSort String
happy_var_3 Sort
happy_var_4
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_69 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_69 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
4# Int#
26# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_69
happyReduction_69 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_69 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_3 of { (TSymbol String
happy_var_3) -> 
	SmtCmd -> HappyAbsSyn
happyIn38
		 (String -> SmtCmd
SetLogic String
happy_var_3
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}

happyReduce_70 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_70 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
6# Int#
26# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_70
happyReduction_70 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_70 (HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_4 of { (TSymbol String
happy_var_4) -> 
	case HappyAbsSyn -> HappyWrap15
happyOut15 HappyAbsSyn
happy_x_5 of { (HappyWrap15 Lit
happy_var_5) -> 
	SmtCmd -> HappyAbsSyn
happyIn38
		 (String -> Lit -> SmtCmd
SetOption String
happy_var_4 Lit
happy_var_5
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_71 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_71 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
27# HappyAbsSyn -> HappyAbsSyn
happyReduction_71
happyReduction_71 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_71 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap40
happyOut40 HappyAbsSyn
happy_x_1 of { (HappyWrap40 [SortDecl]
happy_var_1) -> 
	[SortDecl] -> HappyAbsSyn
happyIn39
		 (forall a. [a] -> [a]
reverse [SortDecl]
happy_var_1
	)}

happyReduce_72 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_72 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_2  Int#
28# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_72
happyReduction_72 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_72 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap40
happyOut40 HappyAbsSyn
happy_x_1 of { (HappyWrap40 [SortDecl]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap41
happyOut41 HappyAbsSyn
happy_x_2 of { (HappyWrap41 SortDecl
happy_var_2) -> 
	[SortDecl] -> HappyAbsSyn
happyIn40
		 (SortDecl
happy_var_2forall a. a -> [a] -> [a]
:[SortDecl]
happy_var_1
	)}}

happyReduce_73 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_73 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
28# HappyAbsSyn -> HappyAbsSyn
happyReduction_73
happyReduction_73 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_73 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap41
happyOut41 HappyAbsSyn
happy_x_1 of { (HappyWrap41 SortDecl
happy_var_1) -> 
	[SortDecl] -> HappyAbsSyn
happyIn40
		 ([SortDecl
happy_var_1]
	)}

happyReduce_74 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_74 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
4# Int#
29# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_74
happyReduction_74 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_74 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_2 of { (TSymbol String
happy_var_2) -> 
	case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_3 of { (TLit (LitNum Integer
happy_var_3)) -> 
	SortDecl -> HappyAbsSyn
happyIn41
		 (String -> Integer -> SortDecl
SortDecl String
happy_var_2 Integer
happy_var_3
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_75 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_75 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
30# HappyAbsSyn -> HappyAbsSyn
happyReduction_75
happyReduction_75 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_75 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap43
happyOut43 HappyAbsSyn
happy_x_1 of { (HappyWrap43 [DTDec]
happy_var_1) -> 
	[DTDec] -> HappyAbsSyn
happyIn42
		 (forall a. [a] -> [a]
reverse [DTDec]
happy_var_1
	)}

happyReduce_76 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_76 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_2  Int#
31# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_76
happyReduction_76 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_76 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap43
happyOut43 HappyAbsSyn
happy_x_1 of { (HappyWrap43 [DTDec]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap44
happyOut44 HappyAbsSyn
happy_x_2 of { (HappyWrap44 DTDec
happy_var_2) -> 
	[DTDec] -> HappyAbsSyn
happyIn43
		 (DTDec
happy_var_2forall a. a -> [a] -> [a]
:[DTDec]
happy_var_1
	)}}

happyReduce_77 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_77 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
31# HappyAbsSyn -> HappyAbsSyn
happyReduction_77
happyReduction_77 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_77 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap44
happyOut44 HappyAbsSyn
happy_x_1 of { (HappyWrap44 DTDec
happy_var_1) -> 
	[DTDec] -> HappyAbsSyn
happyIn43
		 ([DTDec
happy_var_1]
	)}

happyReduce_78 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_78 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_3  Int#
32# forall {p} {p}. p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_78
happyReduction_78 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_78 p
happy_x_3
	HappyAbsSyn
happy_x_2
	p
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap45
happyOut45 HappyAbsSyn
happy_x_2 of { (HappyWrap45 [DTConsDec]
happy_var_2) -> 
	DTDec -> HappyAbsSyn
happyIn44
		 ([DTConsDec] -> DTDec
DTDec [DTConsDec]
happy_var_2
	)}

happyReduce_79 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_79 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
33# HappyAbsSyn -> HappyAbsSyn
happyReduction_79
happyReduction_79 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_79 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap46
happyOut46 HappyAbsSyn
happy_x_1 of { (HappyWrap46 [DTConsDec]
happy_var_1) -> 
	[DTConsDec] -> HappyAbsSyn
happyIn45
		 (forall a. [a] -> [a]
reverse [DTConsDec]
happy_var_1
	)}

happyReduce_80 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_80 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_2  Int#
34# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_80
happyReduction_80 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_80 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap46
happyOut46 HappyAbsSyn
happy_x_1 of { (HappyWrap46 [DTConsDec]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap47
happyOut47 HappyAbsSyn
happy_x_2 of { (HappyWrap47 DTConsDec
happy_var_2) -> 
	[DTConsDec] -> HappyAbsSyn
happyIn46
		 (DTConsDec
happy_var_2forall a. a -> [a] -> [a]
:[DTConsDec]
happy_var_1
	)}}

happyReduce_81 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_81 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
34# HappyAbsSyn -> HappyAbsSyn
happyReduction_81
happyReduction_81 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_81 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap47
happyOut47 HappyAbsSyn
happy_x_1 of { (HappyWrap47 DTConsDec
happy_var_1) -> 
	[DTConsDec] -> HappyAbsSyn
happyIn46
		 ([DTConsDec
happy_var_1]
	)}

happyReduce_82 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_82 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
4# Int#
35# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_82
happyReduction_82 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_82 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_2 of { (TSymbol String
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap31
happyOut31 HappyAbsSyn
happy_x_3 of { (HappyWrap31 [SortedVar]
happy_var_3) -> 
	DTConsDec -> HappyAbsSyn
happyIn47
		 (String -> [SortedVar] -> DTConsDec
DTConsDec String
happy_var_2 [SortedVar]
happy_var_3
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_83 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_83 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
36# HappyAbsSyn -> HappyAbsSyn
happyReduction_83
happyReduction_83 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_83 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap49
happyOut49 HappyAbsSyn
happy_x_1 of { (HappyWrap49 GrammarDef
happy_var_1) -> 
	Maybe GrammarDef -> HappyAbsSyn
happyIn48
		 (forall a. a -> Maybe a
Just GrammarDef
happy_var_1
	)}

happyReduce_84 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_84 = Int#
-> HappyAbsSyn
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_0  Int#
36# HappyAbsSyn
happyReduction_84
happyReduction_84 :: HappyAbsSyn
happyReduction_84  =  Maybe GrammarDef -> HappyAbsSyn
happyIn48
		 (forall a. Maybe a
Nothing
	)

happyReduce_85 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_85 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
6# Int#
37# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_85
happyReduction_85 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_85 (HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap29
happyOut29 HappyAbsSyn
happy_x_2 of { (HappyWrap29 [SortedVar]
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap50
happyOut50 HappyAbsSyn
happy_x_5 of { (HappyWrap50 [GroupedRuleList]
happy_var_5) -> 
	GrammarDef -> HappyAbsSyn
happyIn49
		 ([SortedVar] -> [GroupedRuleList] -> GrammarDef
GrammarDef [SortedVar]
happy_var_2 [GroupedRuleList]
happy_var_5
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_86 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_86 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
38# HappyAbsSyn -> HappyAbsSyn
happyReduction_86
happyReduction_86 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_86 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap51
happyOut51 HappyAbsSyn
happy_x_1 of { (HappyWrap51 [GroupedRuleList]
happy_var_1) -> 
	[GroupedRuleList] -> HappyAbsSyn
happyIn50
		 (forall a. [a] -> [a]
reverse [GroupedRuleList]
happy_var_1
	)}

happyReduce_87 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_87 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_2  Int#
39# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_87
happyReduction_87 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_87 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap51
happyOut51 HappyAbsSyn
happy_x_1 of { (HappyWrap51 [GroupedRuleList]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap52
happyOut52 HappyAbsSyn
happy_x_2 of { (HappyWrap52 GroupedRuleList
happy_var_2) -> 
	[GroupedRuleList] -> HappyAbsSyn
happyIn51
		 (GroupedRuleList
happy_var_2forall a. a -> [a] -> [a]
:[GroupedRuleList]
happy_var_1
	)}}

happyReduce_88 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_88 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
39# HappyAbsSyn -> HappyAbsSyn
happyReduction_88
happyReduction_88 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_88 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap52
happyOut52 HappyAbsSyn
happy_x_1 of { (HappyWrap52 GroupedRuleList
happy_var_1) -> 
	[GroupedRuleList] -> HappyAbsSyn
happyIn51
		 ([GroupedRuleList
happy_var_1]
	)}

happyReduce_89 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_89 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
7# Int#
40# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_89
happyReduction_89 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_89 (HappyAbsSyn
happy_x_7 `HappyStk`
	HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Token
happyOutTok HappyAbsSyn
happy_x_2 of { (TSymbol String
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap22
happyOut22 HappyAbsSyn
happy_x_3 of { (HappyWrap22 Sort
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap53
happyOut53 HappyAbsSyn
happy_x_5 of { (HappyWrap53 [GTerm]
happy_var_5) -> 
	GroupedRuleList -> HappyAbsSyn
happyIn52
		 (String -> Sort -> [GTerm] -> GroupedRuleList
GroupedRuleList String
happy_var_2 Sort
happy_var_3 [GTerm]
happy_var_5
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_90 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_90 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
41# HappyAbsSyn -> HappyAbsSyn
happyReduction_90
happyReduction_90 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_90 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap54
happyOut54 HappyAbsSyn
happy_x_1 of { (HappyWrap54 [GTerm]
happy_var_1) -> 
	[GTerm] -> HappyAbsSyn
happyIn53
		 (forall a. [a] -> [a]
reverse [GTerm]
happy_var_1
	)}

happyReduce_91 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_91 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_2  Int#
42# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_91
happyReduction_91 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_91 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap54
happyOut54 HappyAbsSyn
happy_x_1 of { (HappyWrap54 [GTerm]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_2 of { (HappyWrap55 GTerm
happy_var_2) -> 
	[GTerm] -> HappyAbsSyn
happyIn54
		 (GTerm
happy_var_2forall a. a -> [a] -> [a]
:[GTerm]
happy_var_1
	)}}

happyReduce_92 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_92 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
42# HappyAbsSyn -> HappyAbsSyn
happyReduction_92
happyReduction_92 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_92 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_1 of { (HappyWrap55 GTerm
happy_var_1) -> 
	[GTerm] -> HappyAbsSyn
happyIn54
		 ([GTerm
happy_var_1]
	)}

happyReduce_93 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_93 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
4# Int#
43# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_93
happyReduction_93 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_93 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap22
happyOut22 HappyAbsSyn
happy_x_3 of { (HappyWrap22 Sort
happy_var_3) -> 
	GTerm -> HappyAbsSyn
happyIn55
		 (Sort -> GTerm
GConstant Sort
happy_var_3
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}

happyReduce_94 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_94 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce Int#
4# Int#
43# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_94
happyReduction_94 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_94 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap22
happyOut22 HappyAbsSyn
happy_x_3 of { (HappyWrap22 Sort
happy_var_3) -> 
	GTerm -> HappyAbsSyn
happyIn55
		 (Sort -> GTerm
GVariable Sort
happy_var_3
	) forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}

happyReduce_95 :: Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyReduce_95 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happySpecReduce_1  Int#
43# HappyAbsSyn -> HappyAbsSyn
happyReduction_95
happyReduction_95 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_95 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap28
happyOut28 HappyAbsSyn
happy_x_1 of { (HappyWrap28 BfTerm
happy_var_1) -> 
	GTerm -> HappyAbsSyn
happyIn55
		 (BfTerm -> GTerm
GBfTerm BfTerm
happy_var_1
	)}

happyNewToken :: Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyNewToken Int#
action Happy_IntList
sts HappyStk HappyAbsSyn
stk [] =
	Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyDoAction Int#
31# forall a. a
notHappyAtAll Int#
action Happy_IntList
sts HappyStk HappyAbsSyn
stk []

happyNewToken Int#
action Happy_IntList
sts HappyStk HappyAbsSyn
stk (Token
tk:[Token]
tks) =
	let cont :: Int# -> HappyIdentity HappyAbsSyn
cont Int#
i = Int#
-> Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> [Token]
-> HappyIdentity HappyAbsSyn
happyDoAction Int#
i Token
tk Int#
action Happy_IntList
sts HappyStk HappyAbsSyn
stk [Token]
tks in
	case Token
tk of {
	TLit (LitNum Integer
happy_dollar_dollar) -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
1#;
	TLit (LitBool Bool
happy_dollar_dollar) -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
2#;
	TLit Lit
happy_dollar_dollar -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
3#;
	Token
TUnderscore -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
4#;
	Token
TOpenBracket -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
5#;
	Token
TCloseBracket -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
6#;
	Token
TColon -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
7#;
	TSymbol String
"exists" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
8#;
	TSymbol String
"forall" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
9#;
	TSymbol String
"let" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
10#;
	TSymbol String
"grammars" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
11#;
	TSymbol String
"fwd-decls" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
12#;
	TSymbol String
"recursion" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
13#;
	TSymbol String
"check-synth" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
14#;
	TSymbol String
"constraint" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
15#;
	TSymbol String
"declare-var" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
16#;
	TSymbol String
"inv-constraint" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
17#;
	TSymbol String
"set-feature" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
18#;
	TSymbol String
"synth-fun" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
19#;
	TSymbol String
"synth-inv" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
20#;
	TSymbol String
"declare-datatype" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
21#;
	TSymbol String
"declare-datatypes" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
22#;
	TSymbol String
"declare-sort" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
23#;
	TSymbol String
"define-fun" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
24#;
	TSymbol String
"define-sort" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
25#;
	TSymbol String
"set-logic" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
26#;
	TSymbol String
"set-option" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
27#;
	TSymbol String
"Constant" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
28#;
	TSymbol String
"Variable" -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
29#;
	TSymbol String
happy_dollar_dollar -> Int# -> HappyIdentity HappyAbsSyn
cont Int#
30#;
	Token
_ -> forall a. ([Token], [String]) -> HappyIdentity a
happyError' ((Token
tkforall a. a -> [a] -> [a]
:[Token]
tks), [])
	}

happyError_ :: [String] -> Int# -> Token -> [Token] -> HappyIdentity a
happyError_ [String]
explist Int#
31# Token
tk [Token]
tks = forall a. ([Token], [String]) -> HappyIdentity a
happyError' ([Token]
tks, [String]
explist)
happyError_ [String]
explist Int#
_ Token
tk [Token]
tks = forall a. ([Token], [String]) -> HappyIdentity a
happyError' ((Token
tkforall a. a -> [a] -> [a]
:[Token]
tks), [String]
explist)

newtype HappyIdentity a = HappyIdentity a
happyIdentity :: a -> HappyIdentity a
happyIdentity = forall a. a -> HappyIdentity a
HappyIdentity
happyRunIdentity :: HappyIdentity a -> a
happyRunIdentity (HappyIdentity a
a) = a
a

instance Prelude.Functor HappyIdentity where
    fmap :: forall a b. (a -> b) -> HappyIdentity a -> HappyIdentity b
fmap a -> b
f (HappyIdentity a
a) = forall a. a -> HappyIdentity a
HappyIdentity (a -> b
f a
a)

instance Applicative HappyIdentity where
    pure :: forall a. a -> HappyIdentity a
pure  = forall a. a -> HappyIdentity a
HappyIdentity
    <*> :: forall a b.
HappyIdentity (a -> b) -> HappyIdentity a -> HappyIdentity b
(<*>) = forall (m :: * -> *) a b. Monad m => m (a -> b) -> m a -> m b
ap
instance Prelude.Monad HappyIdentity where
    return :: forall a. a -> HappyIdentity a
return = forall (f :: * -> *) a. Applicative f => a -> f a
pure
    (HappyIdentity a
p) >>= :: forall a b.
HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b
>>= a -> HappyIdentity b
q = a -> HappyIdentity b
q a
p

happyThen :: () => HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b
happyThen :: forall a b.
HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b
happyThen = forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
(Prelude.>>=)
happyReturn :: () => a -> HappyIdentity a
happyReturn :: forall a. a -> HappyIdentity a
happyReturn = (forall (m :: * -> *) a. Monad m => a -> m a
Prelude.return)
happyThen1 :: m t -> (t -> t -> m b) -> t -> m b
happyThen1 m t
m t -> t -> m b
k t
tks = forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
(Prelude.>>=) m t
m (\t
a -> t -> t -> m b
k t
a t
tks)
happyReturn1 :: () => a -> b -> HappyIdentity a
happyReturn1 :: forall a b. a -> b -> HappyIdentity a
happyReturn1 = \a
a b
tks -> (forall (m :: * -> *) a. Monad m => a -> m a
Prelude.return) a
a
happyError' :: () => ([(Token)], [Prelude.String]) -> HappyIdentity a
happyError' :: forall a. ([Token], [String]) -> HappyIdentity a
happyError' = forall a. a -> HappyIdentity a
HappyIdentity forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (\([Token]
tokens, [String]
_) -> forall a. [Token] -> a
parseError [Token]
tokens)
parse :: [Token] -> [Cmd]
parse [Token]
tks = forall {a}. HappyIdentity a -> a
happyRunIdentity HappyIdentity [Cmd]
happySomeParser where
 happySomeParser :: HappyIdentity [Cmd]
happySomeParser = forall a b.
HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b
happyThen (Int# -> [Token] -> HappyIdentity HappyAbsSyn
happyParse Int#
0# [Token]
tks) (\HappyAbsSyn
x -> forall a. a -> HappyIdentity a
happyReturn (let {(HappyWrap12 [Cmd]
x') = HappyAbsSyn -> HappyWrap12
happyOut12 HappyAbsSyn
x} in [Cmd]
x'))

parseCmd :: [Token] -> Cmd
parseCmd [Token]
tks = forall {a}. HappyIdentity a -> a
happyRunIdentity HappyIdentity Cmd
happySomeParser where
 happySomeParser :: HappyIdentity Cmd
happySomeParser = forall a b.
HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b
happyThen (Int# -> [Token] -> HappyIdentity HappyAbsSyn
happyParse Int#
1# [Token]
tks) (\HappyAbsSyn
x -> forall a. a -> HappyIdentity a
happyReturn (let {(HappyWrap14 Cmd
x') = HappyAbsSyn -> HappyWrap14
happyOut14 HappyAbsSyn
x} in Cmd
x'))

parseIndex :: [Token] -> Index
parseIndex [Token]
tks = forall {a}. HappyIdentity a -> a
happyRunIdentity HappyIdentity Index
happySomeParser where
 happySomeParser :: HappyIdentity Index
happySomeParser = forall a b.
HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b
happyThen (Int# -> [Token] -> HappyIdentity HappyAbsSyn
happyParse Int#
2# [Token]
tks) (\HappyAbsSyn
x -> forall a. a -> HappyIdentity a
happyReturn (let {(HappyWrap19 Index
x') = HappyAbsSyn -> HappyWrap19
happyOut19 HappyAbsSyn
x} in Index
x'))

parseBfTerm :: [Token] -> BfTerm
parseBfTerm [Token]
tks = forall {a}. HappyIdentity a -> a
happyRunIdentity HappyIdentity BfTerm
happySomeParser where
 happySomeParser :: HappyIdentity BfTerm
happySomeParser = forall a b.
HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b
happyThen (Int# -> [Token] -> HappyIdentity HappyAbsSyn
happyParse Int#
3# [Token]
tks) (\HappyAbsSyn
x -> forall a. a -> HappyIdentity a
happyReturn (let {(HappyWrap28 BfTerm
x') = HappyAbsSyn -> HappyWrap28
happyOut28 HappyAbsSyn
x} in BfTerm
x'))

parseSortedVars :: [Token] -> [SortedVar]
parseSortedVars [Token]
tks = forall {a}. HappyIdentity a -> a
happyRunIdentity HappyIdentity [SortedVar]
happySomeParser where
 happySomeParser :: HappyIdentity [SortedVar]
happySomeParser = forall a b.
HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b
happyThen (Int# -> [Token] -> HappyIdentity HappyAbsSyn
happyParse Int#
4# [Token]
tks) (\HappyAbsSyn
x -> forall a. a -> HappyIdentity a
happyReturn (let {(HappyWrap31 [SortedVar]
x') = HappyAbsSyn -> HappyWrap31
happyOut31 HappyAbsSyn
x} in [SortedVar]
x'))

parseSortedVars1 :: [Token] -> [SortedVar]
parseSortedVars1 [Token]
tks = forall {a}. HappyIdentity a -> a
happyRunIdentity HappyIdentity [SortedVar]
happySomeParser where
 happySomeParser :: HappyIdentity [SortedVar]
happySomeParser = forall a b.
HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b
happyThen (Int# -> [Token] -> HappyIdentity HappyAbsSyn
happyParse Int#
5# [Token]
tks) (\HappyAbsSyn
x -> forall a. a -> HappyIdentity a
happyReturn (let {(HappyWrap29 [SortedVar]
x') = HappyAbsSyn -> HappyWrap29
happyOut29 HappyAbsSyn
x} in [SortedVar]
x'))

parseSort :: [Token] -> Sort
parseSort [Token]
tks = forall {a}. HappyIdentity a -> a
happyRunIdentity HappyIdentity Sort
happySomeParser where
 happySomeParser :: HappyIdentity Sort
happySomeParser = forall a b.
HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b
happyThen (Int# -> [Token] -> HappyIdentity HappyAbsSyn
happyParse Int#
6# [Token]
tks) (\HappyAbsSyn
x -> forall a. a -> HappyIdentity a
happyReturn (let {(HappyWrap22 Sort
x') = HappyAbsSyn -> HappyWrap22
happyOut22 HappyAbsSyn
x} in Sort
x'))

parseMaybeGrammarDef :: [Token] -> Maybe GrammarDef
parseMaybeGrammarDef [Token]
tks = forall {a}. HappyIdentity a -> a
happyRunIdentity HappyIdentity (Maybe GrammarDef)
happySomeParser where
 happySomeParser :: HappyIdentity (Maybe GrammarDef)
happySomeParser = forall a b.
HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b
happyThen (Int# -> [Token] -> HappyIdentity HappyAbsSyn
happyParse Int#
7# [Token]
tks) (\HappyAbsSyn
x -> forall a. a -> HappyIdentity a
happyReturn (let {(HappyWrap48 Maybe GrammarDef
x') = HappyAbsSyn -> HappyWrap48
happyOut48 HappyAbsSyn
x} in Maybe GrammarDef
x'))

parseGroupedRuleLists1 :: [Token] -> [GroupedRuleList]
parseGroupedRuleLists1 [Token]
tks = forall {a}. HappyIdentity a -> a
happyRunIdentity HappyIdentity [GroupedRuleList]
happySomeParser where
 happySomeParser :: HappyIdentity [GroupedRuleList]
happySomeParser = forall a b.
HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b
happyThen (Int# -> [Token] -> HappyIdentity HappyAbsSyn
happyParse Int#
8# [Token]
tks) (\HappyAbsSyn
x -> forall a. a -> HappyIdentity a
happyReturn (let {(HappyWrap50 [GroupedRuleList]
x') = HappyAbsSyn -> HappyWrap50
happyOut50 HappyAbsSyn
x} in [GroupedRuleList]
x'))

happySeq :: a -> b -> b
happySeq = forall a b. a -> b -> b
happyDontSeq


parseError :: [Token] -> a
parseError :: forall a. [Token] -> a
parseError [Token]
l = forall a. HasCallStack => String -> a
error forall a b. (a -> b) -> a -> b
$ String
"Parse error." forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> String
show [Token]
l
{-# LINE 1 "templates/GenericTemplate.hs" #-}
-- $Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp $













-- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.
#if __GLASGOW_HASKELL__ > 706
#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Prelude.Bool)
#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Prelude.Bool)
#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Prelude.Bool)
#else
#define LT(n,m) (n Happy_GHC_Exts.<# m)
#define GTE(n,m) (n Happy_GHC_Exts.>=# m)
#define EQ(n,m) (n Happy_GHC_Exts.==# m)
#endif



















data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList








































infixr 9 `HappyStk`
data HappyStk a = HappyStk a (HappyStk a)

-----------------------------------------------------------------------------
-- starting the parse

happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll

-----------------------------------------------------------------------------
-- Accepting the parse

-- If the current token is ERROR_TOK, it means we've just accepted a partial
-- parse (a %partial parser).  We must ignore the saved token on the top of
-- the stack in this case.
happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =
        happyReturn1 ans
happyAccept j tk st sts (HappyStk ans _) = 
        (happyTcHack j (happyTcHack st)) (happyReturn1 ans)

-----------------------------------------------------------------------------
-- Arrays only: do the next action



happyDoAction i tk st
        = {- nothing -}
          case action of
                0#           -> {- nothing -}
                                     happyFail (happyExpListPerState ((Happy_GHC_Exts.I# (st)) :: Prelude.Int)) i tk st
                -1#          -> {- nothing -}
                                     happyAccept i tk st
                n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -}
                                                   (happyReduceArr Happy_Data_Array.! rule) i tk st
                                                   where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))
                n                 -> {- nothing -}
                                     happyShift new_state i tk st
                                     where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))
   where off    = happyAdjustOffset (indexShortOffAddr happyActOffsets st)
         off_i  = (off Happy_GHC_Exts.+# i)
         check  = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#))
                  then EQ(indexShortOffAddr happyCheck off_i, i)
                  else Prelude.False
         action
          | check     = indexShortOffAddr happyTable off_i
          | Prelude.otherwise = indexShortOffAddr happyDefActions st




indexShortOffAddr (HappyA# arr) off =
        Happy_GHC_Exts.narrow16Int# i
  where
        i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)
        high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#)))
        low  = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off'))
        off' = off Happy_GHC_Exts.*# 2#




{-# INLINE happyLt #-}
happyLt x y = LT(x,y)


readArrayBit arr bit =
    Bits.testBit (Happy_GHC_Exts.I# (indexShortOffAddr arr ((unbox_int bit) `Happy_GHC_Exts.iShiftRA#` 4#))) (bit `Prelude.mod` 16)
  where unbox_int (Happy_GHC_Exts.I# x) = x






data HappyAddr = HappyA# Happy_GHC_Exts.Addr#


-----------------------------------------------------------------------------
-- HappyState data type (not arrays)













-----------------------------------------------------------------------------
-- Shifting a token

happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =
     let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in
--     trace "shifting the error token" $
     happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)

happyShift new_state i tk st sts stk =
     happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)

-- happyReduce is specialised for the common cases.

happySpecReduce_0 i fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happySpecReduce_0 nt fn j tk st@((action)) sts stk
     = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)

happySpecReduce_1 i fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')
     = let r = fn v1 in
       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))

happySpecReduce_2 i fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')
     = let r = fn v1 v2 in
       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))

happySpecReduce_3 i fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')
     = let r = fn v1 v2 v3 in
       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))

happyReduce k i fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happyReduce k nt fn j tk st sts stk
     = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of
         sts1@((HappyCons (st1@(action)) (_))) ->
                let r = fn stk in  -- it doesn't hurt to always seq here...
                happyDoSeq r (happyGoto nt j tk st1 sts1 r)

happyMonadReduce k nt fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happyMonadReduce k nt fn j tk st sts stk =
      case happyDrop k (HappyCons (st) (sts)) of
        sts1@((HappyCons (st1@(action)) (_))) ->
          let drop_stk = happyDropStk k stk in
          happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))

happyMonad2Reduce k nt fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happyMonad2Reduce k nt fn j tk st sts stk =
      case happyDrop k (HappyCons (st) (sts)) of
        sts1@((HappyCons (st1@(action)) (_))) ->
         let drop_stk = happyDropStk k stk

             off = happyAdjustOffset (indexShortOffAddr happyGotoOffsets st1)
             off_i = (off Happy_GHC_Exts.+# nt)
             new_state = indexShortOffAddr happyTable off_i




          in
          happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))

happyDrop 0# l = l
happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t

happyDropStk 0# l = l
happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs

-----------------------------------------------------------------------------
-- Moving to a new state after a reduction


happyGoto nt j tk st = 
   {- nothing -}
   happyDoAction j tk new_state
   where off = happyAdjustOffset (indexShortOffAddr happyGotoOffsets st)
         off_i = (off Happy_GHC_Exts.+# nt)
         new_state = indexShortOffAddr happyTable off_i




-----------------------------------------------------------------------------
-- Error recovery (ERROR_TOK is the error token)

-- parse error if we are in recovery and we fail again
happyFail explist 0# tk old_st _ stk@(x `HappyStk` _) =
     let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in
--      trace "failing" $ 
        happyError_ explist i tk

{-  We don't need state discarding for our restricted implementation of
    "error".  In fact, it can cause some bogus parses, so I've disabled it
    for now --SDM

-- discard a state
happyFail  ERROR_TOK tk old_st CONS(HAPPYSTATE(action),sts) 
                                                (saved_tok `HappyStk` _ `HappyStk` stk) =
--      trace ("discarding state, depth " ++ show (length stk))  $
        DO_ACTION(action,ERROR_TOK,tk,sts,(saved_tok`HappyStk`stk))
-}

-- Enter error recovery: generate an error token,
--                       save the old token and carry on.
happyFail explist i tk (action) sts stk =
--      trace "entering error recovery" $
        happyDoAction 0# tk action sts ((Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk)

-- Internal happy errors:

notHappyAtAll :: a
notHappyAtAll = Prelude.error "Internal Happy error\n"

-----------------------------------------------------------------------------
-- Hack to get the typechecker to accept our action functions


happyTcHack :: Happy_GHC_Exts.Int# -> a -> a
happyTcHack x y = y
{-# INLINE happyTcHack #-}


-----------------------------------------------------------------------------
-- Seq-ing.  If the --strict flag is given, then Happy emits 
--      happySeq = happyDoSeq
-- otherwise it emits
--      happySeq = happyDontSeq

happyDoSeq, happyDontSeq :: a -> b -> b
happyDoSeq   a b = a `Prelude.seq` b
happyDontSeq a b = b

-----------------------------------------------------------------------------
-- Don't inline any functions from the template.  GHC has a nasty habit
-- of deciding to inline happyGoto everywhere, which increases the size of
-- the generated parser quite a bit.


{-# NOINLINE happyDoAction #-}
{-# NOINLINE happyTable #-}
{-# NOINLINE happyCheck #-}
{-# NOINLINE happyActOffsets #-}
{-# NOINLINE happyGotoOffsets #-}
{-# NOINLINE happyDefActions #-}

{-# NOINLINE happyShift #-}
{-# NOINLINE happySpecReduce_0 #-}
{-# NOINLINE happySpecReduce_1 #-}
{-# NOINLINE happySpecReduce_2 #-}
{-# NOINLINE happySpecReduce_3 #-}
{-# NOINLINE happyReduce #-}
{-# NOINLINE happyMonadReduce #-}
{-# NOINLINE happyGoto #-}
{-# NOINLINE happyFail #-}

-- end of Happy Template.