language-sygus 0.1.1.1 → 0.1.1.2
raw patch · 8 files changed
+1434/−1323 lines, 8 filesdep +hashabledep ~basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: hashable
Dependency ranges changed: base
API changes (from Hackage documentation)
+ Sygus.ParseSygus: parseBfTerm :: [Token] -> BfTerm
+ Sygus.ParseSygus: parseCmd :: [Token] -> Cmd
+ Sygus.ParseSygus: parseGroupedRuleLists1 :: [Token] -> [GroupedRuleList]
+ Sygus.ParseSygus: parseIndex :: [Token] -> Index
+ Sygus.ParseSygus: parseMaybeGrammarDef :: [Token] -> Maybe GrammarDef
+ Sygus.ParseSygus: parseSort :: [Token] -> Sort
+ Sygus.ParseSygus: parseSortedVars :: [Token] -> [SortedVar]
+ Sygus.ParseSygus: parseSortedVars1 :: [Token] -> [SortedVar]
+ Sygus.Syntax: instance Data.Hashable.Class.Hashable Sygus.Syntax.BfTerm
+ Sygus.Syntax: instance Data.Hashable.Class.Hashable Sygus.Syntax.Cmd
+ Sygus.Syntax: instance Data.Hashable.Class.Hashable Sygus.Syntax.DTConsDec
+ Sygus.Syntax: instance Data.Hashable.Class.Hashable Sygus.Syntax.DTDec
+ Sygus.Syntax: instance Data.Hashable.Class.Hashable Sygus.Syntax.Feature
+ Sygus.Syntax: instance Data.Hashable.Class.Hashable Sygus.Syntax.GTerm
+ Sygus.Syntax: instance Data.Hashable.Class.Hashable Sygus.Syntax.GrammarDef
+ Sygus.Syntax: instance Data.Hashable.Class.Hashable Sygus.Syntax.GroupedRuleList
+ Sygus.Syntax: instance Data.Hashable.Class.Hashable Sygus.Syntax.Identifier
+ Sygus.Syntax: instance Data.Hashable.Class.Hashable Sygus.Syntax.Index
+ Sygus.Syntax: instance Data.Hashable.Class.Hashable Sygus.Syntax.Lit
+ Sygus.Syntax: instance Data.Hashable.Class.Hashable Sygus.Syntax.SmtCmd
+ Sygus.Syntax: instance Data.Hashable.Class.Hashable Sygus.Syntax.Sort
+ Sygus.Syntax: instance Data.Hashable.Class.Hashable Sygus.Syntax.SortDecl
+ Sygus.Syntax: instance Data.Hashable.Class.Hashable Sygus.Syntax.SortedVar
+ Sygus.Syntax: instance Data.Hashable.Class.Hashable Sygus.Syntax.Term
+ Sygus.Syntax: instance Data.Hashable.Class.Hashable Sygus.Syntax.VarBinding
+ Sygus.Syntax: instance GHC.Generics.Generic Sygus.Syntax.BfTerm
+ Sygus.Syntax: instance GHC.Generics.Generic Sygus.Syntax.Cmd
+ Sygus.Syntax: instance GHC.Generics.Generic Sygus.Syntax.DTConsDec
+ Sygus.Syntax: instance GHC.Generics.Generic Sygus.Syntax.DTDec
+ Sygus.Syntax: instance GHC.Generics.Generic Sygus.Syntax.Feature
+ Sygus.Syntax: instance GHC.Generics.Generic Sygus.Syntax.GTerm
+ Sygus.Syntax: instance GHC.Generics.Generic Sygus.Syntax.GrammarDef
+ Sygus.Syntax: instance GHC.Generics.Generic Sygus.Syntax.GroupedRuleList
+ Sygus.Syntax: instance GHC.Generics.Generic Sygus.Syntax.Identifier
+ Sygus.Syntax: instance GHC.Generics.Generic Sygus.Syntax.Index
+ Sygus.Syntax: instance GHC.Generics.Generic Sygus.Syntax.Lit
+ Sygus.Syntax: instance GHC.Generics.Generic Sygus.Syntax.SmtCmd
+ Sygus.Syntax: instance GHC.Generics.Generic Sygus.Syntax.Sort
+ Sygus.Syntax: instance GHC.Generics.Generic Sygus.Syntax.SortDecl
+ Sygus.Syntax: instance GHC.Generics.Generic Sygus.Syntax.SortedVar
+ Sygus.Syntax: instance GHC.Generics.Generic Sygus.Syntax.Term
+ Sygus.Syntax: instance GHC.Generics.Generic Sygus.Syntax.VarBinding
- Sygus.LexSygus: LitDec :: String -> Lit
+ Sygus.LexSygus: LitDec :: Integer -> Integer -> Lit
- Sygus.Syntax: LitDec :: String -> Lit
+ Sygus.Syntax: LitDec :: Integer -> Integer -> Lit
Files
- dist/build/Sygus/LexSygus.hs +8/−1
- dist/build/Sygus/ParseSygus.hs +1334/−1296
- language-sygus.cabal +2/−1
- src/Sygus/LexSygus.x +8/−1
- src/Sygus/ParseSygus.y +21/−4
- src/Sygus/Print.hs +1/−1
- src/Sygus/Syntax.hs +57/−18
- tests/Test.hs +3/−1
dist/build/Sygus/LexSygus.hs view
@@ -441,8 +441,15 @@ elimOpenCloseQuote' (x:xs) = x:elimOpenCloseQuote' xs elimOpenCloseQuote' [] = error "elimOpenCloseQuote': Bad string" +parseDec :: String -> Lit+parseDec s =+ let+ (n, _:d) = break (== '.') s+ in+ LitDec (read n) (read d) -alex_action_1 = TLit . LitDec ++alex_action_1 = TLit. parseDec alex_action_2 = TLit . LitNum . read alex_action_3 = TLit . const (LitBool True) alex_action_4 = TLit . const (LitBool False)
dist/build/Sygus/ParseSygus.hs view
@@ -4,1302 +4,1340 @@ {-# OPTIONS_GHC -XPartialTypeSignatures #-} #endif module Sygus.ParseSygus ( module Sygus.Syntax - , parse ) 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.19.8--newtype HappyAbsSyn = HappyAbsSyn HappyAny-#if __GLASGOW_HASKELL__ >= 607-type HappyAny = Happy_GHC_Exts.Any-#else-type HappyAny = forall a . a-#endif-happyIn4 :: ([Cmd]) -> (HappyAbsSyn )-happyIn4 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn4 #-}-happyOut4 :: (HappyAbsSyn ) -> ([Cmd])-happyOut4 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut4 #-}-happyIn5 :: ([Cmd]) -> (HappyAbsSyn )-happyIn5 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn5 #-}-happyOut5 :: (HappyAbsSyn ) -> ([Cmd])-happyOut5 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut5 #-}-happyIn6 :: (Cmd) -> (HappyAbsSyn )-happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn6 #-}-happyOut6 :: (HappyAbsSyn ) -> (Cmd)-happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut6 #-}-happyIn7 :: (Lit) -> (HappyAbsSyn )-happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn7 #-}-happyOut7 :: (HappyAbsSyn ) -> (Lit)-happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut7 #-}-happyIn8 :: (Identifier) -> (HappyAbsSyn )-happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn8 #-}-happyOut8 :: (HappyAbsSyn ) -> (Identifier)-happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut8 #-}-happyIn9 :: ([Index]) -> (HappyAbsSyn )-happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn9 #-}-happyOut9 :: (HappyAbsSyn ) -> ([Index])-happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut9 #-}-happyIn10 :: ([Index]) -> (HappyAbsSyn )-happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn10 #-}-happyOut10 :: (HappyAbsSyn ) -> ([Index])-happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut10 #-}-happyIn11 :: (Index) -> (HappyAbsSyn )-happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn ) -> (Index)-happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut11 #-}-happyIn12 :: ([Sort]) -> (HappyAbsSyn )-happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn12 #-}-happyOut12 :: (HappyAbsSyn ) -> ([Sort])-happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut12 #-}-happyIn13 :: ([Sort]) -> (HappyAbsSyn )-happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn13 #-}-happyOut13 :: (HappyAbsSyn ) -> ([Sort])-happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut13 #-}-happyIn14 :: (Sort) -> (HappyAbsSyn )-happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn ) -> (Sort)-happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: ([Term]) -> (HappyAbsSyn )-happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn ) -> ([Term])-happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: ([Term]) -> (HappyAbsSyn )-happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn ) -> ([Term])-happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: (Term) -> (HappyAbsSyn )-happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn ) -> (Term)-happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: ([BfTerm]) -> (HappyAbsSyn )-happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn ) -> ([BfTerm])-happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: ([BfTerm]) -> (HappyAbsSyn )-happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn ) -> ([BfTerm])-happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (BfTerm) -> (HappyAbsSyn )-happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn ) -> (BfTerm)-happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: ([SortedVar]) -> (HappyAbsSyn )-happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn ) -> ([SortedVar])-happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: ([SortedVar]) -> (HappyAbsSyn )-happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn ) -> ([SortedVar])-happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: ([SortedVar]) -> (HappyAbsSyn )-happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn ) -> ([SortedVar])-happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: ([SortedVar]) -> (HappyAbsSyn )-happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn ) -> ([SortedVar])-happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: (SortedVar) -> (HappyAbsSyn )-happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn ) -> (SortedVar)-happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: ([VarBinding]) -> (HappyAbsSyn )-happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn ) -> ([VarBinding])-happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: ([VarBinding]) -> (HappyAbsSyn )-happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn ) -> ([VarBinding])-happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: (VarBinding) -> (HappyAbsSyn )-happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn ) -> (VarBinding)-happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: (Feature) -> (HappyAbsSyn )-happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn ) -> (Feature)-happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (SmtCmd) -> (HappyAbsSyn )-happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn ) -> (SmtCmd)-happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: ([SortDecl]) -> (HappyAbsSyn )-happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn ) -> ([SortDecl])-happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: ([SortDecl]) -> (HappyAbsSyn )-happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn ) -> ([SortDecl])-happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: (SortDecl) -> (HappyAbsSyn )-happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn ) -> (SortDecl)-happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: ([DTDec]) -> (HappyAbsSyn )-happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn ) -> ([DTDec])-happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: ([DTDec]) -> (HappyAbsSyn )-happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn ) -> ([DTDec])-happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: (DTDec) -> (HappyAbsSyn )-happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn ) -> (DTDec)-happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: ([DTConsDec]) -> (HappyAbsSyn )-happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn ) -> ([DTConsDec])-happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: ([DTConsDec]) -> (HappyAbsSyn )-happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn ) -> ([DTConsDec])-happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: (DTConsDec) -> (HappyAbsSyn )-happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn ) -> (DTConsDec)-happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: (Maybe GrammarDef) -> (HappyAbsSyn )-happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn ) -> (Maybe GrammarDef)-happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: (GrammarDef) -> (HappyAbsSyn )-happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn ) -> (GrammarDef)-happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: ([GroupedRuleList]) -> (HappyAbsSyn )-happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn ) -> ([GroupedRuleList])-happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: ([GroupedRuleList]) -> (HappyAbsSyn )-happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn ) -> ([GroupedRuleList])-happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: (GroupedRuleList) -> (HappyAbsSyn )-happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn ) -> (GroupedRuleList)-happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: ([GTerm]) -> (HappyAbsSyn )-happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn ) -> ([GTerm])-happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: ([GTerm]) -> (HappyAbsSyn )-happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn ) -> ([GTerm])-happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (GTerm) -> (HappyAbsSyn )-happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn ) -> (GTerm)-happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyInTok :: (Token) -> (HappyAbsSyn )-happyInTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn ) -> (Token)-happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOutTok #-}---happyExpList :: HappyAddr-happyExpList = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x3f\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x80\x0b\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x40\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\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\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\x30\x07\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\xb8\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x80\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\x01\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\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\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\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\x10\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\x40\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\x01\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\x02\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\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\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\x04\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\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x20\x00\x00\x40\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\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x04\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\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\x02\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\x40\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\x01\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\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\x40\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x04\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\x02\x00\x00\x04\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\x80\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\x02\x00\x00\x04\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\x04\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\x10\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\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x0b\x00\x00\x10\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\x2e\x00\x00\x40\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\xb8\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\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\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\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\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\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\x01\x00\x00\x00\x00\x00\x20\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\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x80\x0b\x00\x00\x1c\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\x20\x00\x00\x40\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\x2e\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x80\x0b\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"#--{-# NOINLINE happyExpListPerState #-}-happyExpListPerState st =- token_strs_expected- where token_strs = ["error","%dummy","%start_parse","sygus","sygus_rev","cmd","lit","identifier","indexes1","indexes_rev1","index","sorts1","sorts_rev1","sort","terms1","terms_rev1","term","bfterms1","bfterms_rev1","bfterm","sorted_vars1","sorted_vars_rev1","sorted_vars","sorted_vars_rev","sorted_var","var_bindings1","var_bindings_rev1","var_binding","feature","smtCmd","sort_decls1","sort_decls_rev1","sort_decl","dt_decs1","dt_decs_rev1","dt_dec","dt_cons_decs1","dt_cons_decs_rev1","dt_cons_dec","maybe_grammar_def","grammar_def","grouped_rule_lists1","grouped_rule_lists_rev1","grouped_rule_list","gterm1","gterm_rev1","gterm","num","bool","other_lit","'_'","'('","')'","':'","exists","forall","tlet","grammars","fwdDecls","recursion","checkSynth","constraint","declareVar","invConstraint","setFeature","synthFun","synthInv","declareDatatype","declareDatatypes","declareSort","defineFun","defineSort","setLogic","setOption","constant","variable","symb","%eof"]- bit_start = st * 78- bit_end = (st + 1) * 78- read_bit = readArrayBit happyExpList- bits = map read_bit [bit_start..bit_end - 1]- bits_indexed = zip bits [0..77]- token_strs_expected = concatMap f bits_indexed- f (False, _) = []- f (True, nr) = [token_strs !! nr]--happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x00\x00\x00\x00\x04\x00\xf6\xff\x00\x00\x00\x00\x28\x00\x14\x00\x11\x00\x0d\x00\x2b\x00\x18\x00\x37\x00\x46\x00\x48\x00\x5d\x00\x68\x00\x88\x00\x92\x00\x95\x00\x3f\x00\x97\x00\x8b\x00\x08\x00\xaa\x00\x9a\x00\xac\x00\xad\x00\xaf\x00\xb1\x00\x7d\x00\x99\x00\x08\x00\x00\x00\x00\x00\xb2\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x11\x00\x9b\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\x00\x00\x00\x00\xb5\x00\x07\x00\xa1\x00\xbe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x00\xbd\x00\xbf\x00\xc1\x00\x00\x00\xa5\x00\xc2\x00\x00\x00\xc3\x00\x00\x00\x8a\x00\xc4\x00\x00\x00\xc5\x00\xc7\x00\x00\x00\xc6\x00\x00\x00\xc8\x00\xc9\x00\xcb\x00\x00\x00\xa6\x00\x00\x00\xcc\x00\xcd\x00\xce\x00\xb0\x00\x08\x00\x00\x00\xd0\x00\xd1\x00\xd1\x00\x02\x00\xd2\x00\x11\x00\x00\x00\x00\x00\x00\x00\xd3\x00\x02\x00\x00\x00\x00\x00\x00\x00\xd4\x00\xd6\x00\x00\x00\xb3\x00\xd7\x00\xd8\x00\xda\x00\x00\x00\xca\x00\xdb\x00\x08\x00\x00\x00\xdc\x00\x00\x00\x08\x00\xde\x00\x00\x00\x00\x00\x00\x00\xdf\x00\xe0\x00\x00\x00\x08\x00\x00\x00\x11\x00\x00\x00\xe1\x00\xe4\x00\x00\x00\xe5\x00\xe6\x00\x00\x00\xe8\x00\xe9\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x11\x00\x11\x00\x08\x00\x00\x00\x11\x00\x00\x00\x00\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\x00\x00\x00\x00\x00\x00\xf1\x00\xf2\x00\x00\x00\x00\x00\xf4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x00\xf6\x00\xf8\x00\x00\x00\xdd\x00\x08\x00\x00\x00\x00\x00\xf9\x00\x05\x00\x00\x00\x00\x00\x00\x00\xfa\x00\x05\x00\x00\x00\x07\x00\x08\x00\x08\x00\x00\x00\x00\x00\x16\x00\x00\x00\xfb\x00\x00\x00\xfc\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\xa2\x00\xfe\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x73\x00\xbc\x00\x00\x00\x00\x00\xf3\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00\x00\x00\x00\x47\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\x91\x00\x94\x00\x00\x00\x71\x00\x00\x00\xba\x00\x00\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\xe2\x00\x00\x00\x00\x00\x00\x00\xd5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x7f\x00\x6a\x00\x70\x00\x93\x00\x00\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf7\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x59\x00\x98\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x56\x00\x00\x00\x00\x00\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x00\x89\x00\x00\x00\x00\x00\x00\x00\x58\x00\x00\x00\x5a\x00\x5c\x00\x6d\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x00\x00\x01\x01\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\xfe\xff\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x03\x01\x6f\x00\x76\x00\x00\x00\x00\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyAdjustOffset :: Happy_GHC_Exts.Int# -> Happy_GHC_Exts.Int#-happyAdjustOffset off = off--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\xfc\xff\x00\x00\xfe\xff\x00\x00\xfd\xff\xf4\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xff\xe1\xff\x00\x00\xf3\xff\xf2\xff\xf1\xff\x00\x00\xf0\xff\xfb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\xe6\xff\x00\x00\x00\x00\x00\x00\x00\x00\xca\xff\xc9\xff\xc8\xff\xd0\xff\xd0\xff\x00\x00\x00\x00\x00\x00\xc0\xff\xbe\xff\x00\x00\x00\x00\xd0\xff\x00\x00\xc2\xff\x00\x00\x00\x00\xc3\xff\x00\x00\xd2\xff\xc5\xff\x00\x00\xbf\xff\x00\x00\x00\x00\xb8\xff\xb6\xff\x00\x00\xc7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf9\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\xff\xe2\xff\xe3\xff\xdf\xff\x00\x00\xee\xff\xec\xff\xeb\xff\xea\xff\x00\x00\xd5\xff\xd3\xff\x00\x00\x00\x00\x00\x00\xce\xff\xcc\xff\x00\x00\x00\x00\xe9\xff\xe7\xff\x00\x00\xf7\xff\x00\x00\xb3\xff\xd0\xff\xb7\xff\xb9\xff\x00\x00\x00\x00\xd1\xff\x00\x00\xc1\xff\x00\x00\xbd\xff\x00\x00\xbc\xff\xba\xff\x00\x00\x00\x00\xb4\xff\x00\x00\xb3\xff\xf8\xff\xe8\xff\xe5\xff\x00\x00\xcd\xff\x00\x00\x00\x00\x00\x00\xd4\xff\x00\x00\xed\xff\xef\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\xff\xb5\xff\xbb\xff\x00\x00\x00\x00\xc4\xff\xc6\xff\x00\x00\xf6\xff\xcb\xff\xdc\xff\xdd\xff\xcf\xff\xde\xff\x00\x00\x00\x00\xb1\xff\xaf\xff\x00\x00\x00\x00\xb0\xff\xb2\xff\x00\x00\x00\x00\xd7\xff\xd8\xff\xa8\xff\x00\x00\xad\xff\xab\xff\x00\x00\x00\x00\x00\x00\xa9\xff\xaa\xff\x00\x00\xac\xff\x00\x00\xae\xff\x00\x00\xdb\xff\xd9\xff\xda\xff\xd6\xff"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x03\x00\x04\x00\x01\x00\x03\x00\x04\x00\x01\x00\x02\x00\x03\x00\x05\x00\x05\x00\x04\x00\x05\x00\x05\x00\x10\x00\x03\x00\x04\x00\x10\x00\x01\x00\x02\x00\x03\x00\x1f\x00\x05\x00\x01\x00\x02\x00\x03\x00\x06\x00\x05\x00\x10\x00\x02\x00\x04\x00\x07\x00\x1e\x00\x1c\x00\x1d\x00\x1e\x00\x0a\x00\x1e\x00\x1e\x00\x29\x00\x2a\x00\x2b\x00\x04\x00\x1e\x00\x2b\x00\x04\x00\x05\x00\x1e\x00\x0a\x00\x08\x00\x09\x00\x0a\x00\x1e\x00\x1a\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\x07\x00\x1e\x00\x04\x00\x1e\x00\x03\x00\x04\x00\x03\x00\x04\x00\x0a\x00\x0e\x00\x0f\x00\x10\x00\x0b\x00\x0c\x00\x0d\x00\x1e\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\x05\x00\x0d\x00\x1e\x00\x0d\x00\x1e\x00\x0d\x00\x04\x00\x0d\x00\x03\x00\x04\x00\x08\x00\x09\x00\x0a\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x0d\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x04\x00\x11\x00\x12\x00\x24\x00\x25\x00\x15\x00\x0a\x00\x11\x00\x12\x00\x11\x00\x12\x00\x15\x00\x1e\x00\x15\x00\x0b\x00\x0c\x00\x0d\x00\x01\x00\x02\x00\x03\x00\x1b\x00\x1c\x00\x1d\x00\x06\x00\x21\x00\x22\x00\x23\x00\x16\x00\x17\x00\x18\x00\x05\x00\x06\x00\x07\x00\x01\x00\x1e\x00\x1f\x00\x20\x00\x26\x00\x27\x00\x28\x00\x00\x00\x01\x00\x13\x00\x14\x00\x1e\x00\x13\x00\x14\x00\x13\x00\x14\x00\x13\x00\x14\x00\x24\x00\x25\x00\x05\x00\x1e\x00\x05\x00\x05\x00\x1e\x00\x05\x00\x1e\x00\x05\x00\x1e\x00\x06\x00\x1e\x00\x04\x00\x06\x00\x05\x00\x05\x00\x05\x00\x1e\x00\x02\x00\x06\x00\x05\x00\x1e\x00\x1e\x00\x06\x00\x05\x00\x01\x00\x06\x00\x06\x00\x06\x00\x06\x00\x05\x00\x05\x00\x1e\x00\x06\x00\x05\x00\x1e\x00\x06\x00\x06\x00\x06\x00\x05\x00\x05\x00\x1d\x00\x06\x00\x06\x00\x06\x00\x05\x00\x20\x00\x06\x00\x06\x00\x05\x00\x07\x00\x06\x00\x06\x00\x05\x00\x05\x00\x03\x00\x06\x00\x06\x00\x1e\x00\x05\x00\x15\x00\x06\x00\x06\x00\x05\x00\x05\x00\x20\x00\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x06\x00\x05\x00\x05\x00\x1e\x00\x06\x00\x05\x00\x05\x00\x01\x00\x06\x00\x06\x00\x06\x00\x04\x00\x04\x00\xff\xff\x23\x00\x04\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x15\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\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\xb4\x00\xb5\x00\x66\x00\xb4\x00\xb5\x00\x25\x00\x26\x00\x27\x00\x07\x00\xbb\x00\x2c\x00\x2d\x00\x34\x00\xb6\x00\xb4\x00\xb5\x00\xb6\x00\x25\x00\x26\x00\x27\x00\xff\xff\x28\x00\x25\x00\x26\x00\x27\x00\x2a\x00\xbb\x00\xc6\x00\x04\x00\x31\x00\x1f\x00\x67\x00\xbc\x00\xbd\x00\x29\x00\x43\x00\x29\x00\x29\x00\xb7\x00\xb8\x00\xb9\x00\x31\x00\x21\x00\xc0\x00\x2c\x00\x2d\x00\x29\x00\x32\x00\x2e\x00\x2f\x00\x30\x00\x29\x00\x05\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xb4\x00\xb5\x00\x16\x00\x29\x00\x31\x00\x20\x00\x21\x00\x22\x00\x21\x00\x22\x00\x8a\x00\xc3\x00\xc4\x00\xc5\x00\x5d\x00\x5e\x00\x5f\x00\x1e\x00\x23\x00\x21\x00\x22\x00\x21\x00\x22\x00\x21\x00\x22\x00\x21\x00\x22\x00\x21\x00\x22\x00\x60\x00\x1b\x00\xa0\x00\x1d\x00\x99\x00\x1c\x00\x98\x00\x31\x00\x97\x00\x21\x00\x22\x00\x70\x00\x71\x00\x72\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x95\x00\x88\x00\x7f\x00\x96\x00\xb2\x00\xbe\x00\x31\x00\x6b\x00\x68\x00\x85\x00\x86\x00\x69\x00\xbd\x00\x67\x00\x68\x00\x9b\x00\x68\x00\x69\x00\x1a\x00\x69\x00\x37\x00\x38\x00\x39\x00\x25\x00\x26\x00\x27\x00\x3d\x00\x3e\x00\x3f\x00\x45\x00\x4e\x00\x4f\x00\x50\x00\x6c\x00\x6d\x00\x6e\x00\x62\x00\x63\x00\x64\x00\x42\x00\x81\x00\x82\x00\x83\x00\xab\x00\xac\x00\xad\x00\x03\x00\x02\x00\x54\x00\x49\x00\x19\x00\x53\x00\x49\x00\x48\x00\x49\x00\x84\x00\x49\x00\x9a\x00\x86\x00\x43\x00\x18\x00\x41\x00\x3d\x00\x17\x00\x3b\x00\x46\x00\x3a\x00\x35\x00\x31\x00\x5d\x00\x2c\x00\x59\x00\x5c\x00\x5b\x00\x5a\x00\x57\x00\x56\x00\x53\x00\x52\x00\x4c\x00\x78\x00\x4e\x00\x41\x00\x7c\x00\x4b\x00\x48\x00\x7f\x00\x7e\x00\x6b\x00\x7b\x00\x74\x00\x7a\x00\x52\x00\x91\x00\x77\x00\x76\x00\x75\x00\x70\x00\x6b\x00\x4c\x00\x62\x00\x95\x00\x93\x00\x6b\x00\x3b\x00\x90\x00\x8f\x00\x70\x00\x93\x00\x8c\x00\x8a\x00\x88\x00\x3d\x00\x46\x00\x81\x00\xa0\x00\x8d\x00\x3d\x00\x7c\x00\x9e\x00\x9d\x00\x6b\x00\x88\x00\x9e\x00\xaa\x00\xa9\x00\xa8\x00\xa7\x00\xa6\x00\xa5\x00\xa4\x00\xa3\x00\xa2\x00\xab\x00\xaf\x00\xb0\x00\xb2\x00\xaf\x00\xb4\x00\x02\x00\xc2\x00\xc3\x00\xc8\x00\x2a\x00\x57\x00\x00\x00\x78\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = Happy_Data_Array.array (1, 87) [- (1 , happyReduce_1),- (2 , happyReduce_2),- (3 , happyReduce_3),- (4 , happyReduce_4),- (5 , happyReduce_5),- (6 , happyReduce_6),- (7 , happyReduce_7),- (8 , happyReduce_8),- (9 , happyReduce_9),- (10 , happyReduce_10),- (11 , happyReduce_11),- (12 , happyReduce_12),- (13 , happyReduce_13),- (14 , happyReduce_14),- (15 , happyReduce_15),- (16 , happyReduce_16),- (17 , happyReduce_17),- (18 , happyReduce_18),- (19 , happyReduce_19),- (20 , happyReduce_20),- (21 , happyReduce_21),- (22 , happyReduce_22),- (23 , happyReduce_23),- (24 , happyReduce_24),- (25 , happyReduce_25),- (26 , happyReduce_26),- (27 , happyReduce_27),- (28 , happyReduce_28),- (29 , happyReduce_29),- (30 , happyReduce_30),- (31 , happyReduce_31),- (32 , happyReduce_32),- (33 , happyReduce_33),- (34 , happyReduce_34),- (35 , happyReduce_35),- (36 , happyReduce_36),- (37 , happyReduce_37),- (38 , happyReduce_38),- (39 , happyReduce_39),- (40 , happyReduce_40),- (41 , happyReduce_41),- (42 , happyReduce_42),- (43 , happyReduce_43),- (44 , happyReduce_44),- (45 , happyReduce_45),- (46 , happyReduce_46),- (47 , happyReduce_47),- (48 , happyReduce_48),- (49 , happyReduce_49),- (50 , happyReduce_50),- (51 , happyReduce_51),- (52 , happyReduce_52),- (53 , happyReduce_53),- (54 , happyReduce_54),- (55 , happyReduce_55),- (56 , happyReduce_56),- (57 , happyReduce_57),- (58 , happyReduce_58),- (59 , happyReduce_59),- (60 , happyReduce_60),- (61 , happyReduce_61),- (62 , happyReduce_62),- (63 , happyReduce_63),- (64 , happyReduce_64),- (65 , happyReduce_65),- (66 , happyReduce_66),- (67 , happyReduce_67),- (68 , happyReduce_68),- (69 , happyReduce_69),- (70 , happyReduce_70),- (71 , happyReduce_71),- (72 , happyReduce_72),- (73 , happyReduce_73),- (74 , happyReduce_74),- (75 , happyReduce_75),- (76 , happyReduce_76),- (77 , happyReduce_77),- (78 , happyReduce_78),- (79 , happyReduce_79),- (80 , happyReduce_80),- (81 , happyReduce_81),- (82 , happyReduce_82),- (83 , happyReduce_83),- (84 , happyReduce_84),- (85 , happyReduce_85),- (86 , happyReduce_86),- (87 , happyReduce_87)- ]--happy_n_terms = 32 :: Int-happy_n_nonterms = 44 :: Int--happyReduce_1 = happySpecReduce_1 0# happyReduction_1-happyReduction_1 happy_x_1- = case happyOut5 happy_x_1 of { happy_var_1 -> - happyIn4- (reverse happy_var_1- )}--happyReduce_2 = happySpecReduce_2 1# happyReduction_2-happyReduction_2 happy_x_2- happy_x_1- = case happyOut5 happy_x_1 of { happy_var_1 -> - case happyOut6 happy_x_2 of { happy_var_2 -> - happyIn5- (happy_var_2:happy_var_1- )}}--happyReduce_3 = happySpecReduce_0 1# happyReduction_3-happyReduction_3 = happyIn5- ([]- )--happyReduce_4 = happySpecReduce_3 2# happyReduction_4-happyReduction_4 happy_x_3- happy_x_2- happy_x_1- = happyIn6- (CheckSynth- )--happyReduce_5 = happyReduce 4# 2# happyReduction_5-happyReduction_5 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut17 happy_x_3 of { happy_var_3 -> - happyIn6- (Constraint happy_var_3- ) `HappyStk` happyRest}--happyReduce_6 = happyReduce 5# 2# happyReduction_6-happyReduction_6 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> - case happyOut14 happy_x_4 of { happy_var_4 -> - happyIn6- (DeclareVar happy_var_3 happy_var_4- ) `HappyStk` happyRest}}--happyReduce_7 = happyReduce 7# 2# happyReduction_7-happyReduction_7 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> - case happyOutTok happy_x_4 of { (TSymbol happy_var_4) -> - case happyOutTok happy_x_5 of { (TSymbol happy_var_5) -> - case happyOutTok happy_x_6 of { (TSymbol happy_var_6) -> - happyIn6- (InvConstraint happy_var_3 happy_var_4 happy_var_5 happy_var_6- ) `HappyStk` happyRest}}}}--happyReduce_8 = happyReduce 6# 2# happyReduction_8-happyReduction_8 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut29 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (TLit (LitBool happy_var_5)) -> - happyIn6- (SetFeature happy_var_4 happy_var_5- ) `HappyStk` happyRest}}--happyReduce_9 = happyReduce 9# 2# happyReduction_9-happyReduction_9 (happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> - case happyOut23 happy_x_5 of { happy_var_5 -> - case happyOut14 happy_x_7 of { happy_var_7 -> - case happyOut40 happy_x_8 of { happy_var_8 -> - happyIn6- (SynthFun happy_var_3 happy_var_5 happy_var_7 happy_var_8- ) `HappyStk` happyRest}}}}--happyReduce_10 = happyReduce 8# 2# happyReduction_10-happyReduction_10 (happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> - case happyOut23 happy_x_5 of { happy_var_5 -> - case happyOut40 happy_x_7 of { happy_var_7 -> - happyIn6- (SynthInv happy_var_3 happy_var_5 happy_var_7- ) `HappyStk` happyRest}}}--happyReduce_11 = happySpecReduce_1 2# happyReduction_11-happyReduction_11 happy_x_1- = case happyOut30 happy_x_1 of { happy_var_1 -> - happyIn6- (SmtCmd happy_var_1- )}--happyReduce_12 = happySpecReduce_1 3# happyReduction_12-happyReduction_12 happy_x_1- = case happyOutTok happy_x_1 of { (TLit (LitNum happy_var_1)) -> - happyIn7- (LitNum happy_var_1- )}--happyReduce_13 = happySpecReduce_1 3# happyReduction_13-happyReduction_13 happy_x_1- = case happyOutTok happy_x_1 of { (TLit (LitBool happy_var_1)) -> - happyIn7- (LitBool happy_var_1- )}--happyReduce_14 = happySpecReduce_1 3# happyReduction_14-happyReduction_14 happy_x_1- = case happyOutTok happy_x_1 of { (TLit happy_var_1) -> - happyIn7- (happy_var_1- )}--happyReduce_15 = happySpecReduce_1 4# happyReduction_15-happyReduction_15 happy_x_1- = case happyOutTok happy_x_1 of { (TSymbol happy_var_1) -> - happyIn8- (ISymb happy_var_1- )}--happyReduce_16 = happyReduce 5# 4# happyReduction_16-happyReduction_16 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> - case happyOut9 happy_x_4 of { happy_var_4 -> - happyIn8- (Indexed happy_var_3 happy_var_4- ) `HappyStk` happyRest}}--happyReduce_17 = happySpecReduce_1 5# happyReduction_17-happyReduction_17 happy_x_1- = case happyOut10 happy_x_1 of { happy_var_1 -> - happyIn9- (reverse happy_var_1- )}--happyReduce_18 = happySpecReduce_2 6# happyReduction_18-happyReduction_18 happy_x_2- happy_x_1- = case happyOut10 happy_x_1 of { happy_var_1 -> - case happyOut11 happy_x_2 of { happy_var_2 -> - happyIn10- (happy_var_2:happy_var_1- )}}--happyReduce_19 = happySpecReduce_1 6# happyReduction_19-happyReduction_19 happy_x_1- = case happyOut11 happy_x_1 of { happy_var_1 -> - happyIn10- ([happy_var_1]- )}--happyReduce_20 = happySpecReduce_1 7# happyReduction_20-happyReduction_20 happy_x_1- = case happyOutTok happy_x_1 of { (TLit (LitNum happy_var_1)) -> - happyIn11- (IndNumeral happy_var_1- )}--happyReduce_21 = happySpecReduce_1 7# happyReduction_21-happyReduction_21 happy_x_1- = case happyOutTok happy_x_1 of { (TSymbol happy_var_1) -> - happyIn11- (IndSymb happy_var_1- )}--happyReduce_22 = happySpecReduce_1 8# happyReduction_22-happyReduction_22 happy_x_1- = case happyOut13 happy_x_1 of { happy_var_1 -> - happyIn12- (reverse happy_var_1- )}--happyReduce_23 = happySpecReduce_2 9# happyReduction_23-happyReduction_23 happy_x_2- happy_x_1- = case happyOut13 happy_x_1 of { happy_var_1 -> - case happyOut14 happy_x_2 of { happy_var_2 -> - happyIn13- (happy_var_2:happy_var_1- )}}--happyReduce_24 = happySpecReduce_1 9# happyReduction_24-happyReduction_24 happy_x_1- = case happyOut14 happy_x_1 of { happy_var_1 -> - happyIn13- ([happy_var_1]- )}--happyReduce_25 = happySpecReduce_1 10# happyReduction_25-happyReduction_25 happy_x_1- = case happyOut8 happy_x_1 of { happy_var_1 -> - happyIn14- (IdentSort happy_var_1- )}--happyReduce_26 = happyReduce 4# 10# happyReduction_26-happyReduction_26 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut8 happy_x_2 of { happy_var_2 -> - case happyOut12 happy_x_3 of { happy_var_3 -> - happyIn14- (IdentSortSort happy_var_2 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_27 = happySpecReduce_1 11# happyReduction_27-happyReduction_27 happy_x_1- = case happyOut16 happy_x_1 of { happy_var_1 -> - happyIn15- (reverse happy_var_1- )}--happyReduce_28 = happySpecReduce_2 12# happyReduction_28-happyReduction_28 happy_x_2- happy_x_1- = case happyOut16 happy_x_1 of { happy_var_1 -> - case happyOut17 happy_x_2 of { happy_var_2 -> - happyIn16- (happy_var_2:happy_var_1- )}}--happyReduce_29 = happySpecReduce_1 12# happyReduction_29-happyReduction_29 happy_x_1- = case happyOut17 happy_x_1 of { happy_var_1 -> - happyIn16- ([happy_var_1]- )}--happyReduce_30 = happySpecReduce_1 13# happyReduction_30-happyReduction_30 happy_x_1- = case happyOut8 happy_x_1 of { happy_var_1 -> - happyIn17- (TermIdent happy_var_1- )}--happyReduce_31 = happySpecReduce_1 13# happyReduction_31-happyReduction_31 happy_x_1- = case happyOut7 happy_x_1 of { happy_var_1 -> - happyIn17- (TermLit happy_var_1- )}--happyReduce_32 = happyReduce 4# 13# happyReduction_32-happyReduction_32 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut8 happy_x_2 of { happy_var_2 -> - case happyOut15 happy_x_3 of { happy_var_3 -> - happyIn17- (TermCall happy_var_2 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_33 = happyReduce 7# 13# happyReduction_33-happyReduction_33 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut21 happy_x_4 of { happy_var_4 -> - case happyOut17 happy_x_6 of { happy_var_6 -> - happyIn17- (TermExists happy_var_4 happy_var_6- ) `HappyStk` happyRest}}--happyReduce_34 = happyReduce 7# 13# happyReduction_34-happyReduction_34 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut21 happy_x_4 of { happy_var_4 -> - case happyOut17 happy_x_6 of { happy_var_6 -> - happyIn17- (TermForAll happy_var_4 happy_var_6- ) `HappyStk` happyRest}}--happyReduce_35 = happyReduce 7# 13# happyReduction_35-happyReduction_35 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut26 happy_x_4 of { happy_var_4 -> - case happyOut17 happy_x_6 of { happy_var_6 -> - happyIn17- (TermLet happy_var_4 happy_var_6- ) `HappyStk` happyRest}}--happyReduce_36 = happySpecReduce_1 14# happyReduction_36-happyReduction_36 happy_x_1- = case happyOut19 happy_x_1 of { happy_var_1 -> - happyIn18- (reverse happy_var_1- )}--happyReduce_37 = happySpecReduce_2 15# happyReduction_37-happyReduction_37 happy_x_2- happy_x_1- = case happyOut19 happy_x_1 of { happy_var_1 -> - case happyOut20 happy_x_2 of { happy_var_2 -> - happyIn19- (happy_var_2:happy_var_1- )}}--happyReduce_38 = happySpecReduce_1 15# happyReduction_38-happyReduction_38 happy_x_1- = case happyOut20 happy_x_1 of { happy_var_1 -> - happyIn19- ([happy_var_1]- )}--happyReduce_39 = happySpecReduce_1 16# happyReduction_39-happyReduction_39 happy_x_1- = case happyOut8 happy_x_1 of { happy_var_1 -> - happyIn20- (BfIdentifier happy_var_1- )}--happyReduce_40 = happySpecReduce_1 16# happyReduction_40-happyReduction_40 happy_x_1- = case happyOut7 happy_x_1 of { happy_var_1 -> - happyIn20- (BfLiteral happy_var_1- )}--happyReduce_41 = happyReduce 4# 16# happyReduction_41-happyReduction_41 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut8 happy_x_2 of { happy_var_2 -> - case happyOut18 happy_x_3 of { happy_var_3 -> - happyIn20- (BfIdentifierBfs happy_var_2 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_42 = happySpecReduce_1 17# happyReduction_42-happyReduction_42 happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - happyIn21- (reverse happy_var_1- )}--happyReduce_43 = happySpecReduce_2 18# happyReduction_43-happyReduction_43 happy_x_2- happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_2 of { happy_var_2 -> - happyIn22- (happy_var_2:happy_var_1- )}}--happyReduce_44 = happySpecReduce_1 18# happyReduction_44-happyReduction_44 happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 -> - happyIn22- ([happy_var_1]- )}--happyReduce_45 = happySpecReduce_1 19# happyReduction_45-happyReduction_45 happy_x_1- = case happyOut24 happy_x_1 of { happy_var_1 -> - happyIn23- (reverse happy_var_1- )}--happyReduce_46 = happySpecReduce_2 20# happyReduction_46-happyReduction_46 happy_x_2- happy_x_1- = case happyOut24 happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_2 of { happy_var_2 -> - happyIn24- (happy_var_2:happy_var_1- )}}--happyReduce_47 = happySpecReduce_0 20# happyReduction_47-happyReduction_47 = happyIn24- ([]- )--happyReduce_48 = happyReduce 4# 21# happyReduction_48-happyReduction_48 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_2 of { (TSymbol happy_var_2) -> - case happyOut14 happy_x_3 of { happy_var_3 -> - happyIn25- (SortedVar happy_var_2 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_49 = happySpecReduce_1 22# happyReduction_49-happyReduction_49 happy_x_1- = case happyOut27 happy_x_1 of { happy_var_1 -> - happyIn26- (reverse happy_var_1- )}--happyReduce_50 = happySpecReduce_2 23# happyReduction_50-happyReduction_50 happy_x_2- happy_x_1- = case happyOut27 happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { happy_var_2 -> - happyIn27- (happy_var_2:happy_var_1- )}}--happyReduce_51 = happySpecReduce_1 23# happyReduction_51-happyReduction_51 happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - happyIn27- ([happy_var_1]- )}--happyReduce_52 = happyReduce 4# 24# happyReduction_52-happyReduction_52 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_2 of { (TSymbol happy_var_2) -> - case happyOut17 happy_x_3 of { happy_var_3 -> - happyIn28- (VarBinding happy_var_2 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_53 = happySpecReduce_1 25# happyReduction_53-happyReduction_53 happy_x_1- = happyIn29- (Grammars- )--happyReduce_54 = happySpecReduce_1 25# happyReduction_54-happyReduction_54 happy_x_1- = happyIn29- (FwdDecls- )--happyReduce_55 = happySpecReduce_1 25# happyReduction_55-happyReduction_55 happy_x_1- = happyIn29- (Recursion- )--happyReduce_56 = happyReduce 5# 26# happyReduction_56-happyReduction_56 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> - case happyOut36 happy_x_4 of { happy_var_4 -> - happyIn30- (DeclareDatatype happy_var_3 happy_var_4- ) `HappyStk` happyRest}}--happyReduce_57 = happyReduce 9# 26# happyReduction_57-happyReduction_57 (happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut31 happy_x_4 of { happy_var_4 -> - case happyOut34 happy_x_7 of { happy_var_7 -> - happyIn30- (DeclareDatatypes happy_var_4 happy_var_7- ) `HappyStk` happyRest}}--happyReduce_58 = happyReduce 5# 26# happyReduction_58-happyReduction_58 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> - case happyOutTok happy_x_4 of { (TLit (LitNum happy_var_4)) -> - happyIn30- (DeclareSort happy_var_3 happy_var_4- ) `HappyStk` happyRest}}--happyReduce_59 = happyReduce 9# 26# happyReduction_59-happyReduction_59 (happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> - case happyOut23 happy_x_5 of { happy_var_5 -> - case happyOut14 happy_x_7 of { happy_var_7 -> - case happyOut17 happy_x_8 of { happy_var_8 -> - happyIn30- (DefineFun happy_var_3 happy_var_5 happy_var_7 happy_var_8- ) `HappyStk` happyRest}}}}--happyReduce_60 = happyReduce 5# 26# happyReduction_60-happyReduction_60 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> - case happyOut14 happy_x_4 of { happy_var_4 -> - happyIn30- (DefineSort happy_var_3 happy_var_4- ) `HappyStk` happyRest}}--happyReduce_61 = happyReduce 4# 26# happyReduction_61-happyReduction_61 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> - happyIn30- (SetLogic happy_var_3- ) `HappyStk` happyRest}--happyReduce_62 = happyReduce 6# 26# happyReduction_62-happyReduction_62 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_4 of { (TSymbol happy_var_4) -> - case happyOut7 happy_x_5 of { happy_var_5 -> - happyIn30- (SetOption happy_var_4 happy_var_5- ) `HappyStk` happyRest}}--happyReduce_63 = happySpecReduce_1 27# happyReduction_63-happyReduction_63 happy_x_1- = case happyOut32 happy_x_1 of { happy_var_1 -> - happyIn31- (reverse happy_var_1- )}--happyReduce_64 = happySpecReduce_2 28# happyReduction_64-happyReduction_64 happy_x_2- happy_x_1- = case happyOut32 happy_x_1 of { happy_var_1 -> - case happyOut33 happy_x_2 of { happy_var_2 -> - happyIn32- (happy_var_2:happy_var_1- )}}--happyReduce_65 = happySpecReduce_1 28# happyReduction_65-happyReduction_65 happy_x_1- = case happyOut33 happy_x_1 of { happy_var_1 -> - happyIn32- ([happy_var_1]- )}--happyReduce_66 = happyReduce 4# 29# happyReduction_66-happyReduction_66 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_2 of { (TSymbol happy_var_2) -> - case happyOutTok happy_x_3 of { (TLit (LitNum happy_var_3)) -> - happyIn33- (SortDecl happy_var_2 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_67 = happySpecReduce_1 30# happyReduction_67-happyReduction_67 happy_x_1- = case happyOut35 happy_x_1 of { happy_var_1 -> - happyIn34- (reverse happy_var_1- )}--happyReduce_68 = happySpecReduce_2 31# happyReduction_68-happyReduction_68 happy_x_2- happy_x_1- = case happyOut35 happy_x_1 of { happy_var_1 -> - case happyOut36 happy_x_2 of { happy_var_2 -> - happyIn35- (happy_var_2:happy_var_1- )}}--happyReduce_69 = happySpecReduce_1 31# happyReduction_69-happyReduction_69 happy_x_1- = case happyOut36 happy_x_1 of { happy_var_1 -> - happyIn35- ([happy_var_1]- )}--happyReduce_70 = happySpecReduce_3 32# happyReduction_70-happyReduction_70 happy_x_3- happy_x_2- happy_x_1- = case happyOut37 happy_x_2 of { happy_var_2 -> - happyIn36- (DTDec happy_var_2- )}--happyReduce_71 = happySpecReduce_1 33# happyReduction_71-happyReduction_71 happy_x_1- = case happyOut38 happy_x_1 of { happy_var_1 -> - happyIn37- (reverse happy_var_1- )}--happyReduce_72 = happySpecReduce_2 34# happyReduction_72-happyReduction_72 happy_x_2- happy_x_1- = case happyOut38 happy_x_1 of { happy_var_1 -> - case happyOut39 happy_x_2 of { happy_var_2 -> - happyIn38- (happy_var_2:happy_var_1- )}}--happyReduce_73 = happySpecReduce_1 34# happyReduction_73-happyReduction_73 happy_x_1- = case happyOut39 happy_x_1 of { happy_var_1 -> - happyIn38- ([happy_var_1]- )}--happyReduce_74 = happyReduce 4# 35# happyReduction_74-happyReduction_74 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_2 of { (TSymbol happy_var_2) -> - case happyOut23 happy_x_3 of { happy_var_3 -> - happyIn39- (DTConsDec happy_var_2 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_75 = happySpecReduce_1 36# happyReduction_75-happyReduction_75 happy_x_1- = case happyOut41 happy_x_1 of { happy_var_1 -> - happyIn40- (Just happy_var_1- )}--happyReduce_76 = happySpecReduce_0 36# happyReduction_76-happyReduction_76 = happyIn40- (Nothing- )--happyReduce_77 = happyReduce 6# 37# happyReduction_77-happyReduction_77 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut21 happy_x_2 of { happy_var_2 -> - case happyOut42 happy_x_5 of { happy_var_5 -> - happyIn41- (GrammarDef happy_var_2 happy_var_5- ) `HappyStk` happyRest}}--happyReduce_78 = happySpecReduce_1 38# happyReduction_78-happyReduction_78 happy_x_1- = case happyOut43 happy_x_1 of { happy_var_1 -> - happyIn42- (reverse happy_var_1- )}--happyReduce_79 = happySpecReduce_2 39# happyReduction_79-happyReduction_79 happy_x_2- happy_x_1- = case happyOut43 happy_x_1 of { happy_var_1 -> - case happyOut44 happy_x_2 of { happy_var_2 -> - happyIn43- (happy_var_2:happy_var_1- )}}--happyReduce_80 = happySpecReduce_1 39# happyReduction_80-happyReduction_80 happy_x_1- = case happyOut44 happy_x_1 of { happy_var_1 -> - happyIn43- ([happy_var_1]- )}--happyReduce_81 = happyReduce 7# 40# happyReduction_81-happyReduction_81 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_2 of { (TSymbol happy_var_2) -> - case happyOut14 happy_x_3 of { happy_var_3 -> - case happyOut45 happy_x_5 of { happy_var_5 -> - happyIn44- (GroupedRuleList happy_var_2 happy_var_3 happy_var_5- ) `HappyStk` happyRest}}}--happyReduce_82 = happySpecReduce_1 41# happyReduction_82-happyReduction_82 happy_x_1- = case happyOut46 happy_x_1 of { happy_var_1 -> - happyIn45- (reverse happy_var_1- )}--happyReduce_83 = happySpecReduce_2 42# happyReduction_83-happyReduction_83 happy_x_2- happy_x_1- = case happyOut46 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_2 of { happy_var_2 -> - happyIn46- (happy_var_2:happy_var_1- )}}--happyReduce_84 = happySpecReduce_1 42# happyReduction_84-happyReduction_84 happy_x_1- = case happyOut47 happy_x_1 of { happy_var_1 -> - happyIn46- ([happy_var_1]- )}--happyReduce_85 = happySpecReduce_2 43# happyReduction_85-happyReduction_85 happy_x_2- happy_x_1- = case happyOut14 happy_x_2 of { happy_var_2 -> - happyIn47- (GConstant happy_var_2- )}--happyReduce_86 = happySpecReduce_2 43# happyReduction_86-happyReduction_86 happy_x_2- happy_x_1- = case happyOut14 happy_x_2 of { happy_var_2 -> - happyIn47- (GVariable happy_var_2- )}--happyReduce_87 = happySpecReduce_1 43# happyReduction_87-happyReduction_87 happy_x_1- = case happyOut20 happy_x_1 of { happy_var_1 -> - happyIn47- (GBfTerm happy_var_1- )}--happyNewToken action sts stk [] =- happyDoAction 31# notHappyAtAll action sts stk []--happyNewToken action sts stk (tk:tks) =- let cont i = happyDoAction i tk action sts stk tks in- case tk of {- TLit (LitNum happy_dollar_dollar) -> cont 1#;- TLit (LitBool happy_dollar_dollar) -> cont 2#;- TLit happy_dollar_dollar -> cont 3#;- TUnderscore -> cont 4#;- TOpenBracket -> cont 5#;- TCloseBracket -> cont 6#;- TColon -> cont 7#;- TSymbol "exists" -> cont 8#;- TSymbol "forall" -> cont 9#;- TSymbol "let" -> cont 10#;- TSymbol "grammars" -> cont 11#;- TSymbol "fwd-decls" -> cont 12#;- TSymbol "recursion" -> cont 13#;- TSymbol "check-synth" -> cont 14#;- TSymbol "constraint" -> cont 15#;- TSymbol "declare-var" -> cont 16#;- TSymbol "inv-constraint" -> cont 17#;- TSymbol "set-feature" -> cont 18#;- TSymbol "synth-fun" -> cont 19#;- TSymbol "synth-inv" -> cont 20#;- TSymbol "declare-datatype" -> cont 21#;- TSymbol "declare-datatypes" -> cont 22#;- TSymbol "declare-sort" -> cont 23#;- TSymbol "define-fun" -> cont 24#;- TSymbol "define-sort" -> cont 25#;- TSymbol "set-logic" -> cont 26#;- TSymbol "set-option" -> cont 27#;- TSymbol "Constant" -> cont 28#;- TSymbol "Variable" -> cont 29#;- TSymbol happy_dollar_dollar -> cont 30#;- _ -> happyError' ((tk:tks), [])- }--happyError_ explist 31# tk tks = happyError' (tks, explist)-happyError_ explist _ tk tks = happyError' ((tk:tks), explist)--newtype HappyIdentity a = HappyIdentity a-happyIdentity = HappyIdentity-happyRunIdentity (HappyIdentity a) = a--instance Functor HappyIdentity where- fmap f (HappyIdentity a) = HappyIdentity (f a)--instance Applicative HappyIdentity where- pure = HappyIdentity- (<*>) = ap-instance Monad HappyIdentity where- return = pure- (HappyIdentity p) >>= q = q p--happyThen :: () => HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b-happyThen = (>>=)-happyReturn :: () => a -> HappyIdentity a-happyReturn = (return)-happyThen1 m k tks = (>>=) m (\a -> k a tks)-happyReturn1 :: () => a -> b -> HappyIdentity a-happyReturn1 = \a tks -> (return) a-happyError' :: () => ([(Token)], [String]) -> HappyIdentity a-happyError' = HappyIdentity . (\(tokens, _) -> parseError tokens)-parse tks = happyRunIdentity happySomeParser where- happySomeParser = happyThen (happyParse 0# tks) (\x -> happyReturn (happyOut4 x))+ , 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.19.8++newtype HappyAbsSyn = HappyAbsSyn HappyAny+#if __GLASGOW_HASKELL__ >= 607+type HappyAny = Happy_GHC_Exts.Any+#else+type HappyAny = forall a . a+#endif+happyIn12 :: ([Cmd]) -> (HappyAbsSyn )+happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn12 #-}+happyOut12 :: (HappyAbsSyn ) -> ([Cmd])+happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut12 #-}+happyIn13 :: ([Cmd]) -> (HappyAbsSyn )+happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn13 #-}+happyOut13 :: (HappyAbsSyn ) -> ([Cmd])+happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut13 #-}+happyIn14 :: (Cmd) -> (HappyAbsSyn )+happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn14 #-}+happyOut14 :: (HappyAbsSyn ) -> (Cmd)+happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut14 #-}+happyIn15 :: (Lit) -> (HappyAbsSyn )+happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn15 #-}+happyOut15 :: (HappyAbsSyn ) -> (Lit)+happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut15 #-}+happyIn16 :: (Identifier) -> (HappyAbsSyn )+happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn16 #-}+happyOut16 :: (HappyAbsSyn ) -> (Identifier)+happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut16 #-}+happyIn17 :: ([Index]) -> (HappyAbsSyn )+happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn17 #-}+happyOut17 :: (HappyAbsSyn ) -> ([Index])+happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut17 #-}+happyIn18 :: ([Index]) -> (HappyAbsSyn )+happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn18 #-}+happyOut18 :: (HappyAbsSyn ) -> ([Index])+happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut18 #-}+happyIn19 :: (Index) -> (HappyAbsSyn )+happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn19 #-}+happyOut19 :: (HappyAbsSyn ) -> (Index)+happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut19 #-}+happyIn20 :: ([Sort]) -> (HappyAbsSyn )+happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn20 #-}+happyOut20 :: (HappyAbsSyn ) -> ([Sort])+happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut20 #-}+happyIn21 :: ([Sort]) -> (HappyAbsSyn )+happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn21 #-}+happyOut21 :: (HappyAbsSyn ) -> ([Sort])+happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut21 #-}+happyIn22 :: (Sort) -> (HappyAbsSyn )+happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn22 #-}+happyOut22 :: (HappyAbsSyn ) -> (Sort)+happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut22 #-}+happyIn23 :: ([Term]) -> (HappyAbsSyn )+happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn23 #-}+happyOut23 :: (HappyAbsSyn ) -> ([Term])+happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut23 #-}+happyIn24 :: ([Term]) -> (HappyAbsSyn )+happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn24 #-}+happyOut24 :: (HappyAbsSyn ) -> ([Term])+happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut24 #-}+happyIn25 :: (Term) -> (HappyAbsSyn )+happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn25 #-}+happyOut25 :: (HappyAbsSyn ) -> (Term)+happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut25 #-}+happyIn26 :: ([BfTerm]) -> (HappyAbsSyn )+happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn26 #-}+happyOut26 :: (HappyAbsSyn ) -> ([BfTerm])+happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut26 #-}+happyIn27 :: ([BfTerm]) -> (HappyAbsSyn )+happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn27 #-}+happyOut27 :: (HappyAbsSyn ) -> ([BfTerm])+happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut27 #-}+happyIn28 :: (BfTerm) -> (HappyAbsSyn )+happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn28 #-}+happyOut28 :: (HappyAbsSyn ) -> (BfTerm)+happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut28 #-}+happyIn29 :: ([SortedVar]) -> (HappyAbsSyn )+happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn29 #-}+happyOut29 :: (HappyAbsSyn ) -> ([SortedVar])+happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut29 #-}+happyIn30 :: ([SortedVar]) -> (HappyAbsSyn )+happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn30 #-}+happyOut30 :: (HappyAbsSyn ) -> ([SortedVar])+happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut30 #-}+happyIn31 :: ([SortedVar]) -> (HappyAbsSyn )+happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn31 #-}+happyOut31 :: (HappyAbsSyn ) -> ([SortedVar])+happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut31 #-}+happyIn32 :: ([SortedVar]) -> (HappyAbsSyn )+happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn32 #-}+happyOut32 :: (HappyAbsSyn ) -> ([SortedVar])+happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut32 #-}+happyIn33 :: (SortedVar) -> (HappyAbsSyn )+happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn33 #-}+happyOut33 :: (HappyAbsSyn ) -> (SortedVar)+happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut33 #-}+happyIn34 :: ([VarBinding]) -> (HappyAbsSyn )+happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn34 #-}+happyOut34 :: (HappyAbsSyn ) -> ([VarBinding])+happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut34 #-}+happyIn35 :: ([VarBinding]) -> (HappyAbsSyn )+happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn35 #-}+happyOut35 :: (HappyAbsSyn ) -> ([VarBinding])+happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut35 #-}+happyIn36 :: (VarBinding) -> (HappyAbsSyn )+happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn36 #-}+happyOut36 :: (HappyAbsSyn ) -> (VarBinding)+happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut36 #-}+happyIn37 :: (Feature) -> (HappyAbsSyn )+happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn37 #-}+happyOut37 :: (HappyAbsSyn ) -> (Feature)+happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut37 #-}+happyIn38 :: (SmtCmd) -> (HappyAbsSyn )+happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn38 #-}+happyOut38 :: (HappyAbsSyn ) -> (SmtCmd)+happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut38 #-}+happyIn39 :: ([SortDecl]) -> (HappyAbsSyn )+happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn39 #-}+happyOut39 :: (HappyAbsSyn ) -> ([SortDecl])+happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut39 #-}+happyIn40 :: ([SortDecl]) -> (HappyAbsSyn )+happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn40 #-}+happyOut40 :: (HappyAbsSyn ) -> ([SortDecl])+happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut40 #-}+happyIn41 :: (SortDecl) -> (HappyAbsSyn )+happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn41 #-}+happyOut41 :: (HappyAbsSyn ) -> (SortDecl)+happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut41 #-}+happyIn42 :: ([DTDec]) -> (HappyAbsSyn )+happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn42 #-}+happyOut42 :: (HappyAbsSyn ) -> ([DTDec])+happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut42 #-}+happyIn43 :: ([DTDec]) -> (HappyAbsSyn )+happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn43 #-}+happyOut43 :: (HappyAbsSyn ) -> ([DTDec])+happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut43 #-}+happyIn44 :: (DTDec) -> (HappyAbsSyn )+happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn44 #-}+happyOut44 :: (HappyAbsSyn ) -> (DTDec)+happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut44 #-}+happyIn45 :: ([DTConsDec]) -> (HappyAbsSyn )+happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn45 #-}+happyOut45 :: (HappyAbsSyn ) -> ([DTConsDec])+happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut45 #-}+happyIn46 :: ([DTConsDec]) -> (HappyAbsSyn )+happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn46 #-}+happyOut46 :: (HappyAbsSyn ) -> ([DTConsDec])+happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut46 #-}+happyIn47 :: (DTConsDec) -> (HappyAbsSyn )+happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn47 #-}+happyOut47 :: (HappyAbsSyn ) -> (DTConsDec)+happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut47 #-}+happyIn48 :: (Maybe GrammarDef) -> (HappyAbsSyn )+happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn48 #-}+happyOut48 :: (HappyAbsSyn ) -> (Maybe GrammarDef)+happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut48 #-}+happyIn49 :: (GrammarDef) -> (HappyAbsSyn )+happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn49 #-}+happyOut49 :: (HappyAbsSyn ) -> (GrammarDef)+happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut49 #-}+happyIn50 :: ([GroupedRuleList]) -> (HappyAbsSyn )+happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn50 #-}+happyOut50 :: (HappyAbsSyn ) -> ([GroupedRuleList])+happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut50 #-}+happyIn51 :: ([GroupedRuleList]) -> (HappyAbsSyn )+happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn51 #-}+happyOut51 :: (HappyAbsSyn ) -> ([GroupedRuleList])+happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut51 #-}+happyIn52 :: (GroupedRuleList) -> (HappyAbsSyn )+happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn52 #-}+happyOut52 :: (HappyAbsSyn ) -> (GroupedRuleList)+happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut52 #-}+happyIn53 :: ([GTerm]) -> (HappyAbsSyn )+happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn53 #-}+happyOut53 :: (HappyAbsSyn ) -> ([GTerm])+happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut53 #-}+happyIn54 :: ([GTerm]) -> (HappyAbsSyn )+happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn54 #-}+happyOut54 :: (HappyAbsSyn ) -> ([GTerm])+happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut54 #-}+happyIn55 :: (GTerm) -> (HappyAbsSyn )+happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn55 #-}+happyOut55 :: (HappyAbsSyn ) -> (GTerm)+happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut55 #-}+happyInTok :: (Token) -> (HappyAbsSyn )+happyInTok x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyInTok #-}+happyOutTok :: (HappyAbsSyn ) -> (Token)+happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOutTok #-}+++happyExpList :: HappyAddr+happyExpList = HappyA# "\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 st =+ token_strs_expected+ where token_strs = ["error","%dummy","%start_parse","%start_parseCmd","%start_parseIndex","%start_parseBfTerm","%start_parseSortedVars","%start_parseSortedVars1","%start_parseSort","%start_parseMaybeGrammarDef","%start_parseGroupedRuleLists1","sygus","sygus_rev","cmd","lit","identifier","indexes1","indexes_rev1","index","sorts1","sorts_rev1","sort","terms1","terms_rev1","term","bfterms1","bfterms_rev1","bfterm","sorted_vars1","sorted_vars_rev1","sorted_vars","sorted_vars_rev","sorted_var","var_bindings1","var_bindings_rev1","var_binding","feature","smtCmd","sort_decls1","sort_decls_rev1","sort_decl","dt_decs1","dt_decs_rev1","dt_dec","dt_cons_decs1","dt_cons_decs_rev1","dt_cons_dec","maybe_grammar_def","grammar_def","grouped_rule_lists1","grouped_rule_lists_rev1","grouped_rule_list","gterm1","gterm_rev1","gterm","num","bool","other_lit","'_'","'('","')'","':'","exists","forall","tlet","grammars","fwdDecls","recursion","checkSynth","constraint","declareVar","invConstraint","setFeature","synthFun","synthInv","declareDatatype","declareDatatypes","declareSort","defineFun","defineSort","setLogic","setOption","constant","variable","symb","%eof"]+ bit_start = st * 86+ bit_end = (st + 1) * 86+ read_bit = readArrayBit happyExpList+ bits = map read_bit [bit_start..bit_end - 1]+ bits_indexed = zip bits [0..85]+ token_strs_expected = concatMap f bits_indexed+ f (False, _) = []+ f (True, nr) = [token_strs !! nr]++happyActOffsets :: HappyAddr+happyActOffsets = HappyA# "\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 = HappyA# "\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 off = off++happyDefActions :: HappyAddr+happyDefActions = HappyA# "\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 = HappyA# "\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 = HappyA# "\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 = Happy_Data_Array.array (9, 95) [+ (9 , happyReduce_9),+ (10 , happyReduce_10),+ (11 , happyReduce_11),+ (12 , happyReduce_12),+ (13 , happyReduce_13),+ (14 , happyReduce_14),+ (15 , happyReduce_15),+ (16 , happyReduce_16),+ (17 , happyReduce_17),+ (18 , happyReduce_18),+ (19 , happyReduce_19),+ (20 , happyReduce_20),+ (21 , happyReduce_21),+ (22 , happyReduce_22),+ (23 , happyReduce_23),+ (24 , happyReduce_24),+ (25 , happyReduce_25),+ (26 , happyReduce_26),+ (27 , happyReduce_27),+ (28 , happyReduce_28),+ (29 , happyReduce_29),+ (30 , happyReduce_30),+ (31 , happyReduce_31),+ (32 , happyReduce_32),+ (33 , happyReduce_33),+ (34 , happyReduce_34),+ (35 , happyReduce_35),+ (36 , happyReduce_36),+ (37 , happyReduce_37),+ (38 , happyReduce_38),+ (39 , happyReduce_39),+ (40 , happyReduce_40),+ (41 , happyReduce_41),+ (42 , happyReduce_42),+ (43 , happyReduce_43),+ (44 , happyReduce_44),+ (45 , happyReduce_45),+ (46 , happyReduce_46),+ (47 , happyReduce_47),+ (48 , happyReduce_48),+ (49 , happyReduce_49),+ (50 , happyReduce_50),+ (51 , happyReduce_51),+ (52 , happyReduce_52),+ (53 , happyReduce_53),+ (54 , happyReduce_54),+ (55 , happyReduce_55),+ (56 , happyReduce_56),+ (57 , happyReduce_57),+ (58 , happyReduce_58),+ (59 , happyReduce_59),+ (60 , happyReduce_60),+ (61 , happyReduce_61),+ (62 , happyReduce_62),+ (63 , happyReduce_63),+ (64 , happyReduce_64),+ (65 , happyReduce_65),+ (66 , happyReduce_66),+ (67 , happyReduce_67),+ (68 , happyReduce_68),+ (69 , happyReduce_69),+ (70 , happyReduce_70),+ (71 , happyReduce_71),+ (72 , happyReduce_72),+ (73 , happyReduce_73),+ (74 , happyReduce_74),+ (75 , happyReduce_75),+ (76 , happyReduce_76),+ (77 , happyReduce_77),+ (78 , happyReduce_78),+ (79 , happyReduce_79),+ (80 , happyReduce_80),+ (81 , happyReduce_81),+ (82 , happyReduce_82),+ (83 , happyReduce_83),+ (84 , happyReduce_84),+ (85 , happyReduce_85),+ (86 , happyReduce_86),+ (87 , happyReduce_87),+ (88 , happyReduce_88),+ (89 , happyReduce_89),+ (90 , happyReduce_90),+ (91 , happyReduce_91),+ (92 , happyReduce_92),+ (93 , happyReduce_93),+ (94 , happyReduce_94),+ (95 , happyReduce_95)+ ]++happy_n_terms = 32 :: Int+happy_n_nonterms = 44 :: Int++happyReduce_9 = happySpecReduce_1 0# happyReduction_9+happyReduction_9 happy_x_1+ = case happyOut13 happy_x_1 of { happy_var_1 -> + happyIn12+ (reverse happy_var_1+ )}++happyReduce_10 = happySpecReduce_2 1# happyReduction_10+happyReduction_10 happy_x_2+ happy_x_1+ = case happyOut13 happy_x_1 of { happy_var_1 -> + case happyOut14 happy_x_2 of { happy_var_2 -> + happyIn13+ (happy_var_2:happy_var_1+ )}}++happyReduce_11 = happySpecReduce_0 1# happyReduction_11+happyReduction_11 = happyIn13+ ([]+ )++happyReduce_12 = happySpecReduce_3 2# happyReduction_12+happyReduction_12 happy_x_3+ happy_x_2+ happy_x_1+ = happyIn14+ (CheckSynth+ )++happyReduce_13 = happyReduce 4# 2# happyReduction_13+happyReduction_13 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut25 happy_x_3 of { happy_var_3 -> + happyIn14+ (Constraint happy_var_3+ ) `HappyStk` happyRest}++happyReduce_14 = happyReduce 5# 2# happyReduction_14+happyReduction_14 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> + case happyOut22 happy_x_4 of { happy_var_4 -> + happyIn14+ (DeclareVar happy_var_3 happy_var_4+ ) `HappyStk` happyRest}}++happyReduce_15 = happyReduce 7# 2# happyReduction_15+happyReduction_15 (happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> + case happyOutTok happy_x_4 of { (TSymbol happy_var_4) -> + case happyOutTok happy_x_5 of { (TSymbol happy_var_5) -> + case happyOutTok happy_x_6 of { (TSymbol happy_var_6) -> + happyIn14+ (InvConstraint happy_var_3 happy_var_4 happy_var_5 happy_var_6+ ) `HappyStk` happyRest}}}}++happyReduce_16 = happyReduce 6# 2# happyReduction_16+happyReduction_16 (happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut37 happy_x_4 of { happy_var_4 -> + case happyOutTok happy_x_5 of { (TLit (LitBool happy_var_5)) -> + happyIn14+ (SetFeature happy_var_4 happy_var_5+ ) `HappyStk` happyRest}}++happyReduce_17 = happyReduce 9# 2# happyReduction_17+happyReduction_17 (happy_x_9 `HappyStk`+ happy_x_8 `HappyStk`+ happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> + case happyOut31 happy_x_5 of { happy_var_5 -> + case happyOut22 happy_x_7 of { happy_var_7 -> + case happyOut48 happy_x_8 of { happy_var_8 -> + happyIn14+ (SynthFun happy_var_3 happy_var_5 happy_var_7 happy_var_8+ ) `HappyStk` happyRest}}}}++happyReduce_18 = happyReduce 8# 2# happyReduction_18+happyReduction_18 (happy_x_8 `HappyStk`+ happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> + case happyOut31 happy_x_5 of { happy_var_5 -> + case happyOut48 happy_x_7 of { happy_var_7 -> + happyIn14+ (SynthInv happy_var_3 happy_var_5 happy_var_7+ ) `HappyStk` happyRest}}}++happyReduce_19 = happySpecReduce_1 2# happyReduction_19+happyReduction_19 happy_x_1+ = case happyOut38 happy_x_1 of { happy_var_1 -> + happyIn14+ (SmtCmd happy_var_1+ )}++happyReduce_20 = happySpecReduce_1 3# happyReduction_20+happyReduction_20 happy_x_1+ = case happyOutTok happy_x_1 of { (TLit (LitNum happy_var_1)) -> + happyIn15+ (LitNum happy_var_1+ )}++happyReduce_21 = happySpecReduce_1 3# happyReduction_21+happyReduction_21 happy_x_1+ = case happyOutTok happy_x_1 of { (TLit (LitBool happy_var_1)) -> + happyIn15+ (LitBool happy_var_1+ )}++happyReduce_22 = happySpecReduce_1 3# happyReduction_22+happyReduction_22 happy_x_1+ = case happyOutTok happy_x_1 of { (TLit happy_var_1) -> + happyIn15+ (happy_var_1+ )}++happyReduce_23 = happySpecReduce_1 4# happyReduction_23+happyReduction_23 happy_x_1+ = case happyOutTok happy_x_1 of { (TSymbol happy_var_1) -> + happyIn16+ (ISymb happy_var_1+ )}++happyReduce_24 = happyReduce 5# 4# happyReduction_24+happyReduction_24 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> + case happyOut17 happy_x_4 of { happy_var_4 -> + happyIn16+ (Indexed happy_var_3 happy_var_4+ ) `HappyStk` happyRest}}++happyReduce_25 = happySpecReduce_1 5# happyReduction_25+happyReduction_25 happy_x_1+ = case happyOut18 happy_x_1 of { happy_var_1 -> + happyIn17+ (reverse happy_var_1+ )}++happyReduce_26 = happySpecReduce_2 6# happyReduction_26+happyReduction_26 happy_x_2+ happy_x_1+ = case happyOut18 happy_x_1 of { happy_var_1 -> + case happyOut19 happy_x_2 of { happy_var_2 -> + happyIn18+ (happy_var_2:happy_var_1+ )}}++happyReduce_27 = happySpecReduce_1 6# happyReduction_27+happyReduction_27 happy_x_1+ = case happyOut19 happy_x_1 of { happy_var_1 -> + happyIn18+ ([happy_var_1]+ )}++happyReduce_28 = happySpecReduce_1 7# happyReduction_28+happyReduction_28 happy_x_1+ = case happyOutTok happy_x_1 of { (TLit (LitNum happy_var_1)) -> + happyIn19+ (IndNumeral happy_var_1+ )}++happyReduce_29 = happySpecReduce_1 7# happyReduction_29+happyReduction_29 happy_x_1+ = case happyOutTok happy_x_1 of { (TSymbol happy_var_1) -> + happyIn19+ (IndSymb happy_var_1+ )}++happyReduce_30 = happySpecReduce_1 8# happyReduction_30+happyReduction_30 happy_x_1+ = case happyOut21 happy_x_1 of { happy_var_1 -> + happyIn20+ (reverse happy_var_1+ )}++happyReduce_31 = happySpecReduce_2 9# happyReduction_31+happyReduction_31 happy_x_2+ happy_x_1+ = case happyOut21 happy_x_1 of { happy_var_1 -> + case happyOut22 happy_x_2 of { happy_var_2 -> + happyIn21+ (happy_var_2:happy_var_1+ )}}++happyReduce_32 = happySpecReduce_1 9# happyReduction_32+happyReduction_32 happy_x_1+ = case happyOut22 happy_x_1 of { happy_var_1 -> + happyIn21+ ([happy_var_1]+ )}++happyReduce_33 = happySpecReduce_1 10# happyReduction_33+happyReduction_33 happy_x_1+ = case happyOut16 happy_x_1 of { happy_var_1 -> + happyIn22+ (IdentSort happy_var_1+ )}++happyReduce_34 = happyReduce 4# 10# happyReduction_34+happyReduction_34 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut16 happy_x_2 of { happy_var_2 -> + case happyOut20 happy_x_3 of { happy_var_3 -> + happyIn22+ (IdentSortSort happy_var_2 happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_35 = happySpecReduce_1 11# happyReduction_35+happyReduction_35 happy_x_1+ = case happyOut24 happy_x_1 of { happy_var_1 -> + happyIn23+ (reverse happy_var_1+ )}++happyReduce_36 = happySpecReduce_2 12# happyReduction_36+happyReduction_36 happy_x_2+ happy_x_1+ = case happyOut24 happy_x_1 of { happy_var_1 -> + case happyOut25 happy_x_2 of { happy_var_2 -> + happyIn24+ (happy_var_2:happy_var_1+ )}}++happyReduce_37 = happySpecReduce_1 12# happyReduction_37+happyReduction_37 happy_x_1+ = case happyOut25 happy_x_1 of { happy_var_1 -> + happyIn24+ ([happy_var_1]+ )}++happyReduce_38 = happySpecReduce_1 13# happyReduction_38+happyReduction_38 happy_x_1+ = case happyOut16 happy_x_1 of { happy_var_1 -> + happyIn25+ (TermIdent happy_var_1+ )}++happyReduce_39 = happySpecReduce_1 13# happyReduction_39+happyReduction_39 happy_x_1+ = case happyOut15 happy_x_1 of { happy_var_1 -> + happyIn25+ (TermLit happy_var_1+ )}++happyReduce_40 = happyReduce 4# 13# happyReduction_40+happyReduction_40 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut16 happy_x_2 of { happy_var_2 -> + case happyOut23 happy_x_3 of { happy_var_3 -> + happyIn25+ (TermCall happy_var_2 happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_41 = happyReduce 7# 13# happyReduction_41+happyReduction_41 (happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut29 happy_x_4 of { happy_var_4 -> + case happyOut25 happy_x_6 of { happy_var_6 -> + happyIn25+ (TermExists happy_var_4 happy_var_6+ ) `HappyStk` happyRest}}++happyReduce_42 = happyReduce 7# 13# happyReduction_42+happyReduction_42 (happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut29 happy_x_4 of { happy_var_4 -> + case happyOut25 happy_x_6 of { happy_var_6 -> + happyIn25+ (TermForAll happy_var_4 happy_var_6+ ) `HappyStk` happyRest}}++happyReduce_43 = happyReduce 7# 13# happyReduction_43+happyReduction_43 (happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut34 happy_x_4 of { happy_var_4 -> + case happyOut25 happy_x_6 of { happy_var_6 -> + happyIn25+ (TermLet happy_var_4 happy_var_6+ ) `HappyStk` happyRest}}++happyReduce_44 = happySpecReduce_1 14# happyReduction_44+happyReduction_44 happy_x_1+ = case happyOut27 happy_x_1 of { happy_var_1 -> + happyIn26+ (reverse happy_var_1+ )}++happyReduce_45 = happySpecReduce_2 15# happyReduction_45+happyReduction_45 happy_x_2+ happy_x_1+ = case happyOut27 happy_x_1 of { happy_var_1 -> + case happyOut28 happy_x_2 of { happy_var_2 -> + happyIn27+ (happy_var_2:happy_var_1+ )}}++happyReduce_46 = happySpecReduce_1 15# happyReduction_46+happyReduction_46 happy_x_1+ = case happyOut28 happy_x_1 of { happy_var_1 -> + happyIn27+ ([happy_var_1]+ )}++happyReduce_47 = happySpecReduce_1 16# happyReduction_47+happyReduction_47 happy_x_1+ = case happyOut16 happy_x_1 of { happy_var_1 -> + happyIn28+ (BfIdentifier happy_var_1+ )}++happyReduce_48 = happySpecReduce_1 16# happyReduction_48+happyReduction_48 happy_x_1+ = case happyOut15 happy_x_1 of { happy_var_1 -> + happyIn28+ (BfLiteral happy_var_1+ )}++happyReduce_49 = happyReduce 4# 16# happyReduction_49+happyReduction_49 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut16 happy_x_2 of { happy_var_2 -> + case happyOut26 happy_x_3 of { happy_var_3 -> + happyIn28+ (BfIdentifierBfs happy_var_2 happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_50 = happySpecReduce_1 17# happyReduction_50+happyReduction_50 happy_x_1+ = case happyOut30 happy_x_1 of { happy_var_1 -> + happyIn29+ (reverse happy_var_1+ )}++happyReduce_51 = happySpecReduce_2 18# happyReduction_51+happyReduction_51 happy_x_2+ happy_x_1+ = case happyOut30 happy_x_1 of { happy_var_1 -> + case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn30+ (happy_var_2:happy_var_1+ )}}++happyReduce_52 = happySpecReduce_1 18# happyReduction_52+happyReduction_52 happy_x_1+ = case happyOut33 happy_x_1 of { happy_var_1 -> + happyIn30+ ([happy_var_1]+ )}++happyReduce_53 = happySpecReduce_1 19# happyReduction_53+happyReduction_53 happy_x_1+ = case happyOut32 happy_x_1 of { happy_var_1 -> + happyIn31+ (reverse happy_var_1+ )}++happyReduce_54 = happySpecReduce_2 20# happyReduction_54+happyReduction_54 happy_x_2+ happy_x_1+ = case happyOut32 happy_x_1 of { happy_var_1 -> + case happyOut33 happy_x_2 of { happy_var_2 -> + happyIn32+ (happy_var_2:happy_var_1+ )}}++happyReduce_55 = happySpecReduce_0 20# happyReduction_55+happyReduction_55 = happyIn32+ ([]+ )++happyReduce_56 = happyReduce 4# 21# happyReduction_56+happyReduction_56 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_2 of { (TSymbol happy_var_2) -> + case happyOut22 happy_x_3 of { happy_var_3 -> + happyIn33+ (SortedVar happy_var_2 happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_57 = happySpecReduce_1 22# happyReduction_57+happyReduction_57 happy_x_1+ = case happyOut35 happy_x_1 of { happy_var_1 -> + happyIn34+ (reverse happy_var_1+ )}++happyReduce_58 = happySpecReduce_2 23# happyReduction_58+happyReduction_58 happy_x_2+ happy_x_1+ = case happyOut35 happy_x_1 of { happy_var_1 -> + case happyOut36 happy_x_2 of { happy_var_2 -> + happyIn35+ (happy_var_2:happy_var_1+ )}}++happyReduce_59 = happySpecReduce_1 23# happyReduction_59+happyReduction_59 happy_x_1+ = case happyOut36 happy_x_1 of { happy_var_1 -> + happyIn35+ ([happy_var_1]+ )}++happyReduce_60 = happyReduce 4# 24# happyReduction_60+happyReduction_60 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_2 of { (TSymbol happy_var_2) -> + case happyOut25 happy_x_3 of { happy_var_3 -> + happyIn36+ (VarBinding happy_var_2 happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_61 = happySpecReduce_1 25# happyReduction_61+happyReduction_61 happy_x_1+ = happyIn37+ (Grammars+ )++happyReduce_62 = happySpecReduce_1 25# happyReduction_62+happyReduction_62 happy_x_1+ = happyIn37+ (FwdDecls+ )++happyReduce_63 = happySpecReduce_1 25# happyReduction_63+happyReduction_63 happy_x_1+ = happyIn37+ (Recursion+ )++happyReduce_64 = happyReduce 5# 26# happyReduction_64+happyReduction_64 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> + case happyOut44 happy_x_4 of { happy_var_4 -> + happyIn38+ (DeclareDatatype happy_var_3 happy_var_4+ ) `HappyStk` happyRest}}++happyReduce_65 = happyReduce 9# 26# happyReduction_65+happyReduction_65 (happy_x_9 `HappyStk`+ happy_x_8 `HappyStk`+ happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut39 happy_x_4 of { happy_var_4 -> + case happyOut42 happy_x_7 of { happy_var_7 -> + happyIn38+ (DeclareDatatypes happy_var_4 happy_var_7+ ) `HappyStk` happyRest}}++happyReduce_66 = happyReduce 5# 26# happyReduction_66+happyReduction_66 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> + case happyOutTok happy_x_4 of { (TLit (LitNum happy_var_4)) -> + happyIn38+ (DeclareSort happy_var_3 happy_var_4+ ) `HappyStk` happyRest}}++happyReduce_67 = happyReduce 9# 26# happyReduction_67+happyReduction_67 (happy_x_9 `HappyStk`+ happy_x_8 `HappyStk`+ happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> + case happyOut31 happy_x_5 of { happy_var_5 -> + case happyOut22 happy_x_7 of { happy_var_7 -> + case happyOut25 happy_x_8 of { happy_var_8 -> + happyIn38+ (DefineFun happy_var_3 happy_var_5 happy_var_7 happy_var_8+ ) `HappyStk` happyRest}}}}++happyReduce_68 = happyReduce 5# 26# happyReduction_68+happyReduction_68 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> + case happyOut22 happy_x_4 of { happy_var_4 -> + happyIn38+ (DefineSort happy_var_3 happy_var_4+ ) `HappyStk` happyRest}}++happyReduce_69 = happyReduce 4# 26# happyReduction_69+happyReduction_69 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_3 of { (TSymbol happy_var_3) -> + happyIn38+ (SetLogic happy_var_3+ ) `HappyStk` happyRest}++happyReduce_70 = happyReduce 6# 26# happyReduction_70+happyReduction_70 (happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_4 of { (TSymbol happy_var_4) -> + case happyOut15 happy_x_5 of { happy_var_5 -> + happyIn38+ (SetOption happy_var_4 happy_var_5+ ) `HappyStk` happyRest}}++happyReduce_71 = happySpecReduce_1 27# happyReduction_71+happyReduction_71 happy_x_1+ = case happyOut40 happy_x_1 of { happy_var_1 -> + happyIn39+ (reverse happy_var_1+ )}++happyReduce_72 = happySpecReduce_2 28# happyReduction_72+happyReduction_72 happy_x_2+ happy_x_1+ = case happyOut40 happy_x_1 of { happy_var_1 -> + case happyOut41 happy_x_2 of { happy_var_2 -> + happyIn40+ (happy_var_2:happy_var_1+ )}}++happyReduce_73 = happySpecReduce_1 28# happyReduction_73+happyReduction_73 happy_x_1+ = case happyOut41 happy_x_1 of { happy_var_1 -> + happyIn40+ ([happy_var_1]+ )}++happyReduce_74 = happyReduce 4# 29# happyReduction_74+happyReduction_74 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_2 of { (TSymbol happy_var_2) -> + case happyOutTok happy_x_3 of { (TLit (LitNum happy_var_3)) -> + happyIn41+ (SortDecl happy_var_2 happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_75 = happySpecReduce_1 30# happyReduction_75+happyReduction_75 happy_x_1+ = case happyOut43 happy_x_1 of { happy_var_1 -> + happyIn42+ (reverse happy_var_1+ )}++happyReduce_76 = happySpecReduce_2 31# happyReduction_76+happyReduction_76 happy_x_2+ happy_x_1+ = case happyOut43 happy_x_1 of { happy_var_1 -> + case happyOut44 happy_x_2 of { happy_var_2 -> + happyIn43+ (happy_var_2:happy_var_1+ )}}++happyReduce_77 = happySpecReduce_1 31# happyReduction_77+happyReduction_77 happy_x_1+ = case happyOut44 happy_x_1 of { happy_var_1 -> + happyIn43+ ([happy_var_1]+ )}++happyReduce_78 = happySpecReduce_3 32# happyReduction_78+happyReduction_78 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut45 happy_x_2 of { happy_var_2 -> + happyIn44+ (DTDec happy_var_2+ )}++happyReduce_79 = happySpecReduce_1 33# happyReduction_79+happyReduction_79 happy_x_1+ = case happyOut46 happy_x_1 of { happy_var_1 -> + happyIn45+ (reverse happy_var_1+ )}++happyReduce_80 = happySpecReduce_2 34# happyReduction_80+happyReduction_80 happy_x_2+ happy_x_1+ = case happyOut46 happy_x_1 of { happy_var_1 -> + case happyOut47 happy_x_2 of { happy_var_2 -> + happyIn46+ (happy_var_2:happy_var_1+ )}}++happyReduce_81 = happySpecReduce_1 34# happyReduction_81+happyReduction_81 happy_x_1+ = case happyOut47 happy_x_1 of { happy_var_1 -> + happyIn46+ ([happy_var_1]+ )}++happyReduce_82 = happyReduce 4# 35# happyReduction_82+happyReduction_82 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_2 of { (TSymbol happy_var_2) -> + case happyOut31 happy_x_3 of { happy_var_3 -> + happyIn47+ (DTConsDec happy_var_2 happy_var_3+ ) `HappyStk` happyRest}}++happyReduce_83 = happySpecReduce_1 36# happyReduction_83+happyReduction_83 happy_x_1+ = case happyOut49 happy_x_1 of { happy_var_1 -> + happyIn48+ (Just happy_var_1+ )}++happyReduce_84 = happySpecReduce_0 36# happyReduction_84+happyReduction_84 = happyIn48+ (Nothing+ )++happyReduce_85 = happyReduce 6# 37# happyReduction_85+happyReduction_85 (happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut29 happy_x_2 of { happy_var_2 -> + case happyOut50 happy_x_5 of { happy_var_5 -> + happyIn49+ (GrammarDef happy_var_2 happy_var_5+ ) `HappyStk` happyRest}}++happyReduce_86 = happySpecReduce_1 38# happyReduction_86+happyReduction_86 happy_x_1+ = case happyOut51 happy_x_1 of { happy_var_1 -> + happyIn50+ (reverse happy_var_1+ )}++happyReduce_87 = happySpecReduce_2 39# happyReduction_87+happyReduction_87 happy_x_2+ happy_x_1+ = case happyOut51 happy_x_1 of { happy_var_1 -> + case happyOut52 happy_x_2 of { happy_var_2 -> + happyIn51+ (happy_var_2:happy_var_1+ )}}++happyReduce_88 = happySpecReduce_1 39# happyReduction_88+happyReduction_88 happy_x_1+ = case happyOut52 happy_x_1 of { happy_var_1 -> + happyIn51+ ([happy_var_1]+ )}++happyReduce_89 = happyReduce 7# 40# happyReduction_89+happyReduction_89 (happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_2 of { (TSymbol happy_var_2) -> + case happyOut22 happy_x_3 of { happy_var_3 -> + case happyOut53 happy_x_5 of { happy_var_5 -> + happyIn52+ (GroupedRuleList happy_var_2 happy_var_3 happy_var_5+ ) `HappyStk` happyRest}}}++happyReduce_90 = happySpecReduce_1 41# happyReduction_90+happyReduction_90 happy_x_1+ = case happyOut54 happy_x_1 of { happy_var_1 -> + happyIn53+ (reverse happy_var_1+ )}++happyReduce_91 = happySpecReduce_2 42# happyReduction_91+happyReduction_91 happy_x_2+ happy_x_1+ = case happyOut54 happy_x_1 of { happy_var_1 -> + case happyOut55 happy_x_2 of { happy_var_2 -> + happyIn54+ (happy_var_2:happy_var_1+ )}}++happyReduce_92 = happySpecReduce_1 42# happyReduction_92+happyReduction_92 happy_x_1+ = case happyOut55 happy_x_1 of { happy_var_1 -> + happyIn54+ ([happy_var_1]+ )}++happyReduce_93 = happyReduce 4# 43# happyReduction_93+happyReduction_93 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut22 happy_x_3 of { happy_var_3 -> + happyIn55+ (GConstant happy_var_3+ ) `HappyStk` happyRest}++happyReduce_94 = happyReduce 4# 43# happyReduction_94+happyReduction_94 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut22 happy_x_3 of { happy_var_3 -> + happyIn55+ (GVariable happy_var_3+ ) `HappyStk` happyRest}++happyReduce_95 = happySpecReduce_1 43# happyReduction_95+happyReduction_95 happy_x_1+ = case happyOut28 happy_x_1 of { happy_var_1 -> + happyIn55+ (GBfTerm happy_var_1+ )}++happyNewToken action sts stk [] =+ happyDoAction 31# notHappyAtAll action sts stk []++happyNewToken action sts stk (tk:tks) =+ let cont i = happyDoAction i tk action sts stk tks in+ case tk of {+ TLit (LitNum happy_dollar_dollar) -> cont 1#;+ TLit (LitBool happy_dollar_dollar) -> cont 2#;+ TLit happy_dollar_dollar -> cont 3#;+ TUnderscore -> cont 4#;+ TOpenBracket -> cont 5#;+ TCloseBracket -> cont 6#;+ TColon -> cont 7#;+ TSymbol "exists" -> cont 8#;+ TSymbol "forall" -> cont 9#;+ TSymbol "let" -> cont 10#;+ TSymbol "grammars" -> cont 11#;+ TSymbol "fwd-decls" -> cont 12#;+ TSymbol "recursion" -> cont 13#;+ TSymbol "check-synth" -> cont 14#;+ TSymbol "constraint" -> cont 15#;+ TSymbol "declare-var" -> cont 16#;+ TSymbol "inv-constraint" -> cont 17#;+ TSymbol "set-feature" -> cont 18#;+ TSymbol "synth-fun" -> cont 19#;+ TSymbol "synth-inv" -> cont 20#;+ TSymbol "declare-datatype" -> cont 21#;+ TSymbol "declare-datatypes" -> cont 22#;+ TSymbol "declare-sort" -> cont 23#;+ TSymbol "define-fun" -> cont 24#;+ TSymbol "define-sort" -> cont 25#;+ TSymbol "set-logic" -> cont 26#;+ TSymbol "set-option" -> cont 27#;+ TSymbol "Constant" -> cont 28#;+ TSymbol "Variable" -> cont 29#;+ TSymbol happy_dollar_dollar -> cont 30#;+ _ -> happyError' ((tk:tks), [])+ }++happyError_ explist 31# tk tks = happyError' (tks, explist)+happyError_ explist _ tk tks = happyError' ((tk:tks), explist)++newtype HappyIdentity a = HappyIdentity a+happyIdentity = HappyIdentity+happyRunIdentity (HappyIdentity a) = a++instance Functor HappyIdentity where+ fmap f (HappyIdentity a) = HappyIdentity (f a)++instance Applicative HappyIdentity where+ pure = HappyIdentity+ (<*>) = ap+instance Monad HappyIdentity where+ return = pure+ (HappyIdentity p) >>= q = q p++happyThen :: () => HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b+happyThen = (>>=)+happyReturn :: () => a -> HappyIdentity a+happyReturn = (return)+happyThen1 m k tks = (>>=) m (\a -> k a tks)+happyReturn1 :: () => a -> b -> HappyIdentity a+happyReturn1 = \a tks -> (return) a+happyError' :: () => ([(Token)], [String]) -> HappyIdentity a+happyError' = HappyIdentity . (\(tokens, _) -> parseError tokens)+parse tks = happyRunIdentity happySomeParser where+ happySomeParser = happyThen (happyParse 0# tks) (\x -> happyReturn (happyOut12 x))++parseCmd tks = happyRunIdentity happySomeParser where+ happySomeParser = happyThen (happyParse 1# tks) (\x -> happyReturn (happyOut14 x))++parseIndex tks = happyRunIdentity happySomeParser where+ happySomeParser = happyThen (happyParse 2# tks) (\x -> happyReturn (happyOut19 x))++parseBfTerm tks = happyRunIdentity happySomeParser where+ happySomeParser = happyThen (happyParse 3# tks) (\x -> happyReturn (happyOut28 x))++parseSortedVars tks = happyRunIdentity happySomeParser where+ happySomeParser = happyThen (happyParse 4# tks) (\x -> happyReturn (happyOut31 x))++parseSortedVars1 tks = happyRunIdentity happySomeParser where+ happySomeParser = happyThen (happyParse 5# tks) (\x -> happyReturn (happyOut29 x))++parseSort tks = happyRunIdentity happySomeParser where+ happySomeParser = happyThen (happyParse 6# tks) (\x -> happyReturn (happyOut22 x))++parseMaybeGrammarDef tks = happyRunIdentity happySomeParser where+ happySomeParser = happyThen (happyParse 7# tks) (\x -> happyReturn (happyOut48 x))++parseGroupedRuleLists1 tks = happyRunIdentity happySomeParser where+ happySomeParser = happyThen (happyParse 8# tks) (\x -> happyReturn (happyOut50 x)) happySeq = happyDontSeq
language-sygus.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: language-sygus-version: 0.1.1.1+version: 0.1.1.2 synopsis: A parser and printer for the SyGuS 2.0 language. description: A parser and printer for the SyGuS 2.0 language. <https://sygus.org/assets/pdf/SyGuS-IF_2.0.pdf> license: BSD3@@ -28,6 +28,7 @@ -- other-extensions: build-depends: array >= 0.3 && < 0.6 , base >=4.10 && < 4.13+ , hashable >= 1.2.6.0 && <= 1.3.0.0 , text >= 1.1 && < 1.4 hs-source-dirs: src default-language: Haskell2010
src/Sygus/LexSygus.x view
@@ -15,7 +15,7 @@ tokens:- $white+ ;- $digit+'.'$digit { TLit . LitDec }+ $digit+'.'$digit { TLit. parseDec } $digit+ { TLit . LitNum . read } true { TLit . const (LitBool True) } false { TLit . const (LitBool False) }@@ -50,5 +50,12 @@ elimOpenCloseQuote' ('"':[]) = [] elimOpenCloseQuote' (x:xs) = x:elimOpenCloseQuote' xs elimOpenCloseQuote' [] = error "elimOpenCloseQuote': Bad string"++parseDec :: String -> Lit+parseDec s =+ let+ (n, _:d) = break (== '.') s+ in+ LitDec (read n) (read d) }
src/Sygus/ParseSygus.y view
@@ -1,12 +1,29 @@ { module Sygus.ParseSygus ( module Sygus.Syntax - , parse ) where+ , parse+ , parseCmd+ , parseIndex+ , parseBfTerm+ , parseSortedVars+ , parseSortedVars1+ , parseSort+ , parseMaybeGrammarDef+ , parseGroupedRuleLists1 ) where import Sygus.LexSygus import Sygus.Syntax } -%name parse+%name parse sygus+%name parseCmd cmd+%name parseIndex index+%name parseBfTerm bfterm+%name parseSortedVars sorted_vars+%name parseSortedVars1 sorted_vars1+%name parseSort sort+%name parseMaybeGrammarDef maybe_grammar_def+%name parseGroupedRuleLists1 grouped_rule_lists1+ %tokentype { Token } %error { parseError } @@ -225,8 +242,8 @@ | gterm { [$1] } gterm :: { GTerm }- : constant sort { GConstant $2 }- | variable sort { GVariable $2 }+ : '(' constant sort ')' { GConstant $3 }+ | '(' variable sort ')' { GVariable $3 } | bfterm { GBfTerm $1 } {
src/Sygus/Print.hs view
@@ -16,7 +16,7 @@ printSygus (LitNum i) | i >= 0 = pack $ show i | otherwise = pack $ "(- " ++ show (abs i) ++ ")"- printSygus (LitDec s) = pack s+ printSygus (LitDec n d) = pack (show n ++ "." ++ show d) printSygus (LitBool b) = printSygus b printSygus (Hexidecimal s) = pack s printSygus (Binary s) = pack s
src/Sygus/Syntax.hs view
@@ -1,12 +1,19 @@+{-# LANGUAGE DeriveGeneric #-}+ module Sygus.Syntax where +import Data.Hashable+import GHC.Generics (Generic)+ data Lit = LitNum Integer - | LitDec String+ | LitDec Integer Integer | LitBool Bool | Hexidecimal String | Binary String- | LitStr String deriving (Eq, Show, Read)+ | LitStr String deriving (Eq, Show, Read, Generic) +instance Hashable Lit+ type Symbol = String data Cmd = CheckSynth@@ -17,42 +24,60 @@ | SynthFun Symbol [SortedVar] Sort (Maybe GrammarDef) | SynthInv Symbol [SortedVar] (Maybe GrammarDef) | SmtCmd SmtCmd- deriving (Eq, Show, Read)+ deriving (Eq, Show, Read, Generic) +instance Hashable Cmd+ data Identifier = ISymb Symbol | Indexed Symbol [Index]- deriving (Eq, Show, Read)+ deriving (Eq, Show, Read, Generic) +instance Hashable Identifier+ data Index = IndNumeral Integer | IndSymb Symbol- deriving (Eq, Show, Read)+ deriving (Eq, Show, Read, Generic) +instance Hashable Index+ data Sort = IdentSort Identifier | IdentSortSort Identifier [Sort]- deriving (Eq, Show, Read)+ deriving (Eq, Show, Read, Generic) +instance Hashable Sort+ data Term = TermIdent Identifier | TermLit Lit | TermCall Identifier [Term] | TermExists [SortedVar] Term | TermForAll [SortedVar] Term | TermLet [VarBinding] Term- deriving (Eq, Show, Read)+ deriving (Eq, Show, Read, Generic) +instance Hashable Term+ data BfTerm = BfIdentifier Identifier | BfLiteral Lit | BfIdentifierBfs Identifier [BfTerm]- deriving (Eq, Show, Read)+ deriving (Eq, Show, Read, Generic) -data SortedVar = SortedVar Symbol Sort deriving (Eq, Show, Read)+instance Hashable BfTerm -data VarBinding = VarBinding Symbol Term deriving (Eq, Show, Read)+data SortedVar = SortedVar Symbol Sort deriving (Eq, Show, Read, Generic) +instance Hashable SortedVar++data VarBinding = VarBinding Symbol Term deriving (Eq, Show, Read, Generic)++instance Hashable VarBinding+ data Feature = Grammars | FwdDecls | Recursion- deriving (Eq, Show, Read)+ deriving (Eq, Show, Read, Generic) +instance Hashable Feature+ data SmtCmd = DeclareDatatype Symbol DTDec | DeclareDatatypes [SortDecl] [DTDec] | DeclareSort Symbol Integer@@ -60,19 +85,33 @@ | DefineSort Symbol Sort | SetLogic Symbol | SetOption Symbol Lit- deriving (Eq, Show, Read)+ deriving (Eq, Show, Read, Generic) -data SortDecl = SortDecl Symbol Integer deriving (Eq, Show, Read)+instance Hashable SmtCmd -data DTDec = DTDec [DTConsDec] deriving (Eq, Show, Read)+data SortDecl = SortDecl Symbol Integer deriving (Eq, Show, Read, Generic) -data DTConsDec = DTConsDec Symbol [SortedVar] deriving (Eq, Show, Read)+instance Hashable SortDecl -data GrammarDef = GrammarDef [SortedVar] [GroupedRuleList] deriving (Eq, Show, Read)+data DTDec = DTDec [DTConsDec] deriving (Eq, Show, Read, Generic) -data GroupedRuleList = GroupedRuleList Symbol Sort [GTerm] deriving (Eq, Show, Read)+instance Hashable DTDec +data DTConsDec = DTConsDec Symbol [SortedVar] deriving (Eq, Show, Read, Generic)++instance Hashable DTConsDec++data GrammarDef = GrammarDef [SortedVar] [GroupedRuleList] deriving (Eq, Show, Read, Generic)++instance Hashable GrammarDef++data GroupedRuleList = GroupedRuleList Symbol Sort [GTerm] deriving (Eq, Show, Read, Generic)++instance Hashable GroupedRuleList+ data GTerm = GConstant Sort | GVariable Sort | GBfTerm BfTerm- deriving (Eq, Show, Read)+ deriving (Eq, Show, Read, Generic)++instance Hashable GTerm
tests/Test.hs view
@@ -35,7 +35,9 @@ , "tests/sygus/example3.sl" , "tests/sygus/example4.sl" , "tests/sygus/example5.sl"- , "tests/sygus/example6.sl" ]+ , "tests/sygus/example6.sl"+ , "tests/sygus/example7.sl"+ , "tests/sygus/example8.sl" ] checkParses :: FilePath -> IO TestTree checkParses fp = do