==================== FINAL INTERFACE ==================== 2017-05-02 18:36:58.955305 UTC interface liquid-fixpoint-0.6.0.1-6TLfofWrTFvFP1QJmA2Rhf:Language.Fixpoint.SortCheck 8002 interface hash: 9c5ad7e9c837b4893984977c57a2c242 ABI hash: c9a1a2a1ffe81fd310d7086dfdf22f97 export-list hash: a9abe77527737e86ba7b120d738eae9d orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e flag hash: 1ab6fe60d864f28d555861b61d9ed909 sig of: Nothing used TH splices: False where exports: Language.Fixpoint.SortCheck.apply Language.Fixpoint.SortCheck.checkSortExpr Language.Fixpoint.SortCheck.checkSortFull Language.Fixpoint.SortCheck.checkSorted Language.Fixpoint.SortCheck.checkSortedReft Language.Fixpoint.SortCheck.checkSortedReftFull Language.Fixpoint.SortCheck.exprSort Language.Fixpoint.SortCheck.isMono Language.Fixpoint.SortCheck.pruneUnsortedReft Language.Fixpoint.SortCheck.sortExpr Language.Fixpoint.SortCheck.unifyFast Language.Fixpoint.SortCheck.unifySorts Language.Fixpoint.Types.Sorts.boolSort Language.Fixpoint.Types.Sorts.isFirstOrder Language.Fixpoint.Types.Sorts.strSort Language.Fixpoint.SortCheck.Elaborate{Language.Fixpoint.SortCheck.elaborate} Language.Fixpoint.SortCheck.Env Language.Fixpoint.SortCheck.TVSubst module dependencies: Language.Fixpoint.Misc Language.Fixpoint.Smt.Theories Language.Fixpoint.Smt.Types Language.Fixpoint.Types Language.Fixpoint.Types.Config Language.Fixpoint.Types.Constraints Language.Fixpoint.Types.Environments Language.Fixpoint.Types.Errors Language.Fixpoint.Types.Names Language.Fixpoint.Types.PrettyPrint Language.Fixpoint.Types.Refinements Language.Fixpoint.Types.Sorts Language.Fixpoint.Types.Spans Language.Fixpoint.Types.Substitutions Language.Fixpoint.Types.Triggers Language.Fixpoint.Types.Utils Language.Fixpoint.Types.Visitor Language.Fixpoint.Utils.Files package dependencies: ansi-terminal-0.6.2.3@ansi-terminal-0.6.2.3-4HPxin1iv6RAndS8lH3nzo array-0.5.1.1@array-0.5.1.1 async-2.1.1@async-2.1.1-4n6HEMPJR2eJK0JpvCfuPK base-4.9.1.0 binary-0.8.3.0@binary-0.8.3.0 boxes-0.1.4@boxes-0.1.4-6YjYnmNJvyiGUQgGc0o5m bytestring-0.10.8.1@bytestring-0.10.8.1 cereal-0.5.4.0@cereal-0.5.4.0-BsAGxfp8yAs3CiRo2E875e cmdargs-0.10.17@cmdargs-0.10.17-IWa8ygdJhnJBShkQXN8V9I containers-0.5.7.1@containers-0.5.7.1 deepseq-1.4.2.0@deepseq-1.4.2.0 directory-1.3.0.0@directory-1.3.0.0 double-conversion-2.0.2.0@double-conversion-2.0.2.0-FB9lbzCS3eNEibeP1aq5Xr filepath-1.4.1.1@filepath-1.4.1.1 ghc-prim-0.5.0.0 hashable-1.2.6.0@hashable-1.2.6.0-3EXxoqeEgbfAKr6aGkye6x integer-gmp-1.0.0.1 intern-0.9.1.4@intern-0.9.1.4-L6DPHi71I8uFQt9sdHfbWx located-base-0.1.1.0@located-base-0.1.1.0-HUdCVrbsrYd4xCcb0zuvg3 mtl-2.2.1@mtl-2.2.1-BLKBelFsPB3BoFeSWSOYj6 parsec-3.1.11@parsec-3.1.11-113irVHGgd88sRnywByDNw pretty-1.1.3.3@pretty-1.1.3.3 process-1.4.3.0@process-1.4.3.0 split-0.2.3.1@split-0.2.3.1-FWyXC6nhV0H3AfM8IzrEFk stm-2.4.4.1@stm-2.4.4.1-JQn4hNPyYjP5m9AcbI88Ve syb-0.6@syb-0.6-IcoSwlPi2Nx4zSqMmorFPS text-1.2.2.1@text-1.2.2.1-Ji7hMs2U4BkBwavd4taEVR text-format-0.3.1.1@text-format-0.3.1.1-IdImYtolSdoC3n5Y2CJ8aG time-1.6.0.1@time-1.6.0.1 transformers-0.5.2.0@transformers-0.5.2.0 unix-2.7.2.1@unix-2.7.2.1 unordered-containers-0.2.8.0@unordered-containers-0.2.8.0-1XEErQCPPPc2SEtcHHNx9o orphans: base-4.9.1.0:GHC.Base base-4.9.1.0:GHC.Float binary-0.8.3.0@binary-0.8.3.0:Data.Binary.Generic bytestring-0.10.8.1@bytestring-0.10.8.1:Data.ByteString.Builder cmdargs-0.10.17@cmdargs-0.10.17-IWa8ygdJhnJBShkQXN8V9I:System.Console.CmdArgs.Explicit.Help hashable-1.2.6.0@hashable-1.2.6.0-3EXxoqeEgbfAKr6aGkye6x:Data.Hashable.Generic liquid-fixpoint-0.6.0.1-6TLfofWrTFvFP1QJmA2Rhf:Language.Fixpoint.Types.Constraints liquid-fixpoint-0.6.0.1-6TLfofWrTFvFP1QJmA2Rhf:Language.Fixpoint.Types.Environments liquid-fixpoint-0.6.0.1-6TLfofWrTFvFP1QJmA2Rhf:Language.Fixpoint.Types.Errors liquid-fixpoint-0.6.0.1-6TLfofWrTFvFP1QJmA2Rhf:Language.Fixpoint.Types.Names liquid-fixpoint-0.6.0.1-6TLfofWrTFvFP1QJmA2Rhf:Language.Fixpoint.Types.Refinements liquid-fixpoint-0.6.0.1-6TLfofWrTFvFP1QJmA2Rhf:Language.Fixpoint.Types.Spans liquid-fixpoint-0.6.0.1-6TLfofWrTFvFP1QJmA2Rhf:Language.Fixpoint.Types.Substitutions stm-2.4.4.1@stm-2.4.4.1-JQn4hNPyYjP5m9AcbI88Ve:Control.Monad.STM syb-0.6@syb-0.6-IcoSwlPi2Nx4zSqMmorFPS:Data.Generics.Instances text-1.2.2.1@text-1.2.2.1-Ji7hMs2U4BkBwavd4taEVR:Data.Text text-1.2.2.1@text-1.2.2.1-Ji7hMs2U4BkBwavd4taEVR:Data.Text.Lazy text-1.2.2.1@text-1.2.2.1-Ji7hMs2U4BkBwavd4taEVR:Data.Text.Show time-1.6.0.1@time-1.6.0.1:Data.Time.Calendar.Gregorian time-1.6.0.1@time-1.6.0.1:Data.Time.Format.Parse time-1.6.0.1@time-1.6.0.1:Data.Time.LocalTime.LocalTime transformers-0.5.2.0@transformers-0.5.2.0:Control.Monad.Trans.Error family instance modules: base-4.9.1.0:Control.Applicative base-4.9.1.0:Data.Complex base-4.9.1.0:Data.Either base-4.9.1.0:Data.Functor.Compose base-4.9.1.0:Data.Functor.Const base-4.9.1.0:Data.Functor.Identity base-4.9.1.0:Data.Functor.Product base-4.9.1.0:Data.Functor.Sum base-4.9.1.0:Data.List.NonEmpty base-4.9.1.0:Data.Monoid base-4.9.1.0:Data.Semigroup base-4.9.1.0:Data.Type.Equality base-4.9.1.0:Data.Version base-4.9.1.0:Data.Void base-4.9.1.0:GHC.Exts base-4.9.1.0:GHC.Generics base-4.9.1.0:GHC.IO.Exception base-4.9.1.0:GHC.TypeLits containers-0.5.7.1@containers-0.5.7.1:Data.IntMap.Base containers-0.5.7.1@containers-0.5.7.1:Data.IntSet.Base containers-0.5.7.1@containers-0.5.7.1:Data.Map.Base containers-0.5.7.1@containers-0.5.7.1:Data.Sequence containers-0.5.7.1@containers-0.5.7.1:Data.Set.Base intern-0.9.1.4@intern-0.9.1.4-L6DPHi71I8uFQt9sdHfbWx:Data.Interned.Internal.Text liquid-fixpoint-0.6.0.1-6TLfofWrTFvFP1QJmA2Rhf:Language.Fixpoint.Types.Config liquid-fixpoint-0.6.0.1-6TLfofWrTFvFP1QJmA2Rhf:Language.Fixpoint.Types.Constraints liquid-fixpoint-0.6.0.1-6TLfofWrTFvFP1QJmA2Rhf:Language.Fixpoint.Types.Environments liquid-fixpoint-0.6.0.1-6TLfofWrTFvFP1QJmA2Rhf:Language.Fixpoint.Types.Errors liquid-fixpoint-0.6.0.1-6TLfofWrTFvFP1QJmA2Rhf:Language.Fixpoint.Types.Names liquid-fixpoint-0.6.0.1-6TLfofWrTFvFP1QJmA2Rhf:Language.Fixpoint.Types.Refinements liquid-fixpoint-0.6.0.1-6TLfofWrTFvFP1QJmA2Rhf:Language.Fixpoint.Types.Sorts liquid-fixpoint-0.6.0.1-6TLfofWrTFvFP1QJmA2Rhf:Language.Fixpoint.Types.Spans liquid-fixpoint-0.6.0.1-6TLfofWrTFvFP1QJmA2Rhf:Language.Fixpoint.Types.Triggers pretty-1.1.3.3@pretty-1.1.3.3:Text.PrettyPrint.Annotated.HughesPJ pretty-1.1.3.3@pretty-1.1.3.3:Text.PrettyPrint.HughesPJ text-1.2.2.1@text-1.2.2.1-Ji7hMs2U4BkBwavd4taEVR:Data.Text text-1.2.2.1@text-1.2.2.1-Ji7hMs2U4BkBwavd4taEVR:Data.Text.Lazy unordered-containers-0.2.8.0@unordered-containers-0.2.8.0-1XEErQCPPPc2SEtcHHNx9o:Data.HashMap.Base unordered-containers-0.2.8.0@unordered-containers-0.2.8.0-1XEErQCPPPc2SEtcHHNx9o:Data.HashSet import -/ base-4.9.1.0:Control.Monad a6784c5dab0d75c63dabec5a37843f98 import -/ base-4.9.1.0:Data.Either 20b09ef8d0a5b74fdec011c40c1587f5 import -/ base-4.9.1.0:Data.Foldable 3e0b6967a1da89945d0e2d47266337a2 import -/ base-4.9.1.0:Data.Functor 5ab1dc703df5b482e77efb697833ca3c import -/ base-4.9.1.0:Data.List 07ae2acca6538aa0800bd0a993ac6ac1 import -/ base-4.9.1.0:Data.Maybe d876c4ffe4b3c43755a781e8ad860d88 import -/ base-4.9.1.0:Data.OldList 27987919d8da2f92e3f472ca81f730f8 import -/ base-4.9.1.0:Data.Traversable 556020d7cf3c4a34a774600512918a37 import -/ base-4.9.1.0:Data.Tuple 7dc4bbb45d2e69c991ffac438beeca11 import -/ base-4.9.1.0:GHC.Base c4231c43c07e46080a26bf94094c7aa1 import -/ base-4.9.1.0:GHC.Err 3bba35a16538d33d424682ce66876cdd import -/ base-4.9.1.0:GHC.List ab8c4e523e6c479c549d3bcd5fc4a439 import -/ base-4.9.1.0:GHC.Num 00bfaa7b2f9d6084913c0697a8a49ec8 import -/ base-4.9.1.0:GHC.Show a027f5ac24879eaba752f44aa90fe511 import -/ base-4.9.1.0:Prelude 22dd289b8469a8fa8dc81cab7b237771 import -/ base-4.9.1.0:Text.Printf 6701574960cd2af960fec5d940be0c25 import -/ ghc-prim-0.5.0.0:GHC.Classes 0bdf3d057a415ec1b84a7b1994efbe47 import -/ Language.Fixpoint.Misc 268edc2be2657e56d9ac2e0e5f861c66 exports: 0d4209a369f77ae55113ca41b56281c2 applyNonNull 303cbe5541e25fbd8cd11b7c15ff6310 errorstar e13c48ac8d5f72547a0d41e4f1437551 mapFst 54294e0357ea881c18115f64503fab09 import -/ Language.Fixpoint.Smt.Theories 7338304cade2229c481eb3a53a263a4e exports: 97d4c588471a0a34e2bb2d91dfd92151 isConName ae0ba56f196baf94f74e49f311287460 isSmt2App 8f241bb6f341d4ce5cbd5096d30cb390 sizeBv d2273f8f13b633aa6f138342cce43afa theorySEnv 4f5f43c60510bc359a6de8317e6d6440 toInt 401d5dfabf5419bc774ce2c83dfda7bb import -/ Language.Fixpoint.Types 09d1039f1e0058408506d58eee0982ca exports: 91181ff2c29316a0420a9031c7b2d4bd import -/ Language.Fixpoint.Types.Constraints dc475bd125456ae511f39eb7bfb576f7 SInfo 1052549cc559e08aaa78c218edda206c SimpC 422c859b64e365b196f8fd06ad8cb7f1 _crhs 746ca2f97e781cb1955fd7640112b9a8 asserts 39bbdb6193c8af948ed932b55699661b bs d267a9df5f80275fb39b5fc05f60d3f9 cm e96439d8256cfec0e43dbb4c8b7f9965 import -/ Language.Fixpoint.Types.Environments 39a7a5317852adad63623f9a402cc5a6 Alts 2b51030cf97ed319b8e7c78f854ae277 BindEnv 792d9eaa5d5c1843c39b7b64e5cd1dac Found 5997709796fde7bf511d8229fe99efb0 SESearch 49d4d07afcffcb491480eb79ab43124c SEnv ae9741409aa049333ef008f3802cfecf fromListSEnv 789a0bbdc42dd0135ea2d09892ac21d3 insertSEnv 3be79544f40500c440f0dace6e690579 intersectWithSEnv e7a2c0bc6fed19ab508d75ff90ae8aa7 lookupSEnv ebcaf832f9842b5825a8c74e9875fd33 lookupSEnvWithDistance 8487b4b7e6463dbcd7c933ce64e1d285 mapBindEnv 5587766109997447ce44fc36cf0d744e memberSEnv 1b98968bd46488e485e82ffd497cf3a6 import -/ Language.Fixpoint.Types.Errors d4d50638f5ff32bb3bc70ba4c9bb3ab8 die a892c3bd643380084ab25f8b09c20b83 err a90e823f0e6047342911d3113f83b3d9 import -/ Language.Fixpoint.Types.Names e10fad5e5b8ff170c535ac390b7d6df1 Symbol 48f09ac5554b5659507cdde0ca23f8ac bitVecApplyName c1d8a192c1714ead9703691284dcf814 bitVecName e733c9a4c9e40b0853f73957e759dbeb boolApplyName a7cb25f4ae6200ec0fb30523f7ea2268 intApplyName 4ab0157cfdbb81e9834f5fc91b8839f3 mapApplyName ddb317d661ab32350988590f7250f5a7 mapConName 27aaea04a10e9d7d92d914234f1660b7 realApplyName babaf3aa9ec579d8932f0f002e849304 setApplyName 1c534130f995a9b6cd7d384d6eebf8b0 setConName 1d0f81ce4f6d2857d0d0f587eedcb6c3 import -/ Language.Fixpoint.Types.PrettyPrint 9f8ba54128c047c2f5df631a58152645 exports: 8280ba96c3b943538085a23e8c114f93 pprint 3b1416a258327e319f3edde9b9e2d64e showpp 0da0198db560727e041326beddb9a8d5 toFix adc72af29f82382843f845a7caada087 import -/ Language.Fixpoint.Types.Refinements 14ae5428586db5cedff3d8f72f8648b7 Bop 7fb70fb47d0302cfb4b9c12c86306141 Brel bf7a9d682338d6f6168543d3110f6da6 EApp 242f67cc5b7496adee37b0324be59497 EBin b701dd2a71bce1eb343b2513e5d6fa48 ECon ab1ba7bb8f5af33c895526c1c056e7ff ECst 7679f212aeb5f0744769abe62a44ee1b EDiv f73d515806d80c3adb2413088035a9ac EIte c6d70c8b2fac4c9992bb3fe089a9b464 ELam 20eee96d53677ca43811052ef690f968 ENeg fca8f0488c578d50ebb3086944afa95b ERDiv 4b38c7d7ed8bb0f1389dc29ab60aeaa7 ERTimes 8d7a42a78155fb75e1f668db40619504 ESym b05e53b59eecfe2f6d7c4b864a39af90 ETAbs cf486f62ca1036d64dac0b7fc30b355d ETApp 6f9fa64dc1ea94265346dee4dfbd1dd9 ETimes b2a9dc780e854b20949701b073b39051 EVar 4ac413912c48a3e2b7f279c0abf0b81c Eq 335b461632fbbf9532cda2ae4e55fdeb Expr 7fb70fb47d0302cfb4b9c12c86306141 I 2b5bcd0c22b34f3c17d4079b06873e92 L b2f69dae8b637676011e67a80cf25f48 Ne d9e179105ea1c2a757f64a892666f7a4 PAll 5b5b161c8a455dff7c62b538ddd642db PAnd e4ddc2579168019e5d8a7240f883a96b PAtom 55a13458e0515551093b57ea202b6eef PExist 83d46b5b3ba4dfd16ed3ab8c4cdb6285 PFalse bb7da1702e7769414ba90b65c41747cb PGrad 1ba105909b1a27f382ef9e235a533976 PIff 26c8be80f88d825a6dec4e341889a1a3 PImp 58a478a071013ad73b32bb10517db0d2 PKVar 27549ccaacfa3dd875a070c6d85abc60 PNot c4eeca122c5c0a43c77041a865069326 POr 5047bfaf429ce9d92fe3d210e4c62b03 PTrue 5df77d7a117ac1937594998bc4175838 R d3ae796e8a0662c198a87ccf6622d11a RR 770fb6f952861174841244857625a4cc Reft 0e78bf0338164597faa58ab74c6fcf68 SortedReft 7fb70fb47d0302cfb4b9c12c86306141 Subable 888f0a174e8b2968bd36b05b87cb7e9b Ueq 6474df993ebe4d0afd93678b01fc0b4a Une 06e922abb8f842f615f811f63750444d conjuncts 8b597424c017de26584204ed283dc3d9 eAppC 33d5abbf492746e77869883082291883 eApps f11c2cb73fb3e2793415839dd912820d pAnd 2d7e49d5bd88e54fdd84a02dbca76a98 sr_reft 4589b402dcbc851255ad92efc8f9fcc4 sr_sort 13518abdc021a870b3d23c5d5d39f465 syms 337dea3d27d630b73de6b6c383ffc586 import -/ Language.Fixpoint.Types.Sorts b5018989427724a1db790152ee79cb6f FAbs 8aa258e1d4a21bcfa98339b6771fc61f FApp 7a29422ecfa9008e1b305cccc4f76b35 FFrac ecc8fb3da631f4b043ad3670e4fca393 FFunc 724fb91b0715d4ded5b35408590658ef FInt 0b4cc36338ca92e72f33fb97dc6e5034 FNum c88d73ad9fe8566f5ec651da0f3eebd7 FObj 1861a52598ccbeb2eef48dfcc16b53b2 FReal d85e2ea54f1f84f03191ad6b76f1795a FTC 1c0b8dae81080fb2a43e62cfa71d5192 FVar 1738e099f01df45ba4a7bdd19852401f Sort 402c177fc699f05dd97dbf4130d9008b boolFTyCon 92013a835882e58fc8cef59c65c8ea2c boolSort 22d923a69c59fbf1c3c3d3b80b0969e5 funcSort 3b405e725beb70a70012b60bc3c24849 isFirstOrder 1384aa1f1f0be14cd0f1e2434c096cde isListTC 50dc4149e3221ba9f64a6a1b3fc30d59 isNumeric 6546be8f39343882e55ad3e06f1fa162 isReal e79863c5bcfc82a63ce88790561955aa isString 38c8c0ba321aaab302577dbd1742344c strSort c3f197f2dc52b2b1cf128955742223a1 import -/ Language.Fixpoint.Types.Spans 914694383547ac6e05961eac2448df52 SrcSpan 78175b19733acaa6a468bb3dc2117709 dummySpan 0a9a460d1a0c849b90ebbbabded90215 import -/ Language.Fixpoint.Types.Triggers 78e706fc94d14f2234498b868981d807 Triggered 0ede6587ce135bd08622314fe97bbc85 import -/ Language.Fixpoint.Types.Visitor 8cae387e2f4319552a95752f5dcd18fb exports: 26f0cdfe40ac2491bdd244bfea3f01e6 foldSort 8ccf870b83ea22eef6497c06e35f13f4 mapExpr d9f5673910f4e8be82a41738edf792b5 stripCasts b393e58e10c00b233928107eccbc8744 import -/ mtl-2.2.1@mtl-2.2.1-BLKBelFsPB3BoFeSWSOYj6:Control.Monad.Error.Class 635294424a2da8269902789f5c8bbe99 import -/ mtl-2.2.1@mtl-2.2.1-BLKBelFsPB3BoFeSWSOYj6:Control.Monad.Except 3bb0e2598193c1ba00c9723945e93004 import -/ pretty-1.1.3.3@pretty-1.1.3.3:Text.PrettyPrint.HughesPJ 0c3d66734497c26d70ab123829dd1cb4 import -/ unordered-containers-0.2.8.0@unordered-containers-0.2.8.0-1XEErQCPPPc2SEtcHHNx9o:Data.HashMap.Base 2b46c25df89b2b3ba6c50f91554dc6fe import -/ unordered-containers-0.2.8.0@unordered-containers-0.2.8.0-1XEErQCPPPc2SEtcHHNx9o:Data.HashMap.Strict 05b98a538bea7df232363274cae058f8 12bc1f9b98bd81bc96ca48077390ec93 $dmcheckSort :: Language.Fixpoint.SortCheck.Checkable a => Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Sorts.Sort -> a -> Language.Fixpoint.SortCheck.CheckM () {- Arity: 3, HasNoCafRefs, Strictness: , Unfolding: InlineRule (0, True, True) (\ @ a ($dCheckable :: Language.Fixpoint.SortCheck.Checkable a) (γ :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (ds :: Language.Fixpoint.Types.Sorts.Sort) -> Language.Fixpoint.SortCheck.check @ a $dCheckable γ) -} 79ae1395f1ebcd2b2cb6ca2dbbd7a9e9 $dmrefresh :: Language.Fixpoint.SortCheck.Freshable a => a -> Language.Fixpoint.SortCheck.CheckM a {- Arity: 2, HasNoCafRefs, Strictness: , Unfolding: InlineRule (0, True, True) (\ @ a ($dFreshable :: Language.Fixpoint.SortCheck.Freshable a) (ds :: a) -> Language.Fixpoint.SortCheck.fresh @ a $dFreshable) -} 2997c627e3a6fa47db1dda51cd1f2f19 $fApplicativeCheckM :: GHC.Base.Applicative Language.Fixpoint.SortCheck.CheckM DFunId {- HasNoCafRefs, Strictness: m, Inline: [ALWAYS] CONLIKE, Unfolding: DFun:. @ Language.Fixpoint.SortCheck.CheckM Language.Fixpoint.SortCheck.$fFunctorCheckM Language.Fixpoint.SortCheck.$fApplicativeCheckM_$cpure Language.Fixpoint.SortCheck.$fApplicativeCheckM_$c<*> Language.Fixpoint.SortCheck.$fApplicativeCheckM_$c*> Language.Fixpoint.SortCheck.$fApplicativeCheckM_$c<* -} 2997c627e3a6fa47db1dda51cd1f2f19 $fApplicativeCheckM1 :: Language.Fixpoint.SortCheck.CheckM a -> Language.Fixpoint.SortCheck.CheckM b -> Language.Fixpoint.SortCheck.StateM -> (Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String a) {- Arity: 3, HasNoCafRefs, Strictness: m, Inline: INLINE[0], Unfolding: InlineRule (3, True, False) (\ @ a @ b (w :: Language.Fixpoint.SortCheck.CheckM a) (w1 :: Language.Fixpoint.SortCheck.CheckM b) (w2 :: Language.Fixpoint.SortCheck.StateM) -> case w1 `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] _R) w2 of wild { (,) j ds -> case ds of wild1 { Data.Either.Left s7 -> (j, Data.Either.Left @ GHC.Base.String @ a s7) Data.Either.Right x -> case w `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] _R) w2 of wild2 { (,) j1 ds1 -> case ds1 of wild3 { Data.Either.Left s7 -> (j1, Data.Either.Left @ GHC.Base.String @ a s7) Data.Either.Right x1 -> (j1, Data.Either.Right @ GHC.Base.String @ a x1) } } } }) -} 2997c627e3a6fa47db1dda51cd1f2f19 $fApplicativeCheckM2 :: Language.Fixpoint.SortCheck.CheckM a -> Language.Fixpoint.SortCheck.CheckM b -> Language.Fixpoint.SortCheck.StateM -> (Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String b) {- Arity: 3, HasNoCafRefs, Strictness: m, Inline: INLINE[0], Unfolding: InlineRule (3, True, False) (\ @ a @ b (w :: Language.Fixpoint.SortCheck.CheckM a) (w1 :: Language.Fixpoint.SortCheck.CheckM b) (w2 :: Language.Fixpoint.SortCheck.StateM) -> case w1 `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] _R) w2 of wild { (,) j ds -> case ds of wild1 { Data.Either.Left s7 -> (j, Data.Either.Left @ GHC.Base.String @ b s7) Data.Either.Right x -> case w `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] _R) w2 of wild2 { (,) j1 ds1 -> case ds1 of wild3 { Data.Either.Left s7 -> (j1, Data.Either.Left @ GHC.Base.String @ b s7) Data.Either.Right x1 -> (j1, Data.Either.Right @ GHC.Base.String @ b x) } } } }) -} 2997c627e3a6fa47db1dda51cd1f2f19 $fApplicativeCheckM3 :: Language.Fixpoint.SortCheck.CheckM (a -> b) -> Language.Fixpoint.SortCheck.CheckM a -> Language.Fixpoint.SortCheck.StateM -> (Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String b) {- Arity: 3, HasNoCafRefs, Strictness: m, Inline: INLINE[0], Unfolding: InlineRule (3, True, False) (\ @ a @ b (w :: Language.Fixpoint.SortCheck.CheckM (a -> b)) (w1 :: Language.Fixpoint.SortCheck.CheckM a) (w2 :: Language.Fixpoint.SortCheck.StateM) -> case w1 `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] _R) w2 of wild { (,) j ds -> case ds of wild1 { Data.Either.Left s7 -> (j, Data.Either.Left @ GHC.Base.String @ b s7) Data.Either.Right x -> case w `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] b>_R) w2 of wild2 { (,) k ds1 -> case ds1 of wild3 { Data.Either.Left s7 -> (k, Data.Either.Left @ GHC.Base.String @ b s7) Data.Either.Right g -> (k, Data.Either.Right @ GHC.Base.String @ b (g x)) } } } }) -} e90a3cc242244dbfad4927392e076d01 $fApplicativeCheckM4 :: a -> Language.Fixpoint.SortCheck.StateM -> (Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String a) {- Arity: 2, HasNoCafRefs, Strictness: m, Unfolding: InlineRule (2, True, False) (\ @ a (x :: a) (eta :: Language.Fixpoint.SortCheck.StateM) -> (eta, Data.Either.Right @ GHC.Base.String @ a x)) -} 2997c627e3a6fa47db1dda51cd1f2f19 $fApplicativeCheckM_$c*> :: Language.Fixpoint.SortCheck.CheckM a -> Language.Fixpoint.SortCheck.CheckM b -> Language.Fixpoint.SortCheck.CheckM b {- Arity: 3, HasNoCafRefs, Strictness: m, Unfolding: InlineRule (0, True, True) Language.Fixpoint.SortCheck.$fApplicativeCheckM2 `cast` (forall (a :: <*>_N) (b :: <*>_N). _R ->_R _R ->_R Sym (Language.Fixpoint.SortCheck.N:CheckM[0] _R)) -} 2997c627e3a6fa47db1dda51cd1f2f19 $fApplicativeCheckM_$c<* :: Language.Fixpoint.SortCheck.CheckM a -> Language.Fixpoint.SortCheck.CheckM b -> Language.Fixpoint.SortCheck.CheckM a {- Arity: 3, HasNoCafRefs, Strictness: m, Unfolding: InlineRule (0, True, True) Language.Fixpoint.SortCheck.$fApplicativeCheckM1 `cast` (forall (a :: <*>_N) (b :: <*>_N). _R ->_R _R ->_R Sym (Language.Fixpoint.SortCheck.N:CheckM[0] _R)) -} 2997c627e3a6fa47db1dda51cd1f2f19 $fApplicativeCheckM_$c<*> :: Language.Fixpoint.SortCheck.CheckM (a -> b) -> Language.Fixpoint.SortCheck.CheckM a -> Language.Fixpoint.SortCheck.CheckM b {- Arity: 3, HasNoCafRefs, Strictness: m, Unfolding: InlineRule (0, True, True) Language.Fixpoint.SortCheck.$fApplicativeCheckM3 `cast` (forall (a :: <*>_N) (b :: <*>_N). b)>_R ->_R _R ->_R Sym (Language.Fixpoint.SortCheck.N:CheckM[0] _R)) -} 2997c627e3a6fa47db1dda51cd1f2f19 $fApplicativeCheckM_$cpure :: a -> Language.Fixpoint.SortCheck.CheckM a {- Arity: 2, HasNoCafRefs, Strictness: m, Unfolding: InlineRule (0, True, True) Language.Fixpoint.SortCheck.$fApplicativeCheckM4 `cast` (forall (a :: <*>_N). _R ->_R Sym (Language.Fixpoint.SortCheck.N:CheckM[0] _R)) -} 01391e6bd070e01fd0debedbf8c20d1c $fCheckableExpr :: Language.Fixpoint.SortCheck.Checkable Language.Fixpoint.Types.Refinements.Expr DFunId {- Strictness: m, Inline: [ALWAYS] CONLIKE, Unfolding: DFun:. @ Language.Fixpoint.Types.Refinements.Expr Language.Fixpoint.SortCheck.$fCheckableExpr_$ccheck Language.Fixpoint.SortCheck.$fCheckableExpr_$ccheckSort -} 1fdf5786d0da16d0b2ea7fe751d8f9a6 $fCheckableExpr1 :: Data.Either.Either GHC.Base.String () {- HasNoCafRefs, Unfolding: (Data.Either.Right @ GHC.Base.String @ () GHC.Tuple.()) -} 5a9b5ed3703482f4db584372af4a034e $fCheckableExpr_$ccheck :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Refinements.Expr -> Language.Fixpoint.SortCheck.CheckM () {- Arity: 2, Strictness: , Unfolding: (\ (γ :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (e :: Language.Fixpoint.Types.Refinements.Expr) -> let { ds :: Language.Fixpoint.SortCheck.CheckM Language.Fixpoint.Types.Sorts.Sort = Language.Fixpoint.SortCheck.checkExpr (\ (ds1 :: Language.Fixpoint.Types.Names.Symbol) -> Language.Fixpoint.Types.Environments.lookupSEnvWithDistance @ Language.Fixpoint.Types.Sorts.Sort ds1 γ) e } in (\ (i :: Language.Fixpoint.SortCheck.StateM) -> case ds `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] _R) i of wild { (,) j ds1 -> case ds1 of wild1 { Data.Either.Left s7 -> (j, Data.Either.Left @ GHC.Base.String @ () s7) Data.Either.Right x -> (j, Language.Fixpoint.SortCheck.$fCheckableExpr1) } }) `cast` (Sym (Language.Fixpoint.SortCheck.N:CheckM[0] <()>_R))) -} 80626dbc9acaa3a0d02d43f0d77e253d $fCheckableExpr_$ccheckSort :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Refinements.Expr -> Language.Fixpoint.SortCheck.CheckM () {- Arity: 3, Strictness: , Unfolding: (\ (γ :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (s7 :: Language.Fixpoint.Types.Sorts.Sort) (e :: Language.Fixpoint.Types.Refinements.Expr) -> let { ds :: Language.Fixpoint.SortCheck.CheckM Language.Fixpoint.Types.Sorts.Sort = Language.Fixpoint.SortCheck.checkExpr (\ (ds1 :: Language.Fixpoint.Types.Names.Symbol) -> Language.Fixpoint.Types.Environments.lookupSEnvWithDistance @ Language.Fixpoint.Types.Sorts.Sort ds1 γ) (Language.Fixpoint.Types.Refinements.$WECst e s7) } in (\ (i :: Language.Fixpoint.SortCheck.StateM) -> case ds `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] _R) i of wild { (,) j ds1 -> case ds1 of wild1 { Data.Either.Left s8 -> (j, Data.Either.Left @ GHC.Base.String @ () s8) Data.Either.Right x -> (j, Language.Fixpoint.SortCheck.$fCheckableExpr1) } }) `cast` (Sym (Language.Fixpoint.SortCheck.N:CheckM[0] <()>_R))) -} 01391e6bd070e01fd0debedbf8c20d1c $fCheckableSortedReft :: Language.Fixpoint.SortCheck.Checkable Language.Fixpoint.Types.Refinements.SortedReft DFunId {- Strictness: m, Inline: [ALWAYS] CONLIKE, Unfolding: DFun:. @ Language.Fixpoint.Types.Refinements.SortedReft Language.Fixpoint.SortCheck.$fCheckableSortedReft_$ccheck Language.Fixpoint.SortCheck.$fCheckableSortedReft_$ccheckSort -} 74fbb78cf3025ebaf6b7872902ad4b90 $fCheckableSortedReft_$ccheck :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Refinements.SortedReft -> Language.Fixpoint.SortCheck.CheckM () {- Arity: 2, Strictness: , Inline: INLINE[0], Unfolding: InlineRule (2, True, False) (\ (w :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (w1 :: Language.Fixpoint.Types.Refinements.SortedReft) -> case w1 of ww { Language.Fixpoint.Types.Refinements.RR ww1 ww2 -> case ww2 `cast` (Language.Fixpoint.Types.Refinements.N:Reft[0]) of ww3 { (,) ww4 ww5 -> Language.Fixpoint.SortCheck.$w$ccheck w ww1 ww4 ww5 } }) -} 55f2602cc21263a9e1be0e1fa555fe16 $fCheckableSortedReft_$ccheckSort :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Refinements.SortedReft -> Language.Fixpoint.SortCheck.CheckM () {- Arity: 3, Strictness: , Unfolding: InlineRule (2, True, True) (\ (γ :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (ds :: Language.Fixpoint.Types.Sorts.Sort) (eta :: Language.Fixpoint.Types.Refinements.SortedReft) -> Language.Fixpoint.SortCheck.$fCheckableSortedReft_$ccheck γ eta) -} 0dab6df67f88eb62ddc29abc778a5db9 $fElaborate(,) :: Language.Fixpoint.SortCheck.Elaborate (Language.Fixpoint.Types.Names.Symbol, Language.Fixpoint.Types.Sorts.Sort) DFunId {- Arity: 3, Strictness: m, Inline: INLINE (sat-args=0), Unfolding: InlineRule (0, False, True) Language.Fixpoint.SortCheck.$fElaborate(,)_$celaborate `cast` (Sym (Language.Fixpoint.SortCheck.N:Elaborate[0] <(Language.Fixpoint.Types.Names.Symbol, Language.Fixpoint.Types.Sorts.Sort)>_N)) -} c812113fe3113df720db43d5c0a1483d $fElaborate(,)_$celaborate :: GHC.Base.String -> Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> (Language.Fixpoint.Types.Names.Symbol, Language.Fixpoint.Types.Sorts.Sort) -> (Language.Fixpoint.Types.Names.Symbol, Language.Fixpoint.Types.Sorts.Sort) {- Arity: 3, Strictness: m, Unfolding: InlineRule (3, True, False) (\ (msg :: GHC.Base.String) (env :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (ds :: (Language.Fixpoint.Types.Names.Symbol, Language.Fixpoint.Types.Sorts.Sort)) -> case ds of wild { (,) x s7 -> (x, Language.Fixpoint.SortCheck.$fElaborate(,)_go s7) }) -} 215354dd2c42f6c9912a1e6a34543b29 $fElaborate(,)_go :: Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Sorts.Sort {- Arity: 1, Strictness: -} 0dab6df67f88eb62ddc29abc778a5db9 $fElaborateExpr :: Language.Fixpoint.SortCheck.Elaborate Language.Fixpoint.Types.Refinements.Expr DFunId {- Arity: 3, Strictness: , Inline: INLINE (sat-args=0), Unfolding: InlineRule (0, False, True) Language.Fixpoint.SortCheck.$fElaborateExpr_$celaborate `cast` (Sym (Language.Fixpoint.SortCheck.N:Elaborate[0] _N)) -} 4b3d151ed5466af0bc6a0f3b05bab7ac $fElaborateExpr1 :: Data.HashMap.Base.HashMap Language.Fixpoint.Types.Names.Symbol Language.Fixpoint.Types.Sorts.Sort -> GHC.Base.String -> Language.Fixpoint.Types.Refinements.Expr -> GHC.Base.String -> Language.Fixpoint.Types.Refinements.Expr {- Arity: 4, Strictness: x -} edcae3b096b01f6e4dce3851f950bd40 $fElaborateExpr2 :: Language.Fixpoint.Types.Visitor.Visitor [GHC.Prim.Any] () {- Unfolding: (Language.Fixpoint.Types.Visitor.Visitor @ [GHC.Prim.Any] @ () (GHC.Base.const @ () @ Language.Fixpoint.Types.Refinements.Expr) Language.Fixpoint.SortCheck.$fElaborateExpr3 Language.Fixpoint.Types.Visitor.mapExpr1) -} e294d01e6b701a633d5b18e12b3c91ae $fElaborateExpr3 :: () -> Language.Fixpoint.Types.Refinements.Expr -> Language.Fixpoint.Types.Refinements.Expr {- Arity: 2, Unfolding: (\ (ds :: ()) (eta :: Language.Fixpoint.Types.Refinements.Expr)[OneShot] -> let { fail :: GHC.Prim.Void# -> Language.Fixpoint.Types.Refinements.Expr {- Arity: 1, Strictness: -} = \ (ds1 :: GHC.Prim.Void#)[OneShot] -> case eta of wild { DEFAULT -> wild Language.Fixpoint.Types.Refinements.EBin ds2 e1 e2 -> case ds2 of wild1 { DEFAULT -> wild Language.Fixpoint.Types.Refinements.Div -> case Language.Fixpoint.Types.Sorts.$fEqSort_$c== (Language.Fixpoint.SortCheck.exprSort (GHC.CString.unpackAppendCString# "txn3: "# (Text.PrettyPrint.Annotated.HughesPJ.fullRenderAnn @ () @ GHC.Base.String Text.PrettyPrint.Annotated.HughesPJ.PageMode Text.PrettyPrint.Annotated.HughesPJ.render3 Text.PrettyPrint.Annotated.HughesPJ.render2 Language.Fixpoint.Types.PrettyPrint.docBox1 (GHC.Types.[] @ GHC.Types.Char) (Language.Fixpoint.Types.Refinements.$w$cpprintPrec Language.Fixpoint.Types.PrettyPrint.pprint1 e1) `cast` (Text.PrettyPrint.HughesPJ.N:Doc[0]))) e1) Language.Fixpoint.Types.Sorts.FReal of wild2 { GHC.Types.False -> wild GHC.Types.True -> case Language.Fixpoint.Types.Sorts.$fEqSort_$c== (Language.Fixpoint.SortCheck.exprSort Language.Fixpoint.SortCheck.$fElaborateExpr6 e2) Language.Fixpoint.Types.Sorts.FReal of wild3 { GHC.Types.False -> wild GHC.Types.True -> Language.Fixpoint.Types.Refinements.EBin Language.Fixpoint.Types.Refinements.RDiv e1 e2 } } } } } in case eta of wild { DEFAULT -> fail GHC.Prim.void# Language.Fixpoint.Types.Refinements.EBin ds1 e1 e2 -> case ds1 of wild1 { DEFAULT -> fail GHC.Prim.void# Language.Fixpoint.Types.Refinements.Times -> case Language.Fixpoint.Types.Sorts.$fEqSort_$c== (Language.Fixpoint.SortCheck.exprSort Language.Fixpoint.SortCheck.$fElaborateExpr5 e1) Language.Fixpoint.Types.Sorts.FReal of wild2 { GHC.Types.False -> fail GHC.Prim.void# GHC.Types.True -> case Language.Fixpoint.Types.Sorts.$fEqSort_$c== (Language.Fixpoint.SortCheck.exprSort Language.Fixpoint.SortCheck.$fElaborateExpr4 e2) Language.Fixpoint.Types.Sorts.FReal of wild3 { GHC.Types.False -> fail GHC.Prim.void# GHC.Types.True -> Language.Fixpoint.Types.Refinements.EBin Language.Fixpoint.Types.Refinements.RTimes e1 e2 } } } }) -} 4e65405f2ce678186687ac3526c2ccde $fElaborateExpr4 :: [GHC.Types.Char] {- Unfolding: (GHC.CString.unpackCString# "txn2"#) -} 666ee9ce4656eacd6c13cdaf14643536 $fElaborateExpr5 :: [GHC.Types.Char] {- Unfolding: (GHC.CString.unpackCString# "txn1"#) -} ac2cc917eee1fa4ca50e4bf6c0d0df96 $fElaborateExpr6 :: [GHC.Types.Char] {- Unfolding: (GHC.CString.unpackCString# "txn4"#) -} d3860b0f7d0eec615e795067e81676f8 $fElaborateExpr_$celaborate :: GHC.Base.String -> Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Refinements.Expr -> Language.Fixpoint.Types.Refinements.Expr {- Arity: 3, Strictness: , Unfolding: (\ (msg :: GHC.Base.String) (env :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (eta :: Language.Fixpoint.Types.Refinements.Expr) -> case ((Language.Fixpoint.Types.Visitor.visitExpr @ [GHC.Prim.Any] @ () (GHC.Base.$fMonoid[] @ GHC.Prim.Any) Language.Fixpoint.SortCheck.$fElaborateExpr2 GHC.Tuple.() (let { γ' :: Data.HashMap.Base.HashMap Language.Fixpoint.Types.Names.Symbol Language.Fixpoint.Types.Sorts.Sort = Language.Fixpoint.Types.Environments.$wpoly_go3 @ Language.Fixpoint.Types.Sorts.Sort 0# env `cast` (Language.Fixpoint.Types.Environments.N:SEnv[0] _N) Language.Fixpoint.Smt.Theories.theorySEnv1 } in case Language.Fixpoint.SortCheck.$welab (\ (ds :: Language.Fixpoint.Types.Names.Symbol) -> Language.Fixpoint.Types.Environments.lookupSEnvWithDistance @ Language.Fixpoint.Types.Sorts.Sort ds γ' `cast` (Sym (Language.Fixpoint.Types.Environments.N:SEnv[0]) _N)) eta Language.Fixpoint.SortCheck.initCM of ww { (#,#) ww1 ww2 -> case ww2 of wild { Data.Either.Left msg1 -> Language.Fixpoint.SortCheck.$fElaborateExpr1 γ' msg1 eta msg Data.Either.Right s7 -> Language.Fixpoint.SortCheck.$fElaborateExpr_go (Data.Tuple.fst @ Language.Fixpoint.Types.Refinements.Expr @ Language.Fixpoint.Types.Sorts.Sort s7) } })) `cast` (Control.Monad.Trans.State.Strict.N:StateT[0] <[GHC.Prim.Any]>_N _R _N) (GHC.Types.[] @ GHC.Prim.Any)) `cast` (Data.Functor.Identity.N:Identity[0] <(Language.Fixpoint.Types.Refinements.Expr, [GHC.Prim.Any])>_R) of wild { (,) x ds1 -> x }) -} 75fc2e6afb44dc97ce291058fdecefed $fElaborateExpr_go :: Language.Fixpoint.Types.Refinements.Expr -> Language.Fixpoint.Types.Refinements.Expr {- Arity: 1, Strictness: -} 0dab6df67f88eb62ddc29abc778a5db9 $fElaborateGInfo :: Language.Fixpoint.SortCheck.Elaborate (Language.Fixpoint.Types.Constraints.SInfo a) DFunId {- Arity: 3, Strictness: , Inline: INLINE (sat-args=0), Unfolding: InlineRule (0, False, True) Language.Fixpoint.SortCheck.$fElaborateGInfo_$celaborate `cast` (forall (a :: <*>_N). Sym (Language.Fixpoint.SortCheck.N:Elaborate[0] _N)) -} bc364e15229d46b8c7d3b8eff3fe8787 $fElaborateGInfo_$celaborate :: GHC.Base.String -> Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Constraints.SInfo a -> Language.Fixpoint.Types.Constraints.SInfo a {- Arity: 3, Strictness: , Inline: INLINE[0], Unfolding: InlineRule (3, True, False) (\ @ a (w :: GHC.Base.String) (w1 :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (w2 :: Language.Fixpoint.Types.Constraints.SInfo a) -> case w2 of ww { Language.Fixpoint.Types.Constraints.FI ww1 ww2 ww3 ww4 ww5 ww6 ww7 ww8 ww9 ww10 ww11 -> case ww3 of ww12 { Language.Fixpoint.Types.Environments.BE ww13 ww14 -> Language.Fixpoint.SortCheck.$w$celaborate @ a w w1 ww1 ww2 ww13 ww14 ww4 ww5 ww6 ww7 ww8 ww9 ww10 ww11 } }) -} 0dab6df67f88eb62ddc29abc778a5db9 $fElaborateSimpC :: Language.Fixpoint.SortCheck.Elaborate (Language.Fixpoint.Types.Constraints.SimpC a) DFunId {- Arity: 3, Strictness: m, Inline: INLINE (sat-args=0), Unfolding: InlineRule (0, False, True) Language.Fixpoint.SortCheck.$fElaborateSimpC_$celaborate `cast` (forall (a :: <*>_N). Sym (Language.Fixpoint.SortCheck.N:Elaborate[0] _N)) -} 2c49f9bfdca6bede49f3ff9f4cba73f0 $fElaborateSimpC_$celaborate :: GHC.Base.String -> Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Constraints.SimpC a -> Language.Fixpoint.Types.Constraints.SimpC a {- Arity: 3, Strictness: m, Unfolding: InlineRule (3, True, False) (\ @ a (x :: GHC.Base.String) (env :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (c :: Language.Fixpoint.Types.Constraints.SimpC a) -> case c of wild { Language.Fixpoint.Types.Constraints.SimpC ds ds1 ds2 ds3 ds4 -> case Language.Fixpoint.SortCheck.$fElaborateExpr_$celaborate x env ds1 of dt { DEFAULT -> Language.Fixpoint.Types.Constraints.SimpC @ a ds dt ds2 ds3 ds4 } }) -} 0dab6df67f88eb62ddc29abc778a5db9 $fElaborateSizedEnv :: Language.Fixpoint.SortCheck.Elaborate Language.Fixpoint.Types.Environments.BindEnv DFunId {- Arity: 3, Strictness: m, Inline: INLINE (sat-args=0), Unfolding: InlineRule (0, False, True) Language.Fixpoint.SortCheck.$fElaborateSizedEnv_$celaborate `cast` (Sym (Language.Fixpoint.SortCheck.N:Elaborate[0] _N)) -} ac0f8b60669ff38c86ccea1e47b9c640 $fElaborateSizedEnv1 :: GHC.Types.Char {- HasNoCafRefs, Unfolding: (GHC.Types.C# ' '#) -} 522f9dbea02a94febd591f3a809bace0 $fElaborateSizedEnv2 :: [GHC.Types.Char] {- Unfolding: (GHC.CString.unpackCString# " elabBE"#) -} dc2289dc3727b8308b953f92b60294bb $fElaborateSizedEnv_$celaborate :: GHC.Base.String -> Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Environments.BindEnv -> Language.Fixpoint.Types.Environments.BindEnv {- Arity: 3, Strictness: m, Inline: INLINE[0], Unfolding: InlineRule (3, True, False) (\ (w :: GHC.Base.String) (w1 :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (w2 :: Language.Fixpoint.Types.Environments.BindEnv) -> case w2 of ww { Language.Fixpoint.Types.Environments.BE ww1 ww2 -> case Language.Fixpoint.SortCheck.$w$celaborate1 w w1 ww1 ww2 of ww3 { (#,#) ww4 ww5 -> Language.Fixpoint.Types.Environments.BE @ (Language.Fixpoint.Types.Names.Symbol, Language.Fixpoint.Types.Refinements.SortedReft) ww4 ww5 } }) -} 0dab6df67f88eb62ddc29abc778a5db9 $fElaborateSort :: Language.Fixpoint.SortCheck.Elaborate Language.Fixpoint.Types.Sorts.Sort DFunId {- Arity: 3, Strictness: , Inline: INLINE (sat-args=0), Unfolding: InlineRule (0, False, True) Language.Fixpoint.SortCheck.$fElaborateSort_$celaborate `cast` (Sym (Language.Fixpoint.SortCheck.N:Elaborate[0] _N)) -} 23f5f9fcf6a3cf52c6f5cb797a14c44e $fElaborateSort_$celaborate :: GHC.Base.String -> Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Sorts.Sort {- Arity: 3, Strictness: , Unfolding: InlineRule (3, True, True) (\ (ds :: GHC.Base.String) (ds1 :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (eta :: Language.Fixpoint.Types.Sorts.Sort) -> Language.Fixpoint.SortCheck.$fElaborate(,)_go eta) -} 0dab6df67f88eb62ddc29abc778a5db9 $fElaborateSortedReft :: Language.Fixpoint.SortCheck.Elaborate Language.Fixpoint.Types.Refinements.SortedReft DFunId {- Arity: 3, Strictness: m, Inline: INLINE (sat-args=0), Unfolding: InlineRule (0, False, True) Language.Fixpoint.SortCheck.$fElaborateSortedReft_$celaborate `cast` (Sym (Language.Fixpoint.SortCheck.N:Elaborate[0] _N)) -} 90b2d65330634df038155ed7b1d5be91 $fElaborateSortedReft_$celaborate :: GHC.Base.String -> Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Refinements.SortedReft -> Language.Fixpoint.Types.Refinements.SortedReft {- Arity: 3, Strictness: m, Inline: INLINE[0], Unfolding: InlineRule (3, True, False) (\ (w :: GHC.Base.String) (w1 :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (w2 :: Language.Fixpoint.Types.Refinements.SortedReft) -> case w2 of ww { Language.Fixpoint.Types.Refinements.RR ww1 ww2 -> case ww2 `cast` (Language.Fixpoint.Types.Refinements.N:Reft[0]) of ww3 { (,) ww4 ww5 -> Language.Fixpoint.Types.Refinements.RR ww1 (ww4, Language.Fixpoint.SortCheck.$fElaborateExpr_$celaborate w (case ww4 of ww6 { Language.Fixpoint.Types.Names.S ww7 ww8 ww9 -> case ww8 of ww10 { Data.Text.Internal.Text ww11 ww12 ww13 -> (Language.Fixpoint.Types.Environments.$w$sinsert @ Language.Fixpoint.Types.Sorts.Sort ww7 ww11 ww12 ww13 ww9 ww1 w1 `cast` (Language.Fixpoint.Types.Environments.N:SEnv[0] _N)) `cast` (Sym (Language.Fixpoint.Types.Environments.N:SEnv[0]) _N) } }) ww5) `cast` (Sym (Language.Fixpoint.Types.Refinements.N:Reft[0])) } }) -} 0dab6df67f88eb62ddc29abc778a5db9 $fElaborateTriggered :: Language.Fixpoint.SortCheck.Elaborate e => Language.Fixpoint.SortCheck.Elaborate (Language.Fixpoint.Types.Triggers.Triggered e) DFunId {- Arity: 4, HasNoCafRefs, Strictness: m, Inline: INLINE (sat-args=0), Unfolding: InlineRule (1, False, True) Language.Fixpoint.SortCheck.$fElaborateTriggered_$celaborate `cast` (forall (e :: <*>_N). _R ->_R Sym (Language.Fixpoint.SortCheck.N:Elaborate[0] _N)) -} 0dab6df67f88eb62ddc29abc778a5db9 $fElaborateTriggered_$celaborate :: Language.Fixpoint.SortCheck.Elaborate e => GHC.Base.String -> Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Triggers.Triggered e -> Language.Fixpoint.Types.Triggers.Triggered e {- Arity: 4, HasNoCafRefs, Strictness: m, Unfolding: InlineRule (4, True, False) (\ @ e ($dElaborate :: Language.Fixpoint.SortCheck.Elaborate e) (x :: GHC.Base.String) (env :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (t :: Language.Fixpoint.Types.Triggers.Triggered e) -> case t of wild { Language.Fixpoint.Types.Triggers.TR a1 a2 -> Language.Fixpoint.Types.Triggers.TR @ e a1 ($dElaborate `cast` (Language.Fixpoint.SortCheck.N:Elaborate[0] _N) x env a2) }) -} 0dab6df67f88eb62ddc29abc778a5db9 $fElaborate[] :: Language.Fixpoint.SortCheck.Elaborate a => Language.Fixpoint.SortCheck.Elaborate [a] DFunId {- Arity: 4, HasNoCafRefs, Strictness: , Inline: INLINE (sat-args=0), Unfolding: InlineRule (1, False, True) Language.Fixpoint.SortCheck.$fElaborate[]_$celaborate `cast` (forall (a :: <*>_N). _R ->_R Sym (Language.Fixpoint.SortCheck.N:Elaborate[0] <[a]>_N)) -} 0dab6df67f88eb62ddc29abc778a5db9 $fElaborate[]_$celaborate :: Language.Fixpoint.SortCheck.Elaborate a => GHC.Base.String -> Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> [a] -> [a] {- Arity: 4, HasNoCafRefs, Strictness: , Unfolding: InlineRule (4, True, False) (\ @ a ($dElaborate :: Language.Fixpoint.SortCheck.Elaborate a) (msg :: GHC.Base.String) (env :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (xs :: [a]) -> GHC.Base.build @ a (\ @ b1 (c :: a -> b1 -> b1)[OneShot] (n :: b1)[OneShot] -> GHC.Base.foldr @ a @ b1 (GHC.Base.mapFB @ a @ b1 @ a c ($dElaborate `cast` (Language.Fixpoint.SortCheck.N:Elaborate[0] _N) msg env)) n xs)) -} 81630f685b413e339ceb41a6eb9f86e7 $fFreshableInt :: Language.Fixpoint.SortCheck.Freshable GHC.Types.Int DFunId {- HasNoCafRefs, Strictness: m, Inline: [ALWAYS] CONLIKE, Unfolding: DFun:. @ GHC.Types.Int Language.Fixpoint.SortCheck.$fFreshableInt_$cfresh Language.Fixpoint.SortCheck.$fFreshableInt_$crefresh -} e632624280894d80ca089710ce2cbe2d $fFreshableInt1 :: GHC.Types.Int -> Language.Fixpoint.SortCheck.StateM -> (Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String Language.Fixpoint.SortCheck.StateM) {- Arity: 2, HasNoCafRefs, Strictness: , Unfolding: InlineRule (1, True, True) (\ (ds :: GHC.Types.Int) (eta :: Language.Fixpoint.SortCheck.StateM) -> Language.Fixpoint.SortCheck.$fFreshableInt2 eta) -} 64c4df2cc6d08c14aee5c05fd68d5630 $fFreshableInt2 :: Language.Fixpoint.SortCheck.StateM -> (Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String Language.Fixpoint.SortCheck.StateM) {- Arity: 1, HasNoCafRefs, Strictness: m, Unfolding: InlineRule (1, True, False) (\ (n :: Language.Fixpoint.SortCheck.StateM) -> (case n of wild { GHC.Types.I# x -> GHC.Types.I# (GHC.Prim.+# x 1#) }, Data.Either.Right @ GHC.Base.String @ Language.Fixpoint.SortCheck.StateM n)) -} 1770072255d83e5e4bf2d235d72bd434 $fFreshableInt_$cfresh :: Language.Fixpoint.SortCheck.CheckM GHC.Types.Int {- Arity: 1, HasNoCafRefs, Strictness: m, Unfolding: InlineRule (0, True, True) Language.Fixpoint.SortCheck.$fFreshableInt2 `cast` (Sym (Language.Fixpoint.SortCheck.N:CheckM[0] _R)) -} a738214ef762a2f2462db9e388d3e939 $fFreshableInt_$crefresh :: GHC.Types.Int -> Language.Fixpoint.SortCheck.CheckM GHC.Types.Int {- Arity: 2, HasNoCafRefs, Strictness: , Unfolding: InlineRule (0, True, True) Language.Fixpoint.SortCheck.$fFreshableInt1 `cast` (_R ->_R Sym (Language.Fixpoint.SortCheck.N:CheckM[0] _R)) -} 81630f685b413e339ceb41a6eb9f86e7 $fFreshable[] :: Language.Fixpoint.SortCheck.Freshable [GHC.Types.Int] DFunId {- Strictness: m, Inline: [ALWAYS] CONLIKE, Unfolding: DFun:. @ [GHC.Types.Int] Language.Fixpoint.SortCheck.$fFreshable[]_$cfresh Language.Fixpoint.SortCheck.$fFreshable[]_$crefresh -} c385a62b0f231cbd8c87e00cb3a17a10 $fFreshable[]1 :: Language.Fixpoint.SortCheck.StateM -> (Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String [GHC.Types.Int]) {- Arity: 1, Unfolding: (Language.Fixpoint.SortCheck.$fFreshable[]5 Language.Fixpoint.SortCheck.$fFreshable[]2) -} 66a298d151bdb43aa3210e1c19b05c6f $fFreshable[]2 :: [GHC.Integer.Type.Integer] {- Unfolding: (case GHC.Enum.$wenumDeltaInteger Language.Fixpoint.SortCheck.$fFreshable[]4 Language.Fixpoint.SortCheck.$fFreshable[]3 of ww { (#,#) ww1 ww2 -> GHC.Types.: @ GHC.Integer.Type.Integer ww1 ww2 }) -} b72f7360d09c7bdd8102529c5683d33d $fFreshable[]3 :: GHC.Integer.Type.Integer {- HasNoCafRefs, Unfolding: (1) -} db0ae872339325bdc7f4996f6bdf6c89 $fFreshable[]4 :: GHC.Integer.Type.Integer {- HasNoCafRefs, Unfolding: (0) -} 883ac837fbe89186aae2434b0bfa3a54 $fFreshable[]5 :: [GHC.Integer.Type.Integer] -> Language.Fixpoint.SortCheck.StateM -> (Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String [GHC.Types.Int]) {- Arity: 2, HasNoCafRefs, Strictness: m, Inline: INLINE[0], Unfolding: InlineRule (2, True, False) (\ (w :: [GHC.Integer.Type.Integer]) (w1 :: Language.Fixpoint.SortCheck.StateM) -> case Language.Fixpoint.SortCheck.$wgo w w1 of ww { (#,#) ww1 ww2 -> (ww1, ww2) }) -} 928c5469962fb4c272e6f1a95e60a16d $fFreshable[]_$cfresh :: Language.Fixpoint.SortCheck.CheckM [GHC.Types.Int] {- Arity: 1, Unfolding: InlineRule (0, True, True) Language.Fixpoint.SortCheck.$fFreshable[]1 `cast` (Sym (Language.Fixpoint.SortCheck.N:CheckM[0] <[GHC.Types.Int]>_R)) -} 55d5d4cc52e8d3e2195996146550f195 $fFreshable[]_$crefresh :: [GHC.Types.Int] -> Language.Fixpoint.SortCheck.CheckM [GHC.Types.Int] {- Unfolding: (Data.Traversable.$fTraversable[]_$cmapM @ Language.Fixpoint.SortCheck.CheckM @ GHC.Types.Int @ GHC.Types.Int Language.Fixpoint.SortCheck.$fMonadCheckM Language.Fixpoint.SortCheck.$fFreshableInt1 `cast` (_R ->_R Sym (Language.Fixpoint.SortCheck.N:CheckM[0] _R))) -} 2997c627e3a6fa47db1dda51cd1f2f19 $fFunctorCheckM :: GHC.Base.Functor Language.Fixpoint.SortCheck.CheckM DFunId {- HasNoCafRefs, Strictness: m, Inline: [ALWAYS] CONLIKE, Unfolding: DFun:. @ Language.Fixpoint.SortCheck.CheckM Language.Fixpoint.SortCheck.$fFunctorCheckM_$cfmap Language.Fixpoint.SortCheck.$fFunctorCheckM_$c<$ -} 2997c627e3a6fa47db1dda51cd1f2f19 $fFunctorCheckM1 :: a -> Language.Fixpoint.SortCheck.CheckM b -> Language.Fixpoint.SortCheck.StateM -> (Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String a) {- Arity: 3, HasNoCafRefs, Strictness: m, Unfolding: InlineRule (3, True, False) (\ @ a @ b (eta :: a) (ds :: Language.Fixpoint.SortCheck.CheckM b) (i :: Language.Fixpoint.SortCheck.StateM) -> case ds `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] _R) i of wild { (,) j ds1 -> case ds1 of wild1 { Data.Either.Left s7 -> (j, Data.Either.Left @ GHC.Base.String @ a s7) Data.Either.Right x -> (j, Data.Either.Right @ GHC.Base.String @ a eta) } }) -} 2997c627e3a6fa47db1dda51cd1f2f19 $fFunctorCheckM2 :: (a -> b) -> Language.Fixpoint.SortCheck.CheckM a -> Language.Fixpoint.SortCheck.StateM -> (Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String b) {- Arity: 3, HasNoCafRefs, Strictness: m, Inline: INLINE[0], Unfolding: InlineRule (3, True, False) (\ @ a @ b (w :: a -> b) (w1 :: Language.Fixpoint.SortCheck.CheckM a) (w2 :: Language.Fixpoint.SortCheck.StateM) -> case w1 `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] _R) w2 of wild { (,) j ds -> case ds of wild1 { Data.Either.Left s7 -> (j, Data.Either.Left @ GHC.Base.String @ b s7) Data.Either.Right x -> (j, Data.Either.Right @ GHC.Base.String @ b (w x)) } }) -} 2997c627e3a6fa47db1dda51cd1f2f19 $fFunctorCheckM_$c<$ :: a -> Language.Fixpoint.SortCheck.CheckM b -> Language.Fixpoint.SortCheck.CheckM a {- Arity: 3, HasNoCafRefs, Strictness: m, Unfolding: InlineRule (0, True, True) Language.Fixpoint.SortCheck.$fFunctorCheckM1 `cast` (forall (a :: <*>_N) (b :: <*>_N). _R ->_R _R ->_R Sym (Language.Fixpoint.SortCheck.N:CheckM[0] _R)) -} 2997c627e3a6fa47db1dda51cd1f2f19 $fFunctorCheckM_$cfmap :: (a -> b) -> Language.Fixpoint.SortCheck.CheckM a -> Language.Fixpoint.SortCheck.CheckM b {- Arity: 3, HasNoCafRefs, Strictness: m, Unfolding: InlineRule (0, True, True) Language.Fixpoint.SortCheck.$fFunctorCheckM2 `cast` (forall (a :: <*>_N) (b :: <*>_N). b>_R ->_R _R ->_R Sym (Language.Fixpoint.SortCheck.N:CheckM[0] _R)) -} 2997c627e3a6fa47db1dda51cd1f2f19 $fMonadCheckM :: GHC.Base.Monad Language.Fixpoint.SortCheck.CheckM DFunId {- Strictness: m, Inline: [ALWAYS] CONLIKE, Unfolding: DFun:. @ Language.Fixpoint.SortCheck.CheckM Language.Fixpoint.SortCheck.$fApplicativeCheckM Language.Fixpoint.SortCheck.$fMonadCheckM_$c>>= Language.Fixpoint.SortCheck.$fMonadCheckM_$c>> Language.Fixpoint.SortCheck.$fApplicativeCheckM_$cpure Language.Fixpoint.SortCheck.$fMonadCheckM_$cfail -} 2997c627e3a6fa47db1dda51cd1f2f19 $fMonadCheckM1 :: Language.Fixpoint.SortCheck.CheckM a -> (a -> Language.Fixpoint.SortCheck.CheckM b) -> Language.Fixpoint.SortCheck.StateM -> (Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String b) {- Arity: 3, HasNoCafRefs, Strictness: , Unfolding: InlineRule (3, True, False) (\ @ a @ b (ds :: Language.Fixpoint.SortCheck.CheckM a) (f :: a -> Language.Fixpoint.SortCheck.CheckM b) (i :: Language.Fixpoint.SortCheck.StateM) -> case ds `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] _R) i of wild { (,) j ds1 -> case ds1 of wild1 { Data.Either.Left s7 -> (j, Data.Either.Left @ GHC.Base.String @ b s7) Data.Either.Right x -> (f x) `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] _R) j } }) -} 2997c627e3a6fa47db1dda51cd1f2f19 $fMonadCheckM_$c>> :: Language.Fixpoint.SortCheck.CheckM a -> Language.Fixpoint.SortCheck.CheckM b -> Language.Fixpoint.SortCheck.CheckM b {- Arity: 2, Strictness: , Inline: INLINE (sat-args=2), Unfolding: InlineRule (2, False, False) (\ @ a @ b (m1 :: Language.Fixpoint.SortCheck.CheckM a) (k :: Language.Fixpoint.SortCheck.CheckM b) (eta :: Language.Fixpoint.SortCheck.StateM) -> (Language.Fixpoint.SortCheck.$fMonadCheckM_$c>>= @ a @ b m1 (\ (ds :: a) -> k)) `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] _R) eta) `cast` (forall (a :: <*>_N) (b :: <*>_N). _R ->_R _R ->_R Sym (Language.Fixpoint.SortCheck.N:CheckM[0] _R)) -} 2997c627e3a6fa47db1dda51cd1f2f19 $fMonadCheckM_$c>>= :: Language.Fixpoint.SortCheck.CheckM a -> (a -> Language.Fixpoint.SortCheck.CheckM b) -> Language.Fixpoint.SortCheck.CheckM b {- Arity: 3, HasNoCafRefs, Strictness: , Unfolding: InlineRule (0, True, True) Language.Fixpoint.SortCheck.$fMonadCheckM1 `cast` (forall (a :: <*>_N) (b :: <*>_N). _R ->_R Language.Fixpoint.SortCheck.CheckM b>_R ->_R Sym (Language.Fixpoint.SortCheck.N:CheckM[0] _R)) -} 2997c627e3a6fa47db1dda51cd1f2f19 $fMonadCheckM_$cfail :: GHC.Base.String -> Language.Fixpoint.SortCheck.CheckM a {- Arity: 1, Strictness: x, Unfolding: InlineRule (0, True, True) (\ @ a -> GHC.Err.errorWithoutStackTrace @ 'GHC.Types.PtrRepLifted @ (Language.Fixpoint.SortCheck.CheckM a)) -} 2997c627e3a6fa47db1dda51cd1f2f19 $fMonadError[]CheckM :: Control.Monad.Error.Class.MonadError GHC.Base.String Language.Fixpoint.SortCheck.CheckM DFunId {- Strictness: m, Inline: [ALWAYS] CONLIKE, Unfolding: DFun:. @ GHC.Base.String @ Language.Fixpoint.SortCheck.CheckM Language.Fixpoint.SortCheck.$fMonadCheckM Language.Fixpoint.SortCheck.$fMonadError[]CheckM_$cthrowError Language.Fixpoint.SortCheck.$fMonadError[]CheckM_$ccatchError -} 2997c627e3a6fa47db1dda51cd1f2f19 $fMonadError[]CheckM1 :: Language.Fixpoint.SortCheck.CheckM a -> (GHC.Base.String -> Language.Fixpoint.SortCheck.CheckM a) -> Language.Fixpoint.SortCheck.StateM -> (Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String a) {- Arity: 3, HasNoCafRefs, Strictness: , Unfolding: InlineRule (3, True, False) (\ @ a (ds :: Language.Fixpoint.SortCheck.CheckM a) (f :: GHC.Base.String -> Language.Fixpoint.SortCheck.CheckM a) (i :: Language.Fixpoint.SortCheck.StateM) -> case ds `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] _R) i of wild { (,) j ds1 -> case ds1 of wild1 { Data.Either.Left s7 -> (f s7) `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] _R) j Data.Either.Right x -> (j, Data.Either.Right @ GHC.Base.String @ a x) } }) -} eecbcc14474e37316b201c64da226d16 $fMonadError[]CheckM2 :: GHC.Base.String -> Language.Fixpoint.SortCheck.StateM -> (Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String a) {- Arity: 2, HasNoCafRefs, Strictness: m, Unfolding: InlineRule (2, True, False) (\ @ a (s7 :: GHC.Base.String) (eta :: Language.Fixpoint.SortCheck.StateM) -> (eta, Data.Either.Left @ GHC.Base.String @ a s7)) -} 2997c627e3a6fa47db1dda51cd1f2f19 $fMonadError[]CheckM_$ccatchError :: Language.Fixpoint.SortCheck.CheckM a -> (GHC.Base.String -> Language.Fixpoint.SortCheck.CheckM a) -> Language.Fixpoint.SortCheck.CheckM a {- Arity: 3, HasNoCafRefs, Strictness: , Unfolding: InlineRule (0, True, True) Language.Fixpoint.SortCheck.$fMonadError[]CheckM1 `cast` (forall (a :: <*>_N). _R ->_R Language.Fixpoint.SortCheck.CheckM a>_R ->_R Sym (Language.Fixpoint.SortCheck.N:CheckM[0] _R)) -} 2997c627e3a6fa47db1dda51cd1f2f19 $fMonadError[]CheckM_$cthrowError :: GHC.Base.String -> Language.Fixpoint.SortCheck.CheckM a {- Arity: 2, HasNoCafRefs, Strictness: m, Unfolding: InlineRule (0, True, True) Language.Fixpoint.SortCheck.$fMonadError[]CheckM2 `cast` (forall (a :: <*>_N). _R ->_R Sym (Language.Fixpoint.SortCheck.N:CheckM[0] _R)) -} cd0571f7217eba41b5cb926e34b36534 $fShowTVSubst :: GHC.Show.Show Language.Fixpoint.SortCheck.TVSubst DFunId {- Strictness: m, Inline: [ALWAYS] CONLIKE, Unfolding: DFun:. @ Language.Fixpoint.SortCheck.TVSubst Language.Fixpoint.SortCheck.$fShowTVSubst_$cshowsPrec Language.Fixpoint.SortCheck.$fShowTVSubst_$cshow Language.Fixpoint.SortCheck.$fShowTVSubst_$cshowList -} cd0571f7217eba41b5cb926e34b36534 $fShowTVSubst1 :: Language.Fixpoint.SortCheck.TVSubst -> GHC.Show.ShowS {- Arity: 1, Unfolding: (\ (w :: Language.Fixpoint.SortCheck.TVSubst) -> Language.Fixpoint.SortCheck.$w$cshowsPrec 0# w) -} f1b741919ab2bd38eb0fb800e95b64a9 $fShowTVSubst2 :: [GHC.Types.Char] {- Unfolding: (GHC.CString.unpackCString# "Th "#) -} cd0571f7217eba41b5cb926e34b36534 $fShowTVSubst_$cshow :: Language.Fixpoint.SortCheck.TVSubst -> GHC.Base.String {- Arity: 1, Strictness: , Unfolding: (\ (x :: Language.Fixpoint.SortCheck.TVSubst) -> GHC.Base.++ @ GHC.Types.Char Language.Fixpoint.SortCheck.$fShowTVSubst2 (Data.HashMap.Base.$w$cshowsPrec @ GHC.Types.Int @ Language.Fixpoint.Types.Sorts.Sort GHC.Show.$fShowInt Language.Fixpoint.Types.Sorts.$fShowSort 11# x `cast` (Language.Fixpoint.SortCheck.N:TVSubst[0]) (GHC.Types.[] @ GHC.Types.Char))) -} cd0571f7217eba41b5cb926e34b36534 $fShowTVSubst_$cshowList :: [Language.Fixpoint.SortCheck.TVSubst] -> GHC.Show.ShowS {- Arity: 2, Unfolding: (GHC.Show.showList__ @ Language.Fixpoint.SortCheck.TVSubst Language.Fixpoint.SortCheck.$fShowTVSubst1) -} cd0571f7217eba41b5cb926e34b36534 $fShowTVSubst_$cshowsPrec :: GHC.Types.Int -> Language.Fixpoint.SortCheck.TVSubst -> GHC.Show.ShowS {- Arity: 2, Strictness: , Inline: INLINE[0], Unfolding: InlineRule (2, True, False) (\ (w :: GHC.Types.Int) (w1 :: Language.Fixpoint.SortCheck.TVSubst) -> case w of ww { GHC.Types.I# ww1 -> Language.Fixpoint.SortCheck.$w$cshowsPrec ww1 w1 }) -} df9129138ba20e124ad48c012d65e845 $selaborate8 :: GHC.Base.String -> Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Triggers.Triggered Language.Fixpoint.Types.Refinements.Expr -> Language.Fixpoint.Types.Triggers.Triggered Language.Fixpoint.Types.Refinements.Expr {- Arity: 3, Strictness: m, Unfolding: InlineRule (3, True, False) (\ (x :: GHC.Base.String) (env :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (t :: Language.Fixpoint.Types.Triggers.Triggered Language.Fixpoint.Types.Refinements.Expr) -> case t of wild { Language.Fixpoint.Types.Triggers.TR a1 a2 -> Language.Fixpoint.Types.Triggers.TR @ Language.Fixpoint.Types.Refinements.Expr a1 (Language.Fixpoint.SortCheck.$fElaborateExpr_$celaborate x env a2) }) -} 3a6a7e95975d7c5fe8dec84a43d1326e $sprintf3 :: GHC.Base.String -> [Text.Printf.UPrintf] -> [GHC.Types.Char] {- Arity: 2, Strictness: , Unfolding: (\ (fmts :: GHC.Base.String) (args :: [Text.Printf.UPrintf]) -> GHC.Base.map @ GHC.Types.Char @ GHC.Types.Char Text.Printf.$fIsCharChar_$cfromChar (Text.Printf.uprintfs fmts (GHC.List.reverse1 @ Text.Printf.UPrintf args (GHC.Types.[] @ Text.Printf.UPrintf)) (GHC.Types.[] @ GHC.Types.Char))) -} 09b7f55ed9ee66f354abf715d1b38db5 $sunless1 :: Language.Fixpoint.SortCheck.StateM -> (Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String ()) {- Arity: 1, HasNoCafRefs, Strictness: m, Unfolding: InlineRule (1, True, False) (\ (eta :: Language.Fixpoint.SortCheck.StateM) -> (eta, Data.Either.Right @ GHC.Base.String @ () GHC.Tuple.())) -} 11a032a9fe1e611420e9ec90c54314a4 $tc'C:Checkable :: GHC.Types.TyCon {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.TyCon 2600641354689013426## 18198926412199834001## Language.Fixpoint.SortCheck.$trModule Language.Fixpoint.SortCheck.$tc'C:Checkable1) -} 14577333d77cb13b0ba34b36f737f394 $tc'C:Checkable1 :: GHC.Types.TrName {- HasNoCafRefs, Strictness: m1, Unfolding: (GHC.Types.TrNameS "'C:Checkable"#) -} 1a20efe6c9f7c99d2f4961370800d34b $tc'C:Elaborate :: GHC.Types.TyCon {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.TyCon 4975043004457239730## 11934375250871685483## Language.Fixpoint.SortCheck.$trModule Language.Fixpoint.SortCheck.$tc'C:Elaborate1) -} 8f1e62a1ca7ecb49e41e95857326da70 $tc'C:Elaborate1 :: GHC.Types.TrName {- HasNoCafRefs, Strictness: m1, Unfolding: (GHC.Types.TrNameS "'C:Elaborate"#) -} 4b685cb5b6e56ce68e7b3ccfca4c936a $tc'C:Freshable :: GHC.Types.TyCon {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.TyCon 12265751164090802254## 8871068818980699377## Language.Fixpoint.SortCheck.$trModule Language.Fixpoint.SortCheck.$tc'C:Freshable1) -} 9f39c62f02b6e470d55d25dfa69e9da3 $tc'C:Freshable1 :: GHC.Types.TrName {- HasNoCafRefs, Strictness: m1, Unfolding: (GHC.Types.TrNameS "'C:Freshable"#) -} 0cafedf011814713b021ed0f26d6bfe9 $tc'CM :: GHC.Types.TyCon {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.TyCon 13813070550884912909## 15415949274671991538## Language.Fixpoint.SortCheck.$trModule Language.Fixpoint.SortCheck.$tc'CM1) -} 3453cb54583b2a5b2162a97b20b738ee $tc'CM1 :: GHC.Types.TrName {- HasNoCafRefs, Strictness: m1, Unfolding: (GHC.Types.TrNameS "'CM"#) -} 39e0d70fb41ca3d5fd31efdfbea0035f $tc'Th :: GHC.Types.TyCon {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.TyCon 10733816306478073975## 9035747196880836279## Language.Fixpoint.SortCheck.$trModule Language.Fixpoint.SortCheck.$tc'Th1) -} ceb2a22cfd7f69ed0f57f77e3add5587 $tc'Th1 :: GHC.Types.TrName {- HasNoCafRefs, Strictness: m1, Unfolding: (GHC.Types.TrNameS "'Th"#) -} 1c307e0ea91477133d960ab46f7ed8c9 $tcCheckM :: GHC.Types.TyCon {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.TyCon 1113128910831127546## 1828512190049433231## Language.Fixpoint.SortCheck.$trModule Language.Fixpoint.SortCheck.$tcCheckM1) -} 0db457b01d652cda1981551bc68ec078 $tcCheckM1 :: GHC.Types.TrName {- HasNoCafRefs, Strictness: m1, Unfolding: (GHC.Types.TrNameS "CheckM"#) -} 5d97510590fb28c9f71021b808322e9c $tcCheckable :: GHC.Types.TyCon {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.TyCon 5457312226269668597## 8610170744122537114## Language.Fixpoint.SortCheck.$trModule Language.Fixpoint.SortCheck.$tcCheckable1) -} cd5cb225bb7462fab8d3479eec859b67 $tcCheckable1 :: GHC.Types.TrName {- HasNoCafRefs, Strictness: m1, Unfolding: (GHC.Types.TrNameS "Checkable"#) -} 32b4920d386955a272e82dbe0052298c $tcElaborate :: GHC.Types.TyCon {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.TyCon 16039853953175704574## 6061761994353586937## Language.Fixpoint.SortCheck.$trModule Language.Fixpoint.SortCheck.$tcElaborate1) -} 5a42bf842b759c1b00496b4b71a39b32 $tcElaborate1 :: GHC.Types.TrName {- HasNoCafRefs, Strictness: m1, Unfolding: (GHC.Types.TrNameS "Elaborate"#) -} 2da825f9aa6a1817a0bbbd1026c71d7a $tcFreshable :: GHC.Types.TyCon {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.TyCon 13476478334153122573## 11822090883886491790## Language.Fixpoint.SortCheck.$trModule Language.Fixpoint.SortCheck.$tcFreshable1) -} 31c069973465ed115173efc59d7d3ae1 $tcFreshable1 :: GHC.Types.TrName {- HasNoCafRefs, Strictness: m1, Unfolding: (GHC.Types.TrNameS "Freshable"#) -} 2b2054674b5d22478573d64e6d958f1b $tcTVSubst :: GHC.Types.TyCon {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.TyCon 4642745770907589699## 16826526991514837649## Language.Fixpoint.SortCheck.$trModule Language.Fixpoint.SortCheck.$tcTVSubst1) -} b80a9ffe9cf0be46c111eb16a8c07b58 $tcTVSubst1 :: GHC.Types.TrName {- HasNoCafRefs, Strictness: m1, Unfolding: (GHC.Types.TrNameS "TVSubst"#) -} e9b721e31574b86cf8a28dc8f3b7dfae $trModule :: GHC.Types.Module {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.Module Language.Fixpoint.SortCheck.$trModule2 Language.Fixpoint.SortCheck.$trModule1) -} 1fbd7371e167804c7c274b1ff5f68778 $trModule1 :: GHC.Types.TrName {- HasNoCafRefs, Strictness: m1, Unfolding: (GHC.Types.TrNameS "Language.Fixpoint.SortCheck"#) -} e82a247dd93f0bc586c5f0d8acd8204a $trModule2 :: GHC.Types.TrName {- HasNoCafRefs, Strictness: m1, Unfolding: (GHC.Types.TrNameS "liquid-fixpoint-0.6.0.1-6TLfofWrTFvFP1QJmA2Rhf"#) -} b6db68f66614066f5bd5a186dc878c84 $w$ccheck :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Names.Symbol -> Language.Fixpoint.Types.Refinements.Expr -> Language.Fixpoint.SortCheck.CheckM () {- Arity: 4, Strictness: , Inline: [0], Unfolding: (\ (w :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (ww :: Language.Fixpoint.Types.Sorts.Sort) (ww1 :: Language.Fixpoint.Types.Names.Symbol) (ww2 :: Language.Fixpoint.Types.Refinements.Expr) -> let { ds :: Language.Fixpoint.SortCheck.CheckM Language.Fixpoint.Types.Sorts.Sort = let { γ :: Data.HashMap.Base.HashMap Language.Fixpoint.Types.Names.Symbol Language.Fixpoint.Types.Sorts.Sort = case ww1 of ww3 { Language.Fixpoint.Types.Names.S ww4 ww5 ww6 -> case ww5 of ww7 { Data.Text.Internal.Text ww8 ww9 ww10 -> Language.Fixpoint.Types.Environments.$w$sinsert @ Language.Fixpoint.Types.Sorts.Sort ww4 ww8 ww9 ww10 ww6 ww w `cast` (Language.Fixpoint.Types.Environments.N:SEnv[0] _N) } } } in Language.Fixpoint.SortCheck.checkExpr (\ (ds1 :: Language.Fixpoint.Types.Names.Symbol) -> Language.Fixpoint.Types.Environments.lookupSEnvWithDistance @ Language.Fixpoint.Types.Sorts.Sort ds1 γ `cast` (Sym (Language.Fixpoint.Types.Environments.N:SEnv[0]) _N)) ww2 } in (\ (i :: Language.Fixpoint.SortCheck.StateM) -> case ds `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] _R) i of wild { (,) j ds1 -> case ds1 of wild1 { Data.Either.Left s7 -> (j, Data.Either.Left @ GHC.Base.String @ () s7) Data.Either.Right x -> (j, Language.Fixpoint.SortCheck.$fCheckableExpr1) } }) `cast` (Sym (Language.Fixpoint.SortCheck.N:CheckM[0] <()>_R))) -} a7ddf5778ff53a9477d1f4c1c3e73892 $w$celaborate :: GHC.Base.String -> Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Data.HashMap.Base.HashMap Language.Fixpoint.Types.Constraints.SubcId (Language.Fixpoint.Types.Constraints.SimpC a) -> Data.HashMap.Base.HashMap Language.Fixpoint.Types.Refinements.KVar (Language.Fixpoint.Types.Constraints.WfC a) -> GHC.Prim.Int# -> Language.Fixpoint.Types.Environments.BindMap (Language.Fixpoint.Types.Names.Symbol, Language.Fixpoint.Types.Refinements.SortedReft) -> Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Constraints.Kuts -> [Language.Fixpoint.Types.Constraints.Qualifier] -> Data.HashMap.Base.HashMap Language.Fixpoint.Types.Environments.BindId a -> Language.Fixpoint.Types.Constraints.HOInfo -> [Language.Fixpoint.Types.Triggers.Triggered Language.Fixpoint.Types.Refinements.Expr] -> Language.Fixpoint.Types.Constraints.AxiomEnv -> Language.Fixpoint.Types.Constraints.GInfo Language.Fixpoint.Types.Constraints.SimpC a {- Arity: 14, Strictness: , Inline: [0] -} 3eb0dc1cf3ca5ac38bd2f7467d01aea5 $w$celaborate1 :: GHC.Base.String -> Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> GHC.Prim.Int# -> Language.Fixpoint.Types.Environments.BindMap (Language.Fixpoint.Types.Names.Symbol, Language.Fixpoint.Types.Refinements.SortedReft) -> (# GHC.Prim.Int#, Language.Fixpoint.Types.Environments.BindMap (Language.Fixpoint.Types.Names.Symbol, Language.Fixpoint.Types.Refinements.SortedReft) #) {- Arity: 4, Strictness: , Inline: [0], Unfolding: (\ (w :: GHC.Base.String) (w1 :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (ww :: GHC.Prim.Int#) (ww1 :: Language.Fixpoint.Types.Environments.BindMap (Language.Fixpoint.Types.Names.Symbol, Language.Fixpoint.Types.Refinements.SortedReft)) -> Language.Fixpoint.Types.Environments.$wmapBindEnv (\ (i :: Language.Fixpoint.Types.Environments.BindId) (ds :: (Language.Fixpoint.Types.Names.Symbol, Language.Fixpoint.Types.Refinements.SortedReft))[OneShot] -> case ds of wild { (,) x sr -> (x, case sr of ww2 { Language.Fixpoint.Types.Refinements.RR ww3 ww4 -> case ww4 `cast` (Language.Fixpoint.Types.Refinements.N:Reft[0]) of ww5 { (,) ww6 ww7 -> Language.Fixpoint.Types.Refinements.RR ww3 (ww6, Language.Fixpoint.SortCheck.$fElaborateExpr_$celaborate (GHC.Base.++ @ GHC.Types.Char w (GHC.Base.++ @ GHC.Types.Char Language.Fixpoint.SortCheck.$fElaborateSizedEnv2 (GHC.Types.: @ GHC.Types.Char Language.Fixpoint.SortCheck.$fElaborateSizedEnv1 (case i of ww8 { GHC.Types.I# ww9 -> case GHC.Show.$wshowSignedInt 0# ww9 (GHC.Types.[] @ GHC.Types.Char) of ww10 { (#,#) ww11 ww12 -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww11 ww12) (GHC.Types.: @ GHC.Types.Char Language.Fixpoint.SortCheck.$fElaborateSizedEnv1 (case Data.Text.Show.$w$cshow (case x of wild1 { Language.Fixpoint.Types.Names.S dt ds1 ds2 -> ds1 }) of ww13 { (#,#) ww14 ww15 -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww14 ww15) (GHC.Types.: @ GHC.Types.Char Language.Fixpoint.SortCheck.$fElaborateSizedEnv1 (GHC.Base.++ @ GHC.Types.Char (Language.Fixpoint.Types.Substitutions.$fShowSortedReft_$cshow ww2) (GHC.Types.[] @ GHC.Types.Char))) })) } })))) (case ww6 of ww8 { Language.Fixpoint.Types.Names.S ww9 ww10 ww11 -> case ww10 of ww12 { Data.Text.Internal.Text ww13 ww14 ww15 -> (Language.Fixpoint.Types.Environments.$w$sinsert @ Language.Fixpoint.Types.Sorts.Sort ww9 ww13 ww14 ww15 ww11 ww3 w1 `cast` (Language.Fixpoint.Types.Environments.N:SEnv[0] _N)) `cast` (Sym (Language.Fixpoint.Types.Environments.N:SEnv[0]) _N) } }) ww7) `cast` (Sym (Language.Fixpoint.Types.Refinements.N:Reft[0])) } }) }) ww ww1) -} cd0571f7217eba41b5cb926e34b36534 $w$cshowsPrec :: GHC.Prim.Int# -> Language.Fixpoint.SortCheck.TVSubst -> GHC.Show.ShowS {- Arity: 2, Strictness: , Inline: [0], Unfolding: (\ (ww :: GHC.Prim.Int#) (w :: Language.Fixpoint.SortCheck.TVSubst) -> let { g :: GHC.Base.String -> GHC.Base.String = Data.HashMap.Base.$w$cshowsPrec @ GHC.Types.Int @ Language.Fixpoint.Types.Sorts.Sort GHC.Show.$fShowInt Language.Fixpoint.Types.Sorts.$fShowSort 11# w `cast` (Language.Fixpoint.SortCheck.N:TVSubst[0]) } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww 11#) of wild { GHC.Types.False -> \ (x :: GHC.Base.String) -> GHC.Base.++ @ GHC.Types.Char Language.Fixpoint.SortCheck.$fShowTVSubst2 (g x) GHC.Types.True -> \ (x :: GHC.Base.String) -> GHC.Types.: @ GHC.Types.Char GHC.Show.shows7 (GHC.Base.++ @ GHC.Types.Char Language.Fixpoint.SortCheck.$fShowTVSubst2 (g (GHC.Types.: @ GHC.Types.Char GHC.Show.shows4 x))) }) -} b66fc86237b24f1cb9dc9c0055614bb1 $w$s$wupdateOrSnocWithKey :: (GHC.Types.Int -> v -> v -> v) -> GHC.Prim.Int# -> v -> GHC.Prim.Array# (Data.HashMap.Base.Leaf GHC.Types.Int v) -> GHC.Prim.Array# (Data.HashMap.Base.Leaf GHC.Types.Int v) {- Arity: 4, Strictness: , Inline: [0], Unfolding: (\ @ v (w :: GHC.Types.Int -> v -> v -> v) (ww :: GHC.Prim.Int#) (w1 :: v) (w2 :: GHC.Prim.Array# (Data.HashMap.Base.Leaf GHC.Types.Int v)) -> letrec { $wgo8 :: GHC.Prim.Int# -> v -> GHC.Prim.Array# (Data.HashMap.Base.Leaf GHC.Types.Int v) -> GHC.Prim.Int# -> GHC.Prim.Int# -> GHC.Prim.Array# (Data.HashMap.Base.Leaf GHC.Types.Int v) {- Arity: 5, Strictness: , Inline: [0] -} = \ (ww1 :: GHC.Prim.Int#) (w3 :: v) (ww2 :: GHC.Prim.Array# (Data.HashMap.Base.Leaf GHC.Types.Int v)) (ww3 :: GHC.Prim.Int#) (ww4 :: GHC.Prim.Int#) -> let { k2 :: GHC.Types.Int = GHC.Types.I# ww1 } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww3 ww4) of wild { GHC.Types.False -> case GHC.Prim.indexArray# @ (Data.HashMap.Base.Leaf GHC.Types.Int v) ww2 ww3 of ds { Unit# ipv3 -> case ipv3 of wild1 { Data.HashMap.Base.L kx y -> case kx of wild2 { GHC.Types.I# y1 -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.==# ww1 y1) of wild3 { GHC.Types.False -> $wgo8 ww1 w3 ww2 (GHC.Prim.+# ww3 1#) ww4 GHC.Types.True -> case GHC.Prim.thawArray# @ (Data.HashMap.Base.Leaf GHC.Types.Int v) @ GHC.Prim.RealWorld ww2 0# (GHC.Prim.sizeofArray# @ (Data.HashMap.Base.Leaf GHC.Types.Int v) ww2) GHC.Prim.realWorld# of ds1 { (#,#) ipv4 ipv5 -> case GHC.Prim.writeArray# @ GHC.Prim.RealWorld @ (Data.HashMap.Base.Leaf GHC.Types.Int v) ipv5 ww3 (Data.HashMap.Base.L @ GHC.Types.Int @ v k2 (w k2 w3 y)) ipv4 of s' { DEFAULT -> case GHC.Prim.unsafeFreezeArray# @ GHC.Prim.RealWorld @ (Data.HashMap.Base.Leaf GHC.Types.Int v) ipv5 s' of ds2 { (#,#) ipv6 ipv7 -> ipv7 } } } } } } } GHC.Types.True -> case GHC.Prim.newArray# @ (Data.HashMap.Base.Leaf GHC.Types.Int v) @ GHC.Prim.RealWorld (GHC.Prim.+# ww4 1#) (Data.HashMap.Array.undefinedElem @ (Data.HashMap.Base.Leaf GHC.Types.Int v)) GHC.Prim.realWorld# of ds { (#,#) ipv3 ipv4 -> case GHC.Prim.copyArray# @ (Data.HashMap.Base.Leaf GHC.Types.Int v) @ GHC.Prim.RealWorld ww2 0# ipv4 0# ww4 ipv3 of s7 { DEFAULT -> case GHC.Prim.writeArray# @ GHC.Prim.RealWorld @ (Data.HashMap.Base.Leaf GHC.Types.Int v) ipv4 ww4 (Data.HashMap.Base.L @ GHC.Types.Int @ v k2 w3) s7 of s' { DEFAULT -> case GHC.Prim.unsafeFreezeArray# @ GHC.Prim.RealWorld @ (Data.HashMap.Base.Leaf GHC.Types.Int v) ipv4 s' of ds1 { (#,#) ipv5 ipv6 -> ipv6 } } } } } } in $wgo8 ww w1 w2 0# (GHC.Prim.sizeofArray# @ (Data.HashMap.Base.Leaf GHC.Types.Int v) w2)) -} fd5039555cd678c621a602174071c247 $wcheckSortedReft :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Refinements.SortedReft -> [Language.Fixpoint.Types.Names.Symbol] -> Language.Fixpoint.Types.Names.Symbol -> Language.Fixpoint.Types.Refinements.Expr -> GHC.Base.Maybe Text.PrettyPrint.HughesPJ.Doc {- Arity: 4, Strictness: , Inline: [0], Unfolding: (\ (w :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Refinements.SortedReft) (w1 :: [Language.Fixpoint.Types.Names.Symbol]) (ww :: Language.Fixpoint.Types.Names.Symbol) (ww1 :: Language.Fixpoint.Types.Refinements.Expr) -> let { lvl111 :: [Language.Fixpoint.Types.Names.Symbol] = GHC.Types.: @ Language.Fixpoint.Types.Names.Symbol ww w1 } in letrec { go5 :: [Language.Fixpoint.Types.Names.Symbol] -> [Language.Fixpoint.Types.Names.Symbol] {- Arity: 1, Strictness: -} = \ (ds :: [Language.Fixpoint.Types.Names.Symbol]) -> case ds of wild { [] -> GHC.Types.[] @ Language.Fixpoint.Types.Names.Symbol : y ys -> case GHC.List.elem @ Language.Fixpoint.Types.Names.Symbol Language.Fixpoint.Types.Names.$fEqSymbol y lvl111 of wild1 { GHC.Types.False -> case y of ww2 { Language.Fixpoint.Types.Names.S ww3 ww4 ww5 -> case ww4 of ww6 { Data.Text.Internal.Text ww7 ww8 ww9 -> case {__pkg_ccall hashable-1.2.6.0@hashable-1.2.6.0-3EXxoqeEgbfAKr6aGkye6x hashable_fnv_hash_offset GHC.Prim.ByteArray# -> GHC.Prim.Int# -> GHC.Prim.Int# -> GHC.Prim.Int# -> GHC.Prim.State# GHC.Prim.RealWorld -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Prim.Int# #)} ww7 (GHC.Prim.uncheckedIShiftL# ww8 1#) (GHC.Prim.uncheckedIShiftL# ww9 1#) -2578643520546668380# GHC.Prim.realWorld# of wild2 { (#,#) ds1 ds2 -> case Language.Fixpoint.Types.Environments.$wpoly_go12 @ Language.Fixpoint.Types.Refinements.SortedReft (GHC.Prim.int2Word# ds2) ww3 0# w `cast` (Language.Fixpoint.Types.Environments.N:SEnv[0] _N) of wild3 { GHC.Base.Nothing -> GHC.Types.: @ Language.Fixpoint.Types.Names.Symbol ww2 (go5 ys) GHC.Base.Just ds4 -> go5 ys } } } } GHC.Types.True -> go5 ys } } } in case go5 (GHC.Types.: @ Language.Fixpoint.Types.Names.Symbol ww (Language.Fixpoint.Types.Substitutions.$fSubableReft_go ww1)) of wild { [] -> GHC.Base.Nothing @ Text.PrettyPrint.HughesPJ.Doc : ipv ipv1 -> GHC.Base.Just @ Text.PrettyPrint.HughesPJ.Doc (case Text.PrettyPrint.Annotated.HughesPJ.punctuate @ () Language.Fixpoint.Types.PrettyPrint.$fFixpointHashSet5 `cast` (Text.PrettyPrint.HughesPJ.N:Doc[0]) (Language.Fixpoint.SortCheck.checkSortedReft_go1 wild) of wild1 { [] -> case Language.Fixpoint.SortCheck.checkSortedReft2 `cast` (Text.PrettyPrint.HughesPJ.N:Doc[0]) of wild2 { DEFAULT -> (Text.PrettyPrint.Annotated.HughesPJ.Beside @ () wild2 GHC.Types.True Language.Fixpoint.SortCheck.checkSortedReft1) `cast` (Sym (Text.PrettyPrint.HughesPJ.N:Doc[0])) Text.PrettyPrint.Annotated.HughesPJ.Empty -> Language.Fixpoint.SortCheck.checkSortedReft1 `cast` (Sym (Text.PrettyPrint.HughesPJ.N:Doc[0])) } : p ps -> case Text.PrettyPrint.Annotated.HughesPJ.$wsep1 @ () GHC.Types.True (Text.PrettyPrint.Annotated.HughesPJ.reduceDoc @ () p) 0# ps of wild2 { DEFAULT -> case Language.Fixpoint.SortCheck.checkSortedReft2 `cast` (Text.PrettyPrint.HughesPJ.N:Doc[0]) of wild3 { DEFAULT -> (Text.PrettyPrint.Annotated.HughesPJ.Beside @ () wild3 GHC.Types.True (Text.PrettyPrint.Annotated.HughesPJ.Beside @ () (Text.PrettyPrint.Annotated.HughesPJ.Beside @ () Text.PrettyPrint.HughesPJ.brackets4 GHC.Types.False wild2) GHC.Types.False Text.PrettyPrint.HughesPJ.brackets1)) `cast` (Sym (Text.PrettyPrint.HughesPJ.N:Doc[0])) Text.PrettyPrint.Annotated.HughesPJ.Empty -> (Text.PrettyPrint.Annotated.HughesPJ.Beside @ () (Text.PrettyPrint.Annotated.HughesPJ.Beside @ () Text.PrettyPrint.HughesPJ.brackets4 GHC.Types.False wild2) GHC.Types.False Text.PrettyPrint.HughesPJ.brackets1) `cast` (Sym (Text.PrettyPrint.HughesPJ.N:Doc[0])) } Text.PrettyPrint.Annotated.HughesPJ.Empty -> case Language.Fixpoint.SortCheck.checkSortedReft2 `cast` (Text.PrettyPrint.HughesPJ.N:Doc[0]) of wild3 { DEFAULT -> (Text.PrettyPrint.Annotated.HughesPJ.Beside @ () wild3 GHC.Types.True Language.Fixpoint.SortCheck.checkSortedReft1) `cast` (Sym (Text.PrettyPrint.HughesPJ.N:Doc[0])) Text.PrettyPrint.Annotated.HughesPJ.Empty -> Language.Fixpoint.SortCheck.checkSortedReft1 `cast` (Sym (Text.PrettyPrint.HughesPJ.N:Doc[0])) } } }) }) -} a5b05385e00033a4ff6d99a6a384dfb7 $welab :: Language.Fixpoint.SortCheck.Env -> Language.Fixpoint.Types.Refinements.Expr -> Language.Fixpoint.SortCheck.StateM -> (# Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String (Language.Fixpoint.Types.Refinements.Expr, Language.Fixpoint.Types.Sorts.Sort) #) {- Arity: 3, Strictness: , Inline: [0] -} a15f508b03760ef92acee3db470c9d91 $wgo :: [GHC.Integer.Type.Integer] -> Language.Fixpoint.SortCheck.StateM -> (# Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String [GHC.Types.Int] #) {- Arity: 2, HasNoCafRefs, Strictness: , Inline: [0] -} dafa4f2a25e78b29ce237e0fc0bc3104 $wpoly_go1 :: GHC.Prim.Word# -> GHC.Prim.Int# -> GHC.Prim.Int# -> Data.HashMap.Base.HashMap GHC.Types.Int v -> GHC.Base.Maybe v {- Arity: 4, HasNoCafRefs, Strictness: , Inline: [0] -} d5f3fe4e2d53619fb1aa533fbce06136 $wpoly_go2 :: GHC.Prim.Int# -> GHC.Prim.Array# (Data.HashMap.Base.Leaf GHC.Types.Int v) -> GHC.Prim.Int# -> GHC.Prim.Int# -> GHC.Base.Maybe v {- Arity: 4, HasNoCafRefs, Strictness: , Inline: [0] -} 2a5989db453ecc1e17bdea350418123e $wpoly_go3 :: GHC.Prim.Word# -> GHC.Prim.Int# -> v -> GHC.Prim.Int# -> Data.HashMap.Base.HashMap GHC.Types.Int v -> Data.HashMap.Base.HashMap GHC.Types.Int v {- Arity: 5, Strictness: , Inline: [0] -} b5f47a2090b8e25f530f9e72bdba29b1 $wpruneUnsortedReft :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Names.Symbol -> Language.Fixpoint.Types.Refinements.Expr -> (# Language.Fixpoint.Types.Sorts.Sort, Language.Fixpoint.Types.Refinements.Reft #) {- Arity: 4, Strictness: , Inline: [0], Unfolding: (\ (w :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (ww :: Language.Fixpoint.Types.Sorts.Sort) (ww1 :: Language.Fixpoint.Types.Names.Symbol) (ww2 :: Language.Fixpoint.Types.Refinements.Expr) -> (# ww, (ww1, let { ds :: Data.HashMap.Base.HashMap Language.Fixpoint.Types.Names.Symbol Language.Fixpoint.Types.Sorts.Sort = case ww1 of ww3 { Language.Fixpoint.Types.Names.S ww4 ww5 ww6 -> case ww5 of ww7 { Data.Text.Internal.Text ww8 ww9 ww10 -> Language.Fixpoint.Types.Environments.$w$sinsert @ Language.Fixpoint.Types.Sorts.Sort ww4 ww8 ww9 ww10 ww6 ww w `cast` (Language.Fixpoint.Types.Environments.N:SEnv[0] _N) } } } in let { f :: Language.Fixpoint.SortCheck.Env {- Arity: 1, Strictness: , Unfolding: InlineRule (1, True, False) (\ (ds1 :: Language.Fixpoint.Types.Names.Symbol) -> Language.Fixpoint.Types.Environments.lookupSEnvWithDistance @ Language.Fixpoint.Types.Sorts.Sort ds1 ds `cast` (Sym (Language.Fixpoint.Types.Environments.N:SEnv[0]) _N)) -} = \ (ds1 :: Language.Fixpoint.Types.Names.Symbol) -> Language.Fixpoint.Types.Environments.lookupSEnvWithDistance @ Language.Fixpoint.Types.Sorts.Sort ds1 ds `cast` (Sym (Language.Fixpoint.Types.Environments.N:SEnv[0]) _N) } in case case ww2 of wild { DEFAULT -> case Language.Fixpoint.Types.Refinements.isTautoPred wild of wild1 { GHC.Types.False -> case (Language.Fixpoint.SortCheck.checkPred f wild) `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] <()>_R) Language.Fixpoint.SortCheck.initCM of wild2 { (,) ds1 y -> case y of wild3 { Data.Either.Left _err -> GHC.Types.[] @ Language.Fixpoint.Types.Refinements.Expr Data.Either.Right ds2 -> GHC.Types.: @ Language.Fixpoint.Types.Refinements.Expr wild (GHC.Types.[] @ Language.Fixpoint.Types.Refinements.Expr) } } GHC.Types.True -> GHC.Types.[] @ Language.Fixpoint.Types.Refinements.Expr } Language.Fixpoint.Types.Refinements.PAnd ps -> Data.Maybe.mapMaybe @ Language.Fixpoint.Types.Refinements.Expr @ Language.Fixpoint.Types.Refinements.Expr (\ (p :: Language.Fixpoint.Types.Refinements.Expr) -> case (Language.Fixpoint.SortCheck.checkPred f p) `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] <()>_R) Language.Fixpoint.SortCheck.initCM of wild1 { (,) ds1 y -> case y of wild2 { Data.Either.Left _err -> GHC.Base.Nothing @ Language.Fixpoint.Types.Refinements.Expr Data.Either.Right ds2 -> GHC.Base.Just @ Language.Fixpoint.Types.Refinements.Expr p } }) (Language.Fixpoint.Types.Refinements.conjuncts_go ps) } of dt { DEFAULT -> Language.Fixpoint.Types.Refinements.$fFixpointExpr_$csimplify (Language.Fixpoint.Types.Refinements.PAnd dt) }) `cast` (Sym (Language.Fixpoint.Types.Refinements.N:Reft[0])) #)) -} ce9ec5460577bb8733c131126af46a47 $wunify1 :: Language.Fixpoint.SortCheck.Env -> GHC.Base.Maybe Language.Fixpoint.Types.Refinements.Expr -> Language.Fixpoint.SortCheck.TVSubst -> Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.SortCheck.StateM -> (# Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String Language.Fixpoint.SortCheck.TVSubst #) {- Arity: 6, Strictness: , Inline: [0] -} 2997c627e3a6fa47db1dda51cd1f2f19 newtype CheckM a = CM {runCM :: Language.Fixpoint.SortCheck.StateM -> (Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String a)} 01391e6bd070e01fd0debedbf8c20d1c class Checkable a where check :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> a -> Language.Fixpoint.SortCheck.CheckM () checkSort :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Sorts.Sort -> a -> Language.Fixpoint.SortCheck.CheckM () {-# MINIMAL check #-} 0dab6df67f88eb62ddc29abc778a5db9 class Elaborate a where elaborate :: GHC.Base.String -> Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> a -> a {-# MINIMAL elaborate #-} d150d28cd1549b097a537e6234c62038 type Env = Language.Fixpoint.Types.Names.Symbol -> Language.Fixpoint.Types.Environments.SESearch Language.Fixpoint.Types.Sorts.Sort 81630f685b413e339ceb41a6eb9f86e7 class Freshable a where fresh :: Language.Fixpoint.SortCheck.CheckM a refresh :: a -> Language.Fixpoint.SortCheck.CheckM a {-# MINIMAL fresh #-} 05e1fd9d21877f575d68a57a9b825bf6 type StateM = GHC.Types.Int cd0571f7217eba41b5cb926e34b36534 newtype TVSubst = Th (Data.HashMap.Base.HashMap GHC.Types.Int Language.Fixpoint.Types.Sorts.Sort) cd5cd4a92fb0f8664cfdec9f89938101 apply :: Language.Fixpoint.SortCheck.TVSubst -> Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Sorts.Sort {- Arity: 2, HasNoCafRefs, Strictness: , Unfolding: (\ (θ :: Language.Fixpoint.SortCheck.TVSubst) (eta :: Language.Fixpoint.Types.Sorts.Sort) -> Language.Fixpoint.SortCheck.sortMap (\ (t :: Language.Fixpoint.Types.Sorts.Sort) -> case t of wild { DEFAULT -> wild Language.Fixpoint.Types.Sorts.FVar dt -> case Language.Fixpoint.SortCheck.$wpoly_go1 @ Language.Fixpoint.Types.Sorts.Sort (GHC.Prim.int2Word# dt) dt 0# θ `cast` (Language.Fixpoint.SortCheck.N:TVSubst[0]) of wild1 { GHC.Base.Nothing -> wild GHC.Base.Just v -> v } }) eta) -} 81c585c00dcdb05458f32c5ed5bde037 checkExpr :: Language.Fixpoint.SortCheck.Env -> Language.Fixpoint.Types.Refinements.Expr -> Language.Fixpoint.SortCheck.CheckM Language.Fixpoint.Types.Sorts.Sort {- Arity: 2, Strictness: -} 63da9ae64089ad21f4104fe717899e60 checkPred :: Language.Fixpoint.SortCheck.Env -> Language.Fixpoint.Types.Refinements.Expr -> Language.Fixpoint.SortCheck.CheckM () {- Arity: 2, Strictness: , Unfolding: (\ (f :: Language.Fixpoint.SortCheck.Env) (e :: Language.Fixpoint.Types.Refinements.Expr) -> let { lvl111 :: GHC.Base.String = Text.PrettyPrint.Annotated.HughesPJ.fullRenderAnn @ () @ GHC.Base.String Text.PrettyPrint.Annotated.HughesPJ.PageMode Text.PrettyPrint.Annotated.HughesPJ.render3 Text.PrettyPrint.Annotated.HughesPJ.render2 Language.Fixpoint.Types.PrettyPrint.docBox1 (GHC.Types.[] @ GHC.Types.Char) (Language.Fixpoint.Types.Refinements.$w$cpprintPrec Language.Fixpoint.Types.PrettyPrint.pprint1 e) `cast` (Text.PrettyPrint.HughesPJ.N:Doc[0]) } in let { lvl112 :: Text.Printf.ModifierParser {- Arity: 1 -} = Language.Fixpoint.Types.Spans.$fPPrintSrcSpan_$s$fPrintfArg[]_$cparseFormat lvl111 } in let { lvl113 :: Text.Printf.FieldFormat -> GHC.Show.ShowS {- Arity: 1 -} = \ (w2 :: Text.Printf.FieldFormat) -> case w2 of ww { Text.Printf.FieldFormat ww1 ww2 ww3 ww4 ww5 ww6 ww7 -> case ww7 of ww8 { GHC.Types.C# ww9 -> Text.Printf.$wformatString @ GHC.Types.Char Text.Printf.$fIsCharChar lvl111 ww1 ww2 ww3 ww9 } } } in let { lvl114 :: (Text.Printf.ModifierParser, Text.Printf.FieldFormatter) = (lvl112, lvl113) } in let { lvl115 :: [(Text.Printf.ModifierParser, Text.Printf.FieldFormatter)] = GHC.Types.: @ (Text.Printf.ModifierParser, Text.Printf.FieldFormatter) lvl114 (GHC.Types.[] @ Text.Printf.UPrintf) } in let { ds :: Language.Fixpoint.SortCheck.CheckM Language.Fixpoint.Types.Sorts.Sort = Language.Fixpoint.SortCheck.checkExpr f e } in (\ (i :: Language.Fixpoint.SortCheck.StateM) -> case ds `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] _R) i of wild { (,) j ds1 -> case ds1 of wild1 { Data.Either.Left s7 -> (j, Data.Either.Left @ GHC.Base.String @ () s7) Data.Either.Right x -> case Language.Fixpoint.Types.Sorts.$fEqSort_$c== x Language.Fixpoint.Types.Sorts.boolSort of wild2 { GHC.Types.False -> (j, Data.Either.Left @ GHC.Base.String @ () (let { a1 :: [GHC.Types.Char] = Text.PrettyPrint.Annotated.HughesPJ.fullRenderAnn @ () @ GHC.Base.String Text.PrettyPrint.Annotated.HughesPJ.PageMode Text.PrettyPrint.Annotated.HughesPJ.render3 Text.PrettyPrint.Annotated.HughesPJ.render2 Language.Fixpoint.Types.PrettyPrint.docBox1 (GHC.Types.[] @ GHC.Types.Char) (Language.Fixpoint.Types.Sorts.toFixSort x) `cast` (Text.PrettyPrint.HughesPJ.N:Doc[0]) } in Language.Fixpoint.SortCheck.$sprintf3 Language.Fixpoint.SortCheck.pruneUnsortedReft1 (GHC.Types.: @ (Text.Printf.ModifierParser, Text.Printf.FieldFormatter) (Language.Fixpoint.Types.Spans.$fPPrintSrcSpan_$s$fPrintfArg[]_$cparseFormat a1, \ (w2 :: Text.Printf.FieldFormat) -> case w2 of ww { Text.Printf.FieldFormat ww1 ww2 ww3 ww4 ww5 ww6 ww7 -> case ww7 of ww8 { GHC.Types.C# ww9 -> Text.Printf.$wformatString @ GHC.Types.Char Text.Printf.$fIsCharChar a1 ww1 ww2 ww3 ww9 } }) lvl115))) GHC.Types.True -> (j, Language.Fixpoint.SortCheck.$fCheckableExpr1) } } }) `cast` (Sym (Language.Fixpoint.SortCheck.N:CheckM[0] <()>_R))) -} 4c8095767e6c0674ee9d2d18e1e3e042 checkSortExpr :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Refinements.Expr -> GHC.Base.Maybe Language.Fixpoint.Types.Sorts.Sort {- Arity: 2, Strictness: , Unfolding: (\ (γ :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (e :: Language.Fixpoint.Types.Refinements.Expr) -> case (Language.Fixpoint.SortCheck.checkExpr (\ (x :: Language.Fixpoint.Types.Names.Symbol) -> case x of ww { Language.Fixpoint.Types.Names.S ww1 ww2 ww3 -> case ww2 of ww4 { Data.Text.Internal.Text ww5 ww6 ww7 -> case {__pkg_ccall hashable-1.2.6.0@hashable-1.2.6.0-3EXxoqeEgbfAKr6aGkye6x hashable_fnv_hash_offset GHC.Prim.ByteArray# -> GHC.Prim.Int# -> GHC.Prim.Int# -> GHC.Prim.Int# -> GHC.Prim.State# GHC.Prim.RealWorld -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Prim.Int# #)} ww5 (GHC.Prim.uncheckedIShiftL# ww6 1#) (GHC.Prim.uncheckedIShiftL# ww7 1#) -2578643520546668380# GHC.Prim.realWorld# of wild1 { (#,#) ds1 ds2 -> case Language.Fixpoint.Types.Environments.$wpoly_go12 @ Language.Fixpoint.Types.Sorts.Sort (GHC.Prim.int2Word# ds2) ww1 0# γ `cast` (Language.Fixpoint.Types.Environments.N:SEnv[0] _N) of wild { GHC.Base.Nothing -> Language.Fixpoint.SortCheck.checkSortExpr1 GHC.Base.Just z -> Language.Fixpoint.Types.Environments.Found @ Language.Fixpoint.Types.Sorts.Sort z } } } }) e) `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] _R) Language.Fixpoint.SortCheck.initCM of wild { (,) ds1 y -> case y of wild1 { Data.Either.Left ds -> GHC.Base.Nothing @ Language.Fixpoint.Types.Sorts.Sort Data.Either.Right s7 -> GHC.Base.Just @ Language.Fixpoint.Types.Sorts.Sort s7 } }) -} 8a40998100376e8e26a945897a280d6f checkSortExpr1 :: Language.Fixpoint.Types.Environments.SESearch Language.Fixpoint.Types.Sorts.Sort {- HasNoCafRefs, Strictness: m2, Unfolding: (Language.Fixpoint.Types.Environments.Alts @ Language.Fixpoint.Types.Sorts.Sort (GHC.Types.[] @ Language.Fixpoint.Types.Names.Symbol)) -} 60fd72fe46a24e04724e57360deb7c57 checkSortFull :: Language.Fixpoint.SortCheck.Checkable a => Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Refinements.SortedReft -> Language.Fixpoint.Types.Sorts.Sort -> a -> GHC.Base.Maybe Text.PrettyPrint.HughesPJ.Doc {- Arity: 4, Strictness: , Unfolding: (\ @ a ($dCheckable :: Language.Fixpoint.SortCheck.Checkable a) (γ :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Refinements.SortedReft) (s7 :: Language.Fixpoint.Types.Sorts.Sort) (t :: a) -> case (Language.Fixpoint.SortCheck.checkSort @ a $dCheckable (Language.Fixpoint.Types.Environments.$fFunctorSEnv2 @ Language.Fixpoint.Types.Refinements.SortedReft @ Language.Fixpoint.Types.Sorts.Sort Language.Fixpoint.Types.Refinements.sr_sort γ) `cast` (Sym (Language.Fixpoint.Types.Environments.N:SEnv[0]) _N) s7 t) `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] <()>_R) Language.Fixpoint.SortCheck.initCM of wild { (,) ds1 y -> case y of wild1 { Data.Either.Left e -> GHC.Base.Just @ Text.PrettyPrint.HughesPJ.Doc (Text.PrettyPrint.Annotated.HughesPJ.text @ () e) `cast` (Sym (Text.PrettyPrint.HughesPJ.N:Doc[0])) Data.Either.Right ds -> GHC.Base.Nothing @ Text.PrettyPrint.HughesPJ.Doc } }) -} 2c861c35f0bbb6991b683598c98f9cde checkSorted :: Language.Fixpoint.SortCheck.Checkable a => Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> a -> GHC.Base.Maybe Text.PrettyPrint.HughesPJ.Doc {- Arity: 3, HasNoCafRefs, Strictness: , Unfolding: (\ @ a ($dCheckable :: Language.Fixpoint.SortCheck.Checkable a) (γ :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (t :: a) -> case (Language.Fixpoint.SortCheck.check @ a $dCheckable γ t) `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] <()>_R) Language.Fixpoint.SortCheck.initCM of wild { (,) ds1 y -> case y of wild1 { Data.Either.Left e -> GHC.Base.Just @ Text.PrettyPrint.HughesPJ.Doc (Text.PrettyPrint.Annotated.HughesPJ.text @ () e) `cast` (Sym (Text.PrettyPrint.HughesPJ.N:Doc[0])) Data.Either.Right ds -> GHC.Base.Nothing @ Text.PrettyPrint.HughesPJ.Doc } }) -} cf3c76547fc25d48149fcb19b60c0487 checkSortedReft :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Refinements.SortedReft -> [Language.Fixpoint.Types.Names.Symbol] -> Language.Fixpoint.Types.Refinements.SortedReft -> GHC.Base.Maybe Text.PrettyPrint.HughesPJ.Doc {- Arity: 3, Strictness: , Inline: INLINE[0], Unfolding: InlineRule (3, True, False) (\ (w :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Refinements.SortedReft) (w1 :: [Language.Fixpoint.Types.Names.Symbol]) (w2 :: Language.Fixpoint.Types.Refinements.SortedReft) -> case w2 of ww { Language.Fixpoint.Types.Refinements.RR ww1 ww2 -> case ww2 `cast` (Language.Fixpoint.Types.Refinements.N:Reft[0]) of ww3 { (,) ww4 ww5 -> Language.Fixpoint.SortCheck.$wcheckSortedReft w w1 ww4 ww5 } }) -} 8c8ea209516b5c7ca24b73559367f407 checkSortedReft1 :: Text.PrettyPrint.Annotated.HughesPJ.Doc () {- HasNoCafRefs, Unfolding: (Text.PrettyPrint.Annotated.HughesPJ.Beside @ () Text.PrettyPrint.HughesPJ.brackets4 GHC.Types.False Text.PrettyPrint.HughesPJ.brackets1) -} 1e03f6a606d5362ba5c37363f65f2a79 checkSortedReft2 :: Text.PrettyPrint.HughesPJ.Doc {- Unfolding: (case GHC.List.$wlenAcc @ GHC.Types.Char Language.Fixpoint.SortCheck.checkSortedReft_s 0# of ww2 { DEFAULT -> (Text.PrettyPrint.Annotated.HughesPJ.TextBeside @ () (Text.PrettyPrint.Annotated.HughesPJ.NoAnnot @ () Language.Fixpoint.SortCheck.checkSortedReft3 ww2) (Text.PrettyPrint.Annotated.HughesPJ.Empty @ ())) `cast` (Sym (Text.PrettyPrint.HughesPJ.N:Doc[0])) }) -} 2e0b2991d7f276cb5e98ea61110da1ec checkSortedReft3 :: Text.PrettyPrint.Annotated.HughesPJ.TextDetails {- Unfolding: (Text.PrettyPrint.Annotated.HughesPJ.Str Language.Fixpoint.SortCheck.checkSortedReft_s) -} 8662aa81a26680f0077373202daf624e checkSortedReftFull :: Language.Fixpoint.SortCheck.Checkable a => Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Refinements.SortedReft -> a -> GHC.Base.Maybe Text.PrettyPrint.HughesPJ.Doc {- Arity: 3, Strictness: , Unfolding: (\ @ a ($dCheckable :: Language.Fixpoint.SortCheck.Checkable a) (γ :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Refinements.SortedReft) (t :: a) -> case (Language.Fixpoint.SortCheck.check @ a $dCheckable (Language.Fixpoint.Types.Environments.$fFunctorSEnv2 @ Language.Fixpoint.Types.Refinements.SortedReft @ Language.Fixpoint.Types.Sorts.Sort Language.Fixpoint.Types.Refinements.sr_sort γ) `cast` (Sym (Language.Fixpoint.Types.Environments.N:SEnv[0]) _N) t) `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] <()>_R) Language.Fixpoint.SortCheck.initCM of wild { (,) ds1 y -> case y of wild1 { Data.Either.Left e -> GHC.Base.Just @ Text.PrettyPrint.HughesPJ.Doc (Text.PrettyPrint.Annotated.HughesPJ.text @ () e) `cast` (Sym (Text.PrettyPrint.HughesPJ.N:Doc[0])) Data.Either.Right ds -> GHC.Base.Nothing @ Text.PrettyPrint.HughesPJ.Doc } }) -} e5fc023447db616ba88c57a01ff8e8b1 checkSortedReft_go1 :: [Language.Fixpoint.Types.Names.Symbol] -> [Text.PrettyPrint.Annotated.HughesPJ.Doc ()] {- Arity: 1, Strictness: -} 395914985d565784d362c2922754a452 checkSortedReft_s :: GHC.Base.String {- Unfolding: (GHC.CString.unpackCString# "Unknown symbols:"#) -} 6fab7fc915739de57a5063a30b1f6ddd exprSort :: GHC.Base.String -> Language.Fixpoint.Types.Refinements.Expr -> Language.Fixpoint.Types.Sorts.Sort {- Arity: 2, Strictness: , Unfolding: (\ (msg :: GHC.Base.String) (eta :: Language.Fixpoint.Types.Refinements.Expr) -> letrec { go5 :: Language.Fixpoint.Types.Refinements.Expr -> Language.Fixpoint.Types.Sorts.Sort {- Arity: 1, Strictness: -} = \ (ds :: Language.Fixpoint.Types.Refinements.Expr) -> case ds of wild { DEFAULT -> Language.Fixpoint.SortCheck.exprSort2 wild msg Language.Fixpoint.Types.Refinements.EApp e ex -> case Language.Fixpoint.SortCheck.genSort (go5 e) of wild1 { DEFAULT -> Language.Fixpoint.SortCheck.exprSort2 wild msg Language.Fixpoint.Types.Sorts.FFunc sx s7 -> case Language.Fixpoint.SortCheck.$wunify1 Language.Fixpoint.SortCheck.exprSort1 (GHC.Base.Nothing @ Language.Fixpoint.Types.Refinements.Expr) (Data.HashMap.Base.Empty @ GHC.Types.Int @ Language.Fixpoint.Types.Sorts.Sort) `cast` (Sym (Language.Fixpoint.SortCheck.N:TVSubst[0])) (go5 ex) sx Language.Fixpoint.SortCheck.initCM of ww { (#,#) ww1 ww2 -> case ww2 of wild2 { Data.Either.Left ds1 -> s7 Data.Either.Right su -> Language.Fixpoint.SortCheck.apply su s7 } } } Language.Fixpoint.Types.Refinements.ECst ds1 s7 -> s7 Language.Fixpoint.Types.Refinements.ELam ds1 e -> case ds1 of wild1 { (,) ds2 sx -> case sx of dt { DEFAULT -> case go5 e of dt1 { DEFAULT -> Language.Fixpoint.Types.Sorts.FFunc dt dt1 } } } } } in go5 eta) -} 93dc0543977ef30c755ebe538e4abc58 exprSort1 :: Language.Fixpoint.Types.Names.Symbol -> Language.Fixpoint.Types.Environments.SESearch Language.Fixpoint.Types.Sorts.Sort {- Arity: 1, Strictness: x, Unfolding: InlineRule (1, True, True) (\ (ds :: Language.Fixpoint.Types.Names.Symbol) -> Language.Fixpoint.SortCheck.exprSort_x) -} 12cd42fb54d3be424f91a97ffa8c0d7b exprSort2 :: Language.Fixpoint.Types.Refinements.Expr -> GHC.Base.String -> Language.Fixpoint.Types.Sorts.Sort {- Arity: 2, Strictness: x -} c0d1c28b4fed7d59c9a21d9f4eb59137 exprSort_x :: Language.Fixpoint.Types.Environments.SESearch Language.Fixpoint.Types.Sorts.Sort {- Strictness: x -} c361b6e1924d87af15f9551751faff1e genSort :: Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Sorts.Sort {- Arity: 1, HasNoCafRefs, Strictness: -} 48ae78bc06c81764efbd47663e00bf74 initCM :: Language.Fixpoint.SortCheck.StateM {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 42#) -} 03c687a9894c51ee92560ef2a34f9b13 isMono :: Language.Fixpoint.Types.Sorts.Sort -> GHC.Types.Bool {- Arity: 1, HasNoCafRefs, Strictness: , Unfolding: InlineRule (1, True, False) (\ (x :: Language.Fixpoint.Types.Sorts.Sort) -> case Language.Fixpoint.Types.Visitor.foldSort @ [GHC.Types.Int] Language.Fixpoint.SortCheck.isMono_fv (GHC.Types.[] @ GHC.Types.Int) x of wild { [] -> GHC.Types.True : ds1 ds2 -> GHC.Types.False }) -} 9bb85920480101023c1b64383206a671 isMono_fv :: [GHC.Types.Int] -> Language.Fixpoint.Types.Sorts.Sort -> [GHC.Types.Int] {- Arity: 2, HasNoCafRefs, Strictness: , Unfolding: InlineRule (2, True, False) (\ (vs :: [GHC.Types.Int]) (ds :: Language.Fixpoint.Types.Sorts.Sort) -> case ds of wild { DEFAULT -> vs Language.Fixpoint.Types.Sorts.FVar dt -> GHC.Types.: @ GHC.Types.Int (GHC.Types.I# dt) vs }) -} 482a17e94102fd8c092f2f67bf637ee6 pruneUnsortedReft :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Refinements.SortedReft -> Language.Fixpoint.Types.Refinements.SortedReft {- Arity: 2, Strictness: m, Inline: INLINE[0], Unfolding: InlineRule (2, True, False) (\ (w :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (w1 :: Language.Fixpoint.Types.Refinements.SortedReft) -> case w1 of ww { Language.Fixpoint.Types.Refinements.RR ww1 ww2 -> case ww2 `cast` (Language.Fixpoint.Types.Refinements.N:Reft[0]) of ww3 { (,) ww4 ww5 -> case Language.Fixpoint.SortCheck.$wpruneUnsortedReft w ww1 ww4 ww5 of ww6 { (#,#) ww7 ww8 -> Language.Fixpoint.Types.Refinements.RR ww7 ww8 } } }) -} 804cbc0025f960516161e636216a2d27 pruneUnsortedReft1 :: [GHC.Types.Char] {- Unfolding: (GHC.CString.unpackCString# "Expressions %s should have bool sort, but has %s"#) -} 6c54b74f8196802cd5fc2038f8c0e5fa runCM :: Language.Fixpoint.SortCheck.CheckM a -> Language.Fixpoint.SortCheck.StateM -> (Language.Fixpoint.SortCheck.StateM, Data.Either.Either GHC.Base.String a) RecSel Left Language.Fixpoint.SortCheck.CheckM {- Arity: 1, HasNoCafRefs, Strictness: , Unfolding: InlineRule (0, True, True) Language.Fixpoint.SortCheck.runCM1 `cast` (forall (a :: <*>_N). _R ->_R Language.Fixpoint.SortCheck.N:CheckM[0] _R) -} 7b7670ec573fa1278d4372f3f1b919c5 runCM1 :: Language.Fixpoint.SortCheck.CheckM a -> Language.Fixpoint.SortCheck.CheckM a {- Arity: 1, HasNoCafRefs, Strictness: , Unfolding: InlineRule (1, True, True) (\ @ a (ds :: Language.Fixpoint.SortCheck.CheckM a) -> ds) -} 2f69b84f7b235651018c22296a15754f sortExpr :: Language.Fixpoint.Types.Spans.SrcSpan -> Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Refinements.Expr -> Language.Fixpoint.Types.Sorts.Sort {- Arity: 3, Strictness: , Unfolding: (\ (l :: Language.Fixpoint.Types.Spans.SrcSpan) (γ :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort) (e :: Language.Fixpoint.Types.Refinements.Expr) -> case (Language.Fixpoint.SortCheck.checkExpr (\ (ds :: Language.Fixpoint.Types.Names.Symbol) -> Language.Fixpoint.Types.Environments.lookupSEnvWithDistance @ Language.Fixpoint.Types.Sorts.Sort ds γ) e) `cast` (Language.Fixpoint.SortCheck.N:CheckM[0] _R) Language.Fixpoint.SortCheck.initCM of wild { (,) ds1 y -> case y of wild1 { Data.Either.Left msg -> Language.Fixpoint.SortCheck.sortExpr1 γ msg e l Data.Either.Right s7 -> s7 } }) -} 851ef253823fc173aa759de35cdfaf1b sortExpr1 :: Language.Fixpoint.Types.Environments.SEnv Language.Fixpoint.Types.Sorts.Sort -> GHC.Base.String -> Language.Fixpoint.Types.Refinements.Expr -> Language.Fixpoint.Types.Spans.SrcSpan -> Language.Fixpoint.Types.Sorts.Sort {- Arity: 4, Strictness: x -} d39aa6e9a580e3382084651a6ab030a7 sortMap :: (Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Sorts.Sort) -> Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Sorts.Sort {- Arity: 2, HasNoCafRefs, Strictness: -} 2a7bf9de66bc674cde448bc706c6f4a2 unifyFast :: GHC.Types.Bool -> Language.Fixpoint.SortCheck.Env -> Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Sorts.Sort -> GHC.Base.Maybe Language.Fixpoint.SortCheck.TVSubst {- Arity: 4, Strictness: , Unfolding: (\ (ds :: GHC.Types.Bool) (f :: Language.Fixpoint.SortCheck.Env) (eta :: Language.Fixpoint.Types.Sorts.Sort) (eta1 :: Language.Fixpoint.Types.Sorts.Sort) -> case ds of wild { GHC.Types.False -> case Language.Fixpoint.SortCheck.$wunify1 f (GHC.Base.Nothing @ Language.Fixpoint.Types.Refinements.Expr) (Data.HashMap.Base.Empty @ GHC.Types.Int @ Language.Fixpoint.Types.Sorts.Sort) `cast` (Sym (Language.Fixpoint.SortCheck.N:TVSubst[0])) eta eta1 Language.Fixpoint.SortCheck.initCM of ww { (#,#) ww1 ww2 -> case ww2 of wild1 { Data.Either.Left ds1 -> GHC.Base.Nothing @ Language.Fixpoint.SortCheck.TVSubst Data.Either.Right su -> GHC.Base.Just @ Language.Fixpoint.SortCheck.TVSubst su } } GHC.Types.True -> case Language.Fixpoint.Types.Sorts.$fEqSort_$c== eta eta1 of wild1 { GHC.Types.False -> GHC.Base.Nothing @ Language.Fixpoint.SortCheck.TVSubst GHC.Types.True -> Language.Fixpoint.SortCheck.unifyFast1 } }) -} 74d026d417f1869bdd81fa78a74fda6a unifyFast1 :: GHC.Base.Maybe Language.Fixpoint.SortCheck.TVSubst {- HasNoCafRefs, Strictness: m2, Unfolding: (GHC.Base.Just @ Language.Fixpoint.SortCheck.TVSubst (Data.HashMap.Base.Empty @ GHC.Types.Int @ Language.Fixpoint.Types.Sorts.Sort) `cast` (Sym (Language.Fixpoint.SortCheck.N:TVSubst[0]))) -} d215507506898f04053ed43a9d782896 unifySorts :: Language.Fixpoint.Types.Sorts.Sort -> Language.Fixpoint.Types.Sorts.Sort -> GHC.Base.Maybe Language.Fixpoint.SortCheck.TVSubst {- Arity: 2, Strictness: , Unfolding: (\ (eta :: Language.Fixpoint.Types.Sorts.Sort) (eta1 :: Language.Fixpoint.Types.Sorts.Sort) -> case Language.Fixpoint.SortCheck.$wunify1 Language.Fixpoint.SortCheck.exprSort1 (GHC.Base.Nothing @ Language.Fixpoint.Types.Refinements.Expr) (Data.HashMap.Base.Empty @ GHC.Types.Int @ Language.Fixpoint.Types.Sorts.Sort) `cast` (Sym (Language.Fixpoint.SortCheck.N:TVSubst[0])) eta eta1 Language.Fixpoint.SortCheck.initCM of ww { (#,#) ww1 ww2 -> case ww2 of wild { Data.Either.Left ds -> GHC.Base.Nothing @ Language.Fixpoint.SortCheck.TVSubst Data.Either.Right su -> GHC.Base.Just @ Language.Fixpoint.SortCheck.TVSubst su } }) -} instance GHC.Base.Applicative [Language.Fixpoint.SortCheck.CheckM] = Language.Fixpoint.SortCheck.$fApplicativeCheckM instance Language.Fixpoint.SortCheck.Checkable [Language.Fixpoint.Types.Refinements.Expr] = Language.Fixpoint.SortCheck.$fCheckableExpr instance Language.Fixpoint.SortCheck.Checkable [Language.Fixpoint.Types.Refinements.SortedReft] = Language.Fixpoint.SortCheck.$fCheckableSortedReft instance Language.Fixpoint.SortCheck.Elaborate [(,)] = Language.Fixpoint.SortCheck.$fElaborate(,) instance Language.Fixpoint.SortCheck.Elaborate [Language.Fixpoint.Types.Refinements.Expr] = Language.Fixpoint.SortCheck.$fElaborateExpr instance Language.Fixpoint.SortCheck.Elaborate [Language.Fixpoint.Types.Constraints.GInfo] = Language.Fixpoint.SortCheck.$fElaborateGInfo instance Language.Fixpoint.SortCheck.Elaborate [Language.Fixpoint.Types.Constraints.SimpC] = Language.Fixpoint.SortCheck.$fElaborateSimpC instance Language.Fixpoint.SortCheck.Elaborate [Language.Fixpoint.Types.Environments.SizedEnv] = Language.Fixpoint.SortCheck.$fElaborateSizedEnv instance Language.Fixpoint.SortCheck.Elaborate [Language.Fixpoint.Types.Sorts.Sort] = Language.Fixpoint.SortCheck.$fElaborateSort instance Language.Fixpoint.SortCheck.Elaborate [Language.Fixpoint.Types.Refinements.SortedReft] = Language.Fixpoint.SortCheck.$fElaborateSortedReft instance Language.Fixpoint.SortCheck.Elaborate [Language.Fixpoint.Types.Triggers.Triggered] = Language.Fixpoint.SortCheck.$fElaborateTriggered instance Language.Fixpoint.SortCheck.Elaborate [[]] = Language.Fixpoint.SortCheck.$fElaborate[] instance Language.Fixpoint.SortCheck.Freshable [GHC.Types.Int] = Language.Fixpoint.SortCheck.$fFreshableInt instance Language.Fixpoint.SortCheck.Freshable [[]] = Language.Fixpoint.SortCheck.$fFreshable[] instance GHC.Base.Functor [Language.Fixpoint.SortCheck.CheckM] = Language.Fixpoint.SortCheck.$fFunctorCheckM instance GHC.Base.Monad [Language.Fixpoint.SortCheck.CheckM] = Language.Fixpoint.SortCheck.$fMonadCheckM instance Control.Monad.Error.Class.MonadError [[], Language.Fixpoint.SortCheck.CheckM] = Language.Fixpoint.SortCheck.$fMonadError[]CheckM instance GHC.Show.Show [Language.Fixpoint.SortCheck.TVSubst] = Language.Fixpoint.SortCheck.$fShowTVSubst vectorised variables: vectorised tycons: vectorised reused tycons: parallel variables: parallel tycons: trusted: none require own pkg trusted: False